6 ms·
I've learned and previously also professionally worked with: JavaScript, TypeScript, PHP, Clojure, ClojureScript. I really like the ergonomics of Ruby. Should
by askonomm 3y ago
I've learned and previously also professionally worked with: JavaScript, TypeScript, PHP, Clojure, ClojureScript.
I really like the ergonomics of Ruby. Should I learn it? How's the job market (decreasing|stable|increasing)? Is Ruby also good for non-web things?
- promiseofbeans 3y agoI've been seeing a lot of job postings mentioning rails recently
- caseyohara 3y agoRuby is absolutely worth learning. It's a nice combination of OO and functional programming, and I find it nice to both read and write. It's very expressive; I find it easier to model my ideas in Ruby than many other languages. The job market seems healthy and stable, but I'm not a reliable source on that. Outside of web development, Ruby is an excellent scripting language, that's perhaps where it excels best.
- uticus 3y agoAgreed, Ruby the language is fantastic for ease of use starting, then more complex concepts ready to go (functional programming, WASM, C interopt, etc) when you're ready to dive into them. IMO the jury is still out on its recent changes to make things faster and statically typed. With so many other options in the script-language space (Python and Javascript being biggest by market share) it's difficult to grab a bigger piece of the pie, even if the newer features would be 100% perfect with no downsides. As far as jobs, most will be tied to Ruby on Rails - the Rails framework of course being built on top of Ruby the language. And I'll mention Rails is also worth at least trying out, to see for yourself what it does and how it works. [edit: added reference to JavaScript]
- siliconwrath 3y agoThe rails community is working on building out a job listing site, worth checking out: https://jobs.rubyonrails.org/ https://jobs.rubyonrails.org/
- pelagicAustral 3y agoI was totally unaware of this. Thanks for sharing the link, time to go find a new job!
- itake 3y agoI've coded in rails for 7+ years. imho, its a dying language. Better to learn Python, b/c if you want to do anything with ML, you have to use Python.
- _hbm 3y agoPeople have been saying its dying for years, yet here we are. Your reasoning doesn't quite make sense, not everyone wants or needs to do ML - choose the right tool for the job.
- norman784 3y agoIt might be not dying but, for example, our company banned new apps to be build with Ruby and Javascript, instead new apps needs to be build with Go or Rust, existing apps will continue to be written in Ruby and no plans to migrate to other languages, but at some point I think it would be migrated and/or deprecated.
- nik736 3y agoHow did it work out for you? Are developers faster/slower/same as working with Ruby?
- itake 3y agoThe benefits to go or rust isn't hands-on-the-keyboard developer velocity. Servers in Golang or rust will run faster (lower cloud costs). It also has lower risk of bugs and side effects. Coding in go is slower than ruby, but debugging go code is 100x easier than debugging ruby or python code. Once companies hit a certain size, the zoom-meeting time or system design time is an order of magnitude greater than coding time.
- itake 3y agoSomething can be dying for years and not be dead. Other languages (python, golang, rust, ts) left ruby behind. Even big tech companies founded on rails have diversified their tech (Airbnb, Github, Stripe, etc.). Most companies will have an DS/ML team. "ruby" doesn't scale (in that you can't write efficient ruby code that can process data at the same level as python/c++ can without writing c-extensions to the underyling cpp libraries). checkout how ruby has fallen off a cliff on github: https://madnight.github.io/githut/#/pull_requests/2023/3 https://madnight.github.io/githut/#/pull_requests/2023/3
- dcchambers 3y agoRuby is a super nice scripting language. I much prefer it to python when I need something with a little more "ooomph" than bash. It's just...nice...to write in. Ruby performance has come a long way in the last decade as well. There's libraries for pretty much everything. My modern programming toolkit is basically golang + ruby + bash and I am never left wanting. I do find Crystal (https://crystal-lang.org/ https://crystal-lang.org/) really interesting and am hoping it has its own "ruby on rails" moment that helps the language reach a tipping point in popularity. All the beauty of ruby with all of the speed of Go (and then some, it often compares favorably to languages like rust in benchmarks).
- Alifatisk 3y agoI actually compile my Ruby scripts with Crystal when I want a portable binary!
- pelasaco 3y agoThe Crystal comment that we were missing > I actually compile my Ruby scripts with Crystal when I want a portable binary! Na, you probably don't do it, but you think you could do it. Until you really have to do it and then you see that Crystal isn't a drop-in replacement for ruby. Anyway.. if every single "Dude use Crystal" person commenting on HN would be actually using Crystal, what huge community we would have ;)
- Alifatisk 3y ago> Na, you probably don't do it, but you think you could do it. That's a weird response. I actually do it, there is no reason for me to lie. Keep in mind that I don't use any gems. That is why it works. Crystal is not an drop-in replacement because some features Ruby has does not work in Crystal, but you can just write it in another way that Crystal supports.
- vinceguidry 3y agoIf you're being serious, then you're sticking very intentionally to the very small subset of Ruby that compiles to Crystal and missing out, unnecessarily, on the very amazing features that both languages offer to no great advantage. I tried this very thing, and very quickly started looking for other options, landing on mruby. Compiled mruby is almost as fast as just writing bare C. I just compile an mruby interpreter and use that to run .rb files when I want speed. It's fast enough for me. Much, much better than trying to shoehorn Crystal into this role.
- cpursley 3y agoBased on your FP background, you might want look into Elixir. Ergonomics of Ruby, FP ideas from lisp and scalability/concurrency of Erlang.
- vidarh 3y agoThe job market for Ruby is doing just fine (though, I presume you mean Rails - not many of us work mostly on non-Rails Ruby stuff, though for me that's what I prefer), but generally getting too stuck into a specific language is not great for job advancement for most people. I'm not currently in a Ruby focused job, but my last one was, and I had several offers for Ruby jobs before I landed where I am now - in the end it came down to details of the offers. If you want to maximise your pay, Ruby is not where the highest paid jobs are right now - salaries are fine, but not the very top (the offers I turned down were within 10%-20% of the one I ended up taking; other factors weighed more). I use Ruby mostly for non-web things. Some things non-web I've used Ruby for: * Orchestrator for a hybrid cloud (1000+ vm's so not huge but also not trivial; spread across on-prem, colo, several managed providers and a few VMs) * Queuing system (think Sidekiq, but sadly not opensourced) * Financial modelling and analysis at a VC fund. Processing round data and doing simulations of different allocation strategies. * Lots of devops scripting * Distributed map tile rendering, and PDF generation of maps. * Personal projects: * My personal X11 tiling window manager (that I'm able to post means it's now somewhat stable ;) - Chrome does *not* like window manager quirks ) - this one was started a couple of weeks ago and is now my only window manager (though my requirements of a window manager are basic and specific; I replaced bspwm and used only a small portion of bspwm's features) * My personal text editor * My personal terminal (this uses pure-Ruby X11 bindings, and a pure-Ruby font-renderer) * File manager (very basic; replaced Caja for me, but only because I hardly do any file management via GUI - it's mostly a launcher) (only some of the lower level parts of these projects are open-source so far, mostly due to me being to lazy to tidy them up for release, but will get there eventually. Other than Chrome and a PDF viewer pretty much everything else "visible" I use day to day on my own machine is Ruby)
- vinceguidry 3y agoDid you try out using I3's scripting capabilities before setting out to reinvent that wheel? That's the route I'm current on right now, but we seem to be kindred spirits. Discovering IPC has mostly quelled my urge to reinvent wheels. Emacs can easily be communicated with and controlled from Ruby, and I'm still figuring out the right approach to interop with Firefox. I think eventually I'll just use a terminal from inside of Emacs.
- RangerScience 3y agoTotes should learn Ruby :) One of the most important things to learn in Ruby is a sense of "this should be easy" - if you're doing something, and it's hard, often times that's because there's a different approach that's not only easy, but once you're doing it that way you realize it was the Right Way All Along. Job market - At Rubyconf, the part of the literal job board looking for seniors was full, but the junior/mid were crickets. I think that's the case pretty much everywhere tho, so.