Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

+1.

At a previous job, I spent hours rebuilding a ruby gem where someone had carelessly hard-coded "#!/usr/local/bin/ruby" into all of their executables.

Even if it looks like it works, don't do it! Stick to "#!/usr/bin/env ruby" for maximum compatibility, please.



Coming from a c and python perspective, I'm amazed that you even can specify which ruby to run it with. Either its a compiled binary, or you call the interpreter with the code object as an argument. What is the design impetus for mixing scripting and executable styles this way?


Shebangs (#!) have been around for quite a long time. It's actually really handy to be able to write a script that you can execute as a command. See https://en.wikipedia.org/wiki/Shebang_(Unix)


> Coming from a c and python perspective, I'm amazed that you even can specify which ruby to run it with.

Erm... you can do the exact same thing in Python, you know...


Was this a publicly available gem? Did you pass your feedback upstream?


It was an obsolete gem that our obsolete code still depended on. There's reasons I don't work for that company anymore :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: