I got an offer for a role that sounds perfect for me — the only problem I have is that the backend stack is Ruby on Rails. I’ve used java and python in my career, and I have never had the desire to learn ruby and have always been turned off by the idea for some reason. Curious if other people share the same sentiments as me about ruby or whether I’m making a big deal of it?
Ruby is the most straightforward and one of the most readable languages. Metaprogramming is quite fun. Ruby on Rails is a rapid development platform. Tons of libraries and developer support. I use Ruby for my interviews and you'll be surprised how much less code it is compared to Java. The drawbacks are - slow language, poorly optimized libraries, some magic that can be confusing and no real concurrency. Unfortunately Ruby also makes it way easier to write crap code ( especially by junior engineers) and create loose and unmaintainable patterns. Startups quickly tend to build their products with Ruby on Rails without proper maintainable clean code and frequently suffer from bugs it will throw later. There is no compilation meaning you will only see some bugs in "production" if you are not careful. I've learned elixir recently and it's an incredible language. No fucking states and classes. Incredibly powerful concurrency and fault tolerant Erlang VM will knock the shit out of Ruby and Java.
Is the performance faster than Java and C++?
Elixir is slower than Java, 50% slower. And it's even slower than c++. It's brilliance comes from being a pure functional language and having a highly concurrent model. It also has a syntax similar to Ruby so you get that development speed here too.
Ah yea — my concern isn’t with difficulty in language, it’s more about applicability / marketability for me. My preference is python over both ruby and java, but my perception is that java and python feel like more worthwhile skills than ruby.
Square uses Rails from what I've heard. Twitter used to be written in Rails, but they had scalability issues that would no longer be an issue today. CoverMyMeds and other start-ups love Rails for how impeccably fast you can throw shit together when you're proficient at it. I was a TA for a class on Rails in college.
I never want to learn Python because of indentation oriented blocks
I used to feel the same way! I have no idea when the fuck I got over that, but it really does seem like a terrible code smell, doesn't it? It's unfortunately the lingua franca for machine learning.
Ruby’s fine, give it a go, you’ll learn some new tricks. Not a big jump from Python really!
Ruby is so easy to learn. I never get caught up on the language since I know I'll always need to learn new over time