Learning Ruby on Rails in 2020

Learning Ruby on Rails in 2020
0

Hi everyone!

I want to ask what you think about learning Rails in 2020. I am aware of the limitations and the age of the frame but somehow convinced myself that it is the easiest way to implement working MVPs and ideas.

I’d like to hear your general opinions about Ruby on Rails and recommendations for up to date learning materials. There are video courses on Udemy for Rails v5.0, is there a noticeable difference between v5.0 or v6.0.

Finally, the ideas in my mind are mostly map-based platforms, how convenient is Rails to work with spatial data? Considering that Airbnb uses Rails, it seems ok to me. Any insights?

Thank you!
Bests :v: :v: :v:

This is not incorrect, nothing really matches it in terms of speed of development (in many respects, for many use cases). It works very well, and is extremely solid.

It shouldn’t really be any more or less convenient than most other things: Rails lets you build a web application, it would be up to you to plug a data source in.

About where to learn, I know that the Odin Project teaches Ruby on Rails

Thanks, I didn’t know that :+1:

Thanks for the answer, still do you think it’s worth to learn in 2020? And my question related to spacial-data was more about community packages, gems etc.

Rails can be worth learning as a lot of companies still use it, but I’m also seeing lots of companies phasing it out as well and jumping to another language - the most common ones I’ve seen are Golang and Elixir. If you want to future-proof yourself and are interested in Rails, I’d suggest learning Elixir and Phoenix (which is an Elixir framework) since Elixir shares a lot with Ruby.

1 Like

This is not strictly speaking true (full disclosure: was working as an Elixir developer until last year). Elixir/Erlang has quite specialised uses, because it has highly unique characteristics. It does have an excellent web framework, but it simply isn’t as easy to work with as Rails for a number of reasons (smaller community, fewer packages, the extremely specific way that Erlang works, deployments). It looks like Ruby, but how it works is drastically different (which makes some things a lot easier, but other things much harder – Erlang is a compiled language with no mutable state)

Go is something I currently use (we use Go for all our backend services, and I’m busy getting better at writing it). Its sweet spot is small, high performance services – we use it for Lambdas. It’s a good language; it’s very simple, and building things like tooling in it is really quite pleasant. I wouldn’t really say it’s good at what Rails is good at though. It was designed to (and has failed to) replace C/C++ at Google, so that kinda indicates where it sits – it’s designed for lower-level stuff than RoR

This isn’t to say either of these things aren’t good things (personally, Elixir the best language I’ve ever worked with), but Elixir in particular isn’t something that is heavily used. It had a spike of popularity over the last few years, but that’s settled (as has the language, it’s basically feature complete). It will probably stay at that low level, quietly powering things that require what it provides (networks of IoT stuff for example), as there is no killer app. It has some exceptional characteristics, but most people simply don’t need them. Go is relatively heavily used because it has a killer app driving adoption (Kubernetes), although usage is small compared to the more popular languages. Go is primarily a systems language, Elixir is for [complex systems of] things that not go down no matter what, Ruby is a high-level general purpose language

Ruby’s killer app is RoR, and yes, less people are using it, and yes Ruby is becoming less relevant, but it’s still excellent.

If you want to build something quickly, I would say yes. Django is another option, and the vast wealth of Python libraries available may be useful to you for what you want. As I say though, spatial data is possibly more dependent on things that aren’t specific to the web framework – for example the database you use is probably going to be more important (Postgres for example with spacial data extensions). I don’t know much about this area, so can’t comment much beyond that tho

1 Like

Very informing answer Dan, thank your for your time really appreciate that! I think I will give a try to Ruby on Rails and see. I feel like many concepts are over-abstracted in RoR but that’s what I need to understand as a beginner. I also realized being able to build a working product, even with primitive features, is more encouraging to continue learning.

Thanks again!

Yep, a lot of RoR is magic, but generally if you stick to how it tells you to do things it’s both easy to learn and easy to produce applications.

1 Like

Ruby on Rails isn’t completely going away anytime soon, but it did peak some years ago, and its use has declined since. Such is the lifecycle of all things, technology or otherwise.

That said, this forum we’re using right now uses Rails for the backend.

1 Like

I have gotten a Ruby (not rails) book when the program first came out Haven’t looked at it since but it’s probably worth a try since it’s an alternative to Javascript.

As far as popularity and support are concerned, jobs are still hiring for it but it’s not as popular as the main-stream languages.

Hopefully this will change in the up-coming years.

1 Like

Ruby is a massively popular mainstream language, it has been very popular for around 15 years. There are a vast amount of existing codebases built on it. A quarter of a century is a long time for a popular language to get bedded in

It’s getting less popular, not more, that seems to be the reason for the OPs question (given it is becoming less popular, is it still worthwhile to learn?)

Honestly, I don’t know why people are always asking for permission to learn something.

1 Like

I think it’s obvious that I’m not asking permission to learn Ruby on Rails, I’m asking for opinions from people who already developed products with RoR because I did not, and have limited idea. Isn’t it the function of this forum?

Also “is it worth learning x tech in 2020” is a legitimate question since we are trying to survive with finite resources like money, health, time…right? So I guess, this thread would be useful for other people with similar concerns. Like someone wants to invest money in a bootcamp teaching Ruby on Rails (e.g le Wagon).

@ozanyusufoglu: I apologize if it sounded like I was singling you out. I tend to be long-winded or glib without a lot of inbetween. In this case I was the latter, and we all know how well a joking tone carries over text on the internet.

Maybe it’s just a difference in learning philosophies: to be blunt, I don’t think much of the notion of exclusively focusing one’s study toward the “market-leading” technologies for maximum employability. I guess it comes from being a geek who likes programming for the sheer joy of it, and as part of that will pick up niche or even obscure languages and platforms just for the adventure. Anything else feels like someone else telling me where to go.

FSM knows your post wasn’t yet another “pls maximize my career path with recommendations for proper things to learn”, and was really more “give me a review of Rails” (I could offer my opinions on that, but it’s been over a decade since I’ve used Ruby, let alone Rails). But as usual, an exasperated person will lash out – or in this case, get mildly snide – at the first target of opportunity. Again, I apologize for making you that target.

It’d be hypocritical for me to say I completely ignore trends: I recently picked up Terraform (yay) and Cloudformation (ugh) because I needed to brush up my devops skills to modern standards. As for Rails, well, it’s not setting the world on fire anymore, but this is probably the most popular forum software out there right now, and it’s using Rails. Seems there’s plenty of life left in it.

There’s also oodles of tutorials out there on Rails – it practically invented the video tutorial for tech platforms – as well as a large helpful community. Avail yourself of those before shelling out your hard-earned cash on a bootcamp.

1 Like

This is a super important point with respect to Ruby and Rails @ozanyusufoglu . The community was brilliant when I worked in Rails apps, and the quality of help available was just fantastic (see testing for example – Ruby absolutely hammered TDD, and you find most of the kinda big proponents of it online were Ruby developers). There are very high quality tutorials available for free. Like this, which has been constantly updated for new Rails versions, and the web version is free, and it’s really great:

Edit: It also really helps with Rails that there is normally one and only one recommend way to do things: Ruby itself is ridiculously malleable, but Rails (in contrast to the JS ecosystem) is very constrained, and this makes it generally a lot easier to build out apps quickly: there is no paralysis of choice

1 Like

Thank you @DanCouper. Actually, this is the material that I’ve been following for a few weeks and so far learned much many concepts thanks to the incremental approach of Michael Hartl. I wish someone would create similar material for Scrimba :wink:

1 Like

No problem and thanks a lot for the valuable insights!!