7 ms·
Agreed. It's one thing if the Cool Tech actually gives you a competitive advantage by solving the problem better, easier, with lower costs, faster, more persona
by brightball 10y ago
Agreed. It's one thing if the Cool Tech actually gives you a competitive advantage by solving the problem better, easier, with lower costs, faster, more personalized, etc.
Outside of that...it's all about the business. That's why so many successful businesses are built with Ruby and not "benchmark winner of the week" because Ruby tends to deliver on almost all of the business cases around solving problems and growth.
If you're a larger business and planning to deploy at scale to an existing customer base, the business problems tend to change more towards performance and Right Tool for the Job.
- toyg 10y agoThere was a time when Ruby was "the cool exotic and unproductive technology". A lot of wheels had to be reinvented (and new ones added) before it became what it is today, there is nothing special about it. All mature technology will come with a known set of tools and processes to tackle almost any problem very quickly, as long as you're familiar enough with the stack.
- brightball 10y ago> there is nothing special about it. One thing that's especially productive about it that helped to grow the 3rd party ecosystem is that the options you have for dependency injection in Ruby due to monkey patching give you an experience much closer to Aspect Oriented Programming. It also makes it easier when you need to add functionality somewhere high up the inheritance chain without having to rebuild the entire chain around your new object base, or fork the library, use your fork as the dependency and make the change directly. In the world of object oriented web development, Ruby was close to a miracle in time-reduction in WORKING with an ecosystem.
- brianwawok 10y agoAt that same flexibility in monkey patching makes the codebase rubbish in a year when it's time to upgrade dependencies.
- afarrell 10y agoIt really depends on the interaction between the discipline of your team and the failure modes of the tool. A culture of code review which puts a high bar of justification and documentation-for-new-contributors on monkey patching can counteract this failure mode.
- brianwawok 10y agoDo you code review what each new library does? It doesn't have to be code you wrote to cause problems. And most people treat a library as a black box with inputs and outputs. Which works well in a sane language, but often not ruby.
- cocoa19 10y agoI remember when ruby was the hot tech a few years ago, frowned upon by conservative developers. I learnt ruby back then. I'm glad ruby is now recognized as a more mature ecosystem that does things well, even though it is one of the boring technologies now.
- ericd 10y agoIs Ruby/Rails faster now? I built a few simple sites on Rails 2.3 via Passenger, and my God, it was such a performance hog compared to every other web stack I'd ever used. Probably mostly a function of how heavyweight RoR was, but I never got deep enough to figure out what was so slow about it. It may also have been user error, but it seemed like others were bragging about getting it to levels of performance that would be frankly embarrassing on most stacks.
- brightball 10y agoIt is. Come a long way since Rails 2. There are still much faster options out there but it's nowhere near the beast that it used to be.
- ericd 10y agoGreat to hear, I might revisit it in a future project then - the experience was generally really nice, but the performance was really painful.
- brightball 10y agoDon't get me wrong, I'm a huge Elixir advocate largely because you get the performance and scaling perks of other languages with very close to the development perks of Ruby. I just get tired of hearing the "but Ruby is slow" drum beats when it's so consistently successful. Scaling web servers is easy. Scaling the database is hard.
- ericd 10y ago