Ask HN: Learning Ruby on Rails in 2022
learning - How much Ruby should I learn before moving to Rails? - Software Engineering Stack Exchange
Ask HN: Is Ruby on rails worth it to learn in 2022?
Is it me or is Ruby on Rails hard to learn? Am I doing it wrong?
Videos
Most people would recommend that you finish reading a book about Ruby first before moving into Rails, but if you already have a solid understanding of basic programming concepts from other languages (such as OOP, control flow, etc.), you can study Rails and just pick up Ruby along the way.
Most Rails books that are aimed for beginners assume that the reader doesn't have knowledge in Ruby, so they tend to have a chapter dedicated to teaching the syntax of Ruby. Your mileage may vary. The key is to just dive in and see what works for you. You can study Rails right away and then study Ruby if you're having a hard time or you can go with plain Ruby first until you're comfortable enough to take on Rails.
If you ask me, I suggest you study Rails immediately since your motivation to study is to build web applications anyway. You'll lose motivation if you study just Ruby since it takes a pretty long time to finish a book and be fairly adept in the language.
You can learn both at the same time. To learn Ruby, you will have to write Ruby code. You may as well be writing a Rails application as anything else. I had a copies of Programming Ruby and Agile Web Development with Rails. I skimmed Programming Ruby to get an idea of the language, then started following the tutorial in AWDWR.
After hearing so many good things about Rails, I finally decided to dive in and start learning it, having only used PHP before. What i'm currently using to learn Rails is Ruby.RailsTutorial however even though I am doing the examples I can't help feeling that I am not really learning much. For example I now understand how the MVC works and how to implement it through Rails but if you asked me to build a basic e-commerce or forum I would be completely lost.
What am I doing wrong?
I've been moving from C# in my professional career to looking at Ruby and RoR in my personal life, and I've found linux to be slightly more appealing personally for development. Particularly now that I've started using git, the implementation is cleaner on linux.
Currently I'm dual booting and getting closer to running Ubuntu full time. I'm using gedit with various plugins for the development environment. And as of late 2010, I'm making the push to use Vim for development, even over Textmate on OS X.
A large amount of the Rails developers are using (gasp) Macs, which has actually got me thinking in that direction.
Although I haven't tried it, Ruby in Steel gives you a Ruby IDE inside the Visual Studio world, and IronRuby is the .NET flavor of Ruby, if you're interested.
As far as books are concerned, the Programming Ruby (also known as the Pickaxe) book from the Pragmatic Programmers is the de-facto for learning Ruby. I bit the bullet and purchased that book and Agile Web Development with Rails; both books have been excellent.
Peepcode screencasts and PDF books have also been great for getting started; at $9 per screencast it's hard to go wrong. I actually bought a 5-pack.
Also check out the following:
- Official Rails Guides
- Railscasts
- railsapi.com or Ruby on Rails - APIdock
- The Ruby Show
- Rails for Zombies
- Softies on Rails - Ruby on Rails for .NET Developers
- Rails Podcast
- Rails Best Practices
I've burned through the backlog of Rails and Rails Envy podcasts in the past month and they have provided wonderful insight into lots of topics, even regarding software development in general.
Beware, the rails world is a massively frustrating mess of outdated and inconsistent documentation and examples. It is maybe one of the fastest moving and most faddish development communities there is. By the time you learn something it will already have changed. Even the books are not consistent in which version of rails they are talking about. Documentation by blogging! enough said.
I currently do RoR on windows. My advice is to avoid windows if you can. Lots of things don't work and the rails community really really doesn't care about you. The move to Git has really messed me up since it doesn't work very well on windows. A lot of gems will fail because of this (Heroku looks like a cool tool - too bad for me it can't handle window's Git setup). Capistrano is out. It goes on and annoyingly on.
Plus, in the back of your mind, you always wonder when something doesn't work "Is it a rails/windows problem?" I am not sure this is solved by using linux because linux brings its own hassles like constantly having to upgrade all those different dependencies, etc...If that's the kind of thing you enjoy it might be an okay choice for you. Those days of enjoying system fiddling are behind me and I just want to get on with doing my work. I am planning on installing ubuntu on a home machine just so i can get familiar with things like capistrano so maybe my opinion will change.
I'd highly suggest if you are going to do rails dev for any amount of time you seriously consider getting a Mac. If you value your time and sanity it will pay for itself almost instantly. Depending on how you value your time 10 hours of debugging windows/linux setup problems and you have spend as much as a Mac costs anyway.
Rails is a joy compared to what it replaces but it is a bit of a pain in that its proponents skip right past a lot of the boring but important stuff like documentation, compatibility issues and community building. It is way more powerful than other frameworks like Django but I sometimes look over at the Django documentation and community and sigh like a guy with a wild sexy girlfriend looking at his friend's plain but sane and stable wife. But then rails adds a feature and I go "Ohhh shiny!"
IMO the Rails Screencasts are better than the Peepcode screencasts. RubyPlus also has screencasts, mind you, they are bit rough around the edges. BuildingWebApps has a free online course that starts doing screencasts halfway through.