4 ms·
I've always had a vague interest in learning a bit of ruby based on reputation. But my (equally vague) impression is that it's past it's peak and on the downslo
by ineedasername 4y ago
I've always had a vague interest in learning a bit of ruby based on reputation. But my (equally vague) impression is that it's past it's peak and on the downslope of popularity. Is this accurate? Is it still worthwhile to learn, or have other languages mostly supplanted it?
- bryanrasmussen 4y agoGiven the syntactical similarities maybe learn Elixir?
- klodolph 4y agoWhat value are you interested in getting from it? Rails is still a fantastic way to build a web application. Better than most of the Node.js server frameworks I’ve seen. Plenty of lessons to be had there. Ruby (and JavaScript) is also where we learned about the pitfalls of monkey patching. Or at least, the most recent place we learned about the pitfalls of monkey patching. Ruby is mature, like Python, Perl, and Java. You can find very reliable, well-tested libraries to perform almost any task you want in Ruby. These libraries have been through iterations, they’ve been redesigned and replaced with newer libraries over the years, and those newer libraries have matured, evolved, and become the standard way of doing things. In some ways it’s a breath of fresh air compared to, say, Rust. I’m not trying to pick on Rust here, but it’s just the nature of a new language that its libraries are not as mature or well-thought-out as the libraries for older languages. The library authors for Ruby libraries have time on their side, and it’s interesting to see Rust libraries go through the evolution process all over again. History repeats itself. Library authors make the same mistakes twenty years later, or make completely new mistakes.
- ineedasername 4y agoThe value is more hobby-ish, I like learning languages with different syntactic structures, it builds out the types of abstractions that I can hold in my head. But I also like what I spend time on in this way to potentially have some practical utility if I ever needed to ramp up my level of knowledge quickly. But if it's libraries are matured as you say then I suppose I could easily learn a bit the next time I have to write a small utility or one-off project. It has a reputation for data processing so I could probably port a small python project to it to dip my toes in a bit.
- giraffe_lady 4y agoFantastic language for like, personal use random scripting, exploratory work, glue type stuff. It has a large and consistent standard library and third party packages for most things. The community generally values testing, good documentation, and easy-to-pick up APIs. It's probably not going to be like career-defining or anything at this point. But if the other languages you know are strongly optimized for specific use cases and you're looking for a broadly useful language for other things, it's as good as any and better than most at that. Also the joke that "if you speak english and know any other programming language you know ruby" is like, half true. It's a big language with a lot of nuance but the basics are easy to pick up.
- lmm 4y agoIt's definitely not hyped any more. Time will tell whether it's a stable plateau or a decline. If you're looking for a language to boost your CV there are definitely better choices at the moment. If you don't already know a dynamic/scripting language then it's definitely worth knowing one. But if you already know Python, Perl, or even TCL or JavaScript, I would prioritise learning something more radically different that's going to expand your skillbase more.
- cardanome 4y agoRails is still an awesome and mature choice for web development. That it is past the hype cycle is actually a strength not a weakness. That said, now that PHP-based frameworks have caught up on Rails and PHP is heading in a pretty awesome direction, I don't have personally any use for Ruby at the moment. Using PHP I get a much easier deployment, better performance and probably the best optional typing story of any mainstream language. Sure deploying Rails apps isn't that bad either, especially when using Docker-based setups and Ruby is a beautifully designed language that is worth learning for fun but for me the advantages are simply not as big as to justify the little bit of extra resistance. Probably would rather go for Elixir or something if I am already going for a more niche language. Though were might be stuff outside of Rails that might of interest.
- ab-dm 4y agoI love ruby, built my first business on Ruby/Rails as a Monolith and it purrs along all day, every day. Easy to use and maintain, but I'll never do it again. Hiring is just too hard. I'm currently building my next product on Typescript. It's much easier to find talent that knows JS/TS, and having the same language across the entire stack cannot be overstated. The lack of types is also something that I just don't want to deal with anymore. The JS ecosystem is no where near as stable or mature as ruby's, but it still has everything I need and I have enough experience to avoid the bad parts. I love ruby as a developer, but not as a business/product owner.
- stevebmark 4y agoThe main benefits of Ruby are its "clean" syntax, and it doesn't have function colors. It's a poorly designed language otherwise. If you've gotten used to good features of other languages, such as any sort of static analysis, you will find Ruby unpleasant to work with. It's also a dangerous language to choose for real world projects because of the community love of metaprogramming. This article shows off one of the weirder design flaws: Procs. There are blocks, procs, lambdas, Bindings, Methods, and UnboundMethods, most of which are classes (wtf?).
- LAC-Tech 4y agoI think the peak hype of ruby was just the peak hype of rails. I don't ever think it was that popular outside of it. That having been said - it's still the most practical scripting language IMHO. Expressive, nice sized std library, like 10x faster implementations that it used to have an its heyday. And rake is an amazing tool for doing stuff you might use make for, but actually works in the modern world (filenames can have spaces in them).