3 ms·
I used to think PHP was amazing and build tools were weird and unnecessary when I built things mostly in PHP. It's hard to see the point of many tools if you ar
by examancer 10y ago
I used to think PHP was amazing and build tools were weird and unnecessary when I built things mostly in PHP. It's hard to see the point of many tools if you aren't working with the all the time.
I think this is the product of people who got to know both Python and Ruby very well and found Python lacking here. There are lots of things Ruby developers were gifted from people who also know Python and found Ruby lacking. Python is generally something I force myself through so I'm not one of those people but so glad they exist.
BTW, Ruby has tools similar to virtualenv: chruby, rbenv, and rvm all do basically the same thing.
- mypalmike 10y agoMy experience has been quite the opposite wrt ruby and python. I spent 2 years with Ruby as my primary language, and the regularity in which I would end up with a subtly (or drastically) broken Ruby environment was astounding. With python, I've rarely if ever run into such problems.
- regularfry 10y agoThe problem in Ruby that the most frequently recommended tools are overcomplicated and break in horrible ways (but I repeat myself). You only need to set a couple of environment variables to define a working Ruby environment. I regularly have people ask me "do you use rvm or rbenv?" to be surprised when I say "neither, they're both horrible."
- INTPenis 10y agoI think the sore point is definitely build and packaging systems. Take zulip for example, they do use requirements but they go their own way in most other things. Managing an application is much easier if it uses standard build system. Setup.py, requirements.txt and so forth. Gitlab is an example of a very complex packaging for a ruby application, but it works! It's complex but solid. People are tugging in all kinds of different directions. My bad experiences with Ruby and node usually include seeing a loooong list of dependencies being installed and then at dependency #187 it suddenly stops for some reason like one rogue commit breaking compatibility with other packages. This is hell to someone who doesn't develop in the language regularly, it's a bad packaging system for users. To be clear, I'm not saying Python is better. I'm just identifying the issues I've had. The only reason Python is easier for me is because I've decided to use it more than the other languages. On the one hand you can build a complex but solid system like Gitlab has, on the other you can use more standardized systems to distribute your app that require more steps and are less automated. But they're well documented and established methods used for that language.