5 ms·
I struggle with how to say "both Ruby and Rails are poor technology choices" without sounding ranty. I have seen nothing good come from the flexibility and non-
by stevebmark 8y ago
I struggle with how to say "both Ruby and Rails are poor technology choices" without sounding ranty. I have seen nothing good come from the flexibility and non-portable conventions of these tools. I have seen so much nicer web stack designs than Rails, with none of the problems. Maybe if you're building a Basecamp type site - slow / speed doesn't matter, limited views / minimal front end functionality, small surface area, trickle of users - maybe you won't notice the downsides.
- whalesalad 8y agoThis viewpoint is so far off from reality that I don’t even know how to respond. GitHub, Airbnb, Shopify, Indiegogo, Kickstarter, Urban Dictionary... the list goes on and on and on. Having the hardline opinion that Ruby or rails is slow is plain ol’ ignorance. You can build highly performant apps in Ruby and Rails, you just need to know what to optimize. The same applies to any other language or platform. Facebook is still humming along on PHP.
- deleted 8y ago[deleted]
- wonnage 8y agoPretty much no Rails app at these large companies can even do something as basic as concurrent network requests. This is an area Ruby the language is weak in, and it's extremely difficult to graft on something like concurrent-ruby to a large existing codebase that assumes all requests are sequential... Also, in the past the multithreading/concurrency story around ActiveRecord has been "it probably works, might leak connections", and you will probably deadlock your dev mode server as a side effect. Ruby is slow for humans too. Code intelligence/IDEs are hamstrung, thanks to the constant possibility of run-time monkeypatching. You basically are stuck with grep. It's fine if you have 30 engineers all familiar with Ruby and the codebase, not so great with 100s of engineers trying to figure where things are. Things get worse if your engineers embrace writing DSLs in Ruby and you now have to debug a mini language-within-a-language. The dirty secret at large companies is that the majority of the codebase sucks and is maintained by a legion of new grads who are doing their best to ship code before deadlines. Ruby is not the answer.
- joelbluminator 8y agoRuby has threads, when networking the GIL doesn't matter since the threads will context switch. For a company like Shopify paying for an extra 50 servers is like hiring one developer, I don't think it has much significance to them.
- anotheramala 8y agoJRuby can solve that problem. Threading in Ruby. Some companies do use it: https://github.com/jruby/jruby/wiki/SuccessStories https://github.com/jruby/jruby/wiki/SuccessStories
- ryanbrunner 8y ago> The dirty secret at large companies is that the majority of the codebase sucks and is maintained by a legion of new grads who are doing their best to ship code before deadlines. Probably fair, but certainly not unique to large companies using Rails.
- eropple 8y ago> Having the hardline opinion that Ruby or rails is slow is plain ol’ ignorance. I like Ruby quite a lot. Rails can pound sand, but Ruby is one of the better inventions in the software space. But it is and always is slow on every axis you could want save "developer productivity" and arguing against it is arguing against the tide. It is not "ignorance" to assert this; it is data. It very well may be fast enough for your use case, and I don't know many people who would say it's not, but it is not and never fast. (JRuby might improve this, but since few people use it, MRI is more specifically under discussion.)
- sho 8y ago> I struggle with how to say "both Ruby and Rails are poor technology choices" without sounding ranty Probably because you offer no evidence whatsoever, a typical characteristic of rants? I could entertain an argument that Rails is a poor technology choice. It certainly makes it easy to shoot yourself in the foot without sufficient experience, despite that being a conscious tradeoff towards ease of learning. But Ruby? What, precisely, is wrong with Ruby?