4 ms·
When Ruby was "hot", it was bringing a lot of new things to the table, things new developers take for granted now. If you start a new project in typescript, or
by tinco 6y ago
When Ruby was "hot", it was bringing a lot of new things to the table, things new developers take for granted now.
If you start a new project in typescript, or even C#, you'll get almost all of the things that made Ruby great in 2006.
When I introduce a new developer to Ruby, all I've got to argue in favour of it is that it's a beautifully designed and powerfully expressive language with a library ecosystem chock full of de-facto standardised gems. Relatively vague things, and any newbie can hit me back with its downsides: mediocre performance, no type definitions, and no evented I/O baked into the language.
I do dread the day that I can't start a new project in Ruby, simply because my hiring pool would turn into a mire of people dreading to work on it.
- reedjosh 6y ago> mediocre performance, no type definitions, and no evented I/O baked into the language Ruby 3 addresses each of those issues. https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/ https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-rele...
- tinco 6y agoDefinitely interesting new features, and Ruby is putting up a good fight. But if it was really a ruby feature, and not just something tacked on to stay relevant, that code example would've looked like this: require 'async' require 'net/http' require 'uri' ["ruby", "rails", "async"].each.parallel do |topic| Net::HTTP.get(URI "https://www.google.com/search?q=#{topic}") end I can't tell someone Ruby is beautiful, and then in the next sentence explain how you need to type Async twice just to get something to run asynchronously. Same of course for Ruby types, we're just not yet on the point for a truly new way of writing Ruby for Ruby 3. Maybe we'll finally get something like this could be in Ruby 4, but I fear the spectre of backwards incompatibility is going to stand in the way of something that's both truly Ruby and truly in the 2020's.
- d3nj4l 6y agoAmen. As a massive ruby fan, I couldn’t put a finger on why I disliked ruby async, but you’ve got it exactly right.
- jokethrowaway 6y agoI think the main problem with ruby is that JS has Google v8's performance behind it. Good luck matching that. Then, if we're talking rails (which is a significant part of the ruby projects out there), there is way too much magic going on. Magic you have to manually un-peel when something goes wrong.
- pjmlp 6y agoActually no. The way Ruby looks like, it was done in Smalltalk first, with performance, good graphical tooling and developer experience. If you mean Rails, Zope, AOLServer and Vignette did it first.
- tinco 6y agoI'm sorry, no. Everyone knows that before Rails there were only three ways to make a web application. You could do it in either PHP, in Java servlets or in ASP.Net. Ok and maybe ColdFusion MX.
- pjmlp 6y agoOnly for souls that only started to do web development after 2002, and never learned about what the world was about between 1994 and 2002. I can gladly educate you on how Rails did not improve on the stacks already available, rather bring the concepts to a younger generation that never learned about them in first place, starting with ActiveRecord.
- tinco 6y agoCould you go back and tell 17yr old me know that there's something better than ASP.Net out there? I was doing .Net trying to dodge the Microsoft stack running early versions of Mono and everything, anything to dodge PHP and Java. I'll gladly receive that education, I have a hard time believing any of those frameworks are as sophisticated today as Rails 2.0 was back in the day.
- pjmlp 6y agoYou didn't look hard enough, companies like https://www.altitude.com https://www.altitude.com and https://www.outsystems.com https://www.outsystems.com were built out of my and others experience with those frameworks. I could tell how they looked like from startup rooms in little offices spaces in Lisbon back in the early days of .com wave in late 90's, how AOLServer influenced the creation of Intervento's Safelayer framework, or how it got us to be approached by MSFT Portugal for adapting the same ideas to then still alpha version of .NET, however I am the right person to fully tell the story, better let that to the key persons, in case they feel like jumping in. In any case, here is some education material for yourself, https://zope.readthedocs.io/en/latest/zopebook/index.html https://zope.readthedocs.io/en/latest/zopebook/index.html https://docs.huihoo.com/aolserver/intro/features.html https://docs.huihoo.com/aolserver/intro/features.html https://www.linuxjournal.com/article/6164 https://www.linuxjournal.com/article/6164 https://github.com/aolserver/aolserver https://github.com/aolserver/aolserver