5 ms·
Ruby had a huge hype, then its growth slowed down and now it's falling behind quickly. Yeah it's big, but other frameworks that chose a different path w.r.t. m
by emteycz 5y ago
Ruby had a huge hype, then its growth slowed down and now it's falling behind quickly. Yeah it's big, but other frameworks that chose a different path w.r.t. metaprogramming seem to be the more popular (and growing) choice today.
- the_gastropod 5y agoWhile that may be true, I'm not sure that's evidence that DSL's are the reason. I would argue the explanation is: JavaScript. I think many people are compelled by the idea that you can learn one language, and handle both back and front-end development. As the language has improved over the past ~10 years, this angle has only become more compelling, and has eaten into the popularity of other "traditional" web frameworks like Django, Rails, Spring, etc.
- emteycz 5y agoI myself am one of these people. But even if Ruby worked anywhere and I could share all my code, I would still prefer TypeScript because of its support for typed JSX and excellent typing system overall. The IDE can help me in most cases, while it stays silent a lot with Ruby. I just don't see what more Ruby offers - and I'm saying that as someone who really likes OOP and really wanted to like Ruby.
- the_gastropod 5y agoI think JavaScript benefits from typing a lot more than Ruby does. Ruby is at least strongly typed, so doing something like `[] + {}` or `4 + {foo: "bar"}` will raise an exception instead of return you a seemingly-arbitrary value. As far as what Ruby offers over JavaScript? It's a bit personal preference, but I prefer Ruby for several reasons: - More stable ecosystem. There are more canonical "best" tools for the job. There's one dominant web framework, one dominant background job processor, one dominant task runner, debugger, testing framework, etc. - More robust standard library. Enumerable rocks. And rolls. - Better fits "OO" definitions—everything is an object in Ruby. It supports public/private/protected instance methods/variables.
- lazyjeff 5y agoI was about to say as well, JavaScript, SQL, were both niche DSLs that are now mainstream enough that people prep them for general software development interviews. JavaScript is now a general language, but maybe the most popular DSLs break out of that once they've gained a certain mindshare, at which point they're no longer a DSL.
- jhgb 5y agoThat's a category error. Ruby is not a framework.
- emteycz 5y agoDoesn't matter, almost nobody uses Ruby without Rails. And my statement holds true for any Ruby framework.
- jhgb 5y ago> my statement holds true for any Ruby framework Are you sure all Ruby frameworks use the same "path w.r.t. metaprogramming" as Rails? It's been a while since I looked at them but I recall many priding themselves in the difference back then.
- emteycz 5y agoRuby programmers still use the features, even if their framework doesn't
- jhgb 5y agoAnd you're saying that that was the reason? I'm just trying to divine the relevance of the "other frameworks that chose a different path w.r.t. metaprogramming seem to be the more popular (and growing) choice today" claim.
- emteycz 5y agoSorry, meant languages+frameworks, not just frameworks there. I was thinking of TS+React or C#+ASP.NET in that particular case.
- de_keyboard 5y agoIt's hard to complete with JavaScript on client and server. How's the Ruby to JS story these days?