Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

How should I keep up to date with the ever-changing Rails community? I have been trying to learn Rails off and on for a year now and the brick wall I keep running into is the fact that I'm trying to balance learning most of the Rails' community best practices and they keep changing direction.

For example, I obviously need to learn Rails and Ruby (I've done some work with both but I've forgotten a bit). When I was using it before it was still Rails 2.3.4, so now Rails 3 is out and changed some things; I'm not sure if Ruby 1.9 had any major changes. I like my version control, and the Rails world is solidly behind Git, so I have to use Git (again I've used it before but not recently). I want to make sure my app is solid so I want to write tests; the new trend in Rails seems to be to use RSpec or similar BDD frameworks instead of the built-in test framework, and mocks/factories instead of fixtures.

I'm having a very hard time keeping up with all the things I need to pick up to be successful using Rails, and it seems that it's always changing and I end up frustrated because I will choose something, then when I research how to do something I find loads of blog posts saying don't use it anymore, use this new thing instead.

So I have to ask how much this matters? If I'm going to be revisiting Rails I obviously want to be using Rails 3. I've used Git so I can stick with that. Should I even bother with RSpec/HAML/SASS/whatever else the "cognoscenti" is hyping or should I just focus on mastering the framework and stick with the built-in stuff (e.g. use the built-in ERB engine for HTML, Test::Unit for testing, Fixtures instead of mocks/factories, etc) as much as possible (stupid thing to ask, I know, but the way my brain works I am always torn between doing the easiest thing that will benefit me and doing things the "right" way as the really high-end guys suggest) so I can focus on actually developing my application? Should I extend that to Javascript as well, meaning should I just say screw it and use RJS or is that actually worth using jQuery (I've used jQuery for my .NET work a fair bit although I'm by no means an expert) due to the benefits?

I would like to "nail down" a stack that I can use and not deviate but again I find myself constantly wondering "If the top Rails guys are using XXX now am I hurting myself by not switching to it myself?" For example I'd like to just decide 100% on:

  • Framework: Rails (obviously) Source
  • Control: Git Test Framework:
  • Test::Unit w/Factories HTML Engine:
  • ERB Javascript Framework: jQuery

but whenever I try this there's a voice in the back of my heading saying I'm "doing it wrong" and should be using RSpec/Shoulda/HAML/library du jour instead.

share|improve this question
4  
It sounds like you're <ozzy> goin' off the Rails on a crazy train! </ozzy>! :P ...sorry, I need to get some coffee into me. –  FrustratedWithFormsDesigner Apr 11 '11 at 14:27
2  
I feel your pain, Wayne. I do not have a good answer for you, though. The phenomenon that you describe is the principle reason that I have stopped doing Ruby on Rails development. I don't do it as a means of full-time employment, and I feel like that the only way of keeping up to date with it all. –  Adam Crossland Apr 11 '11 at 14:29
1  
@FrustratedWithFormsDesigner: That made me laugh, thanks! –  Wayne M Apr 11 '11 at 14:30
    
@Adam: That's also why I stopped trying to learn it and why I have yet to really do more than follow the tutorials and watch casts. There's just this... pressure (not really but it feels that way) that I feel whenever I try to learn it that I have to do it the way everybody else is or I'm doing it wrong. I'm the same way in .NET but in reverse; I can't do things the "wrong" way even if my co-workers do, because I "know better" –  Wayne M Apr 11 '11 at 14:32
    
I'm not sure any of the web building languages are easy to stay on the bleeding edge especially if you're trying to learn it on the side. –  JeffO Apr 11 '11 at 14:46

1 Answer 1

up vote 4 down vote accepted

Given your situation (having a hard time learning rails just with the effort of keeping up to date), I'd say you should:

  1. Pick a fairly up-to-date tutorial* to work through, and make it your goal to get through ti right from beginning to end.
  2. Be okay with possibly being out of date. Accept that it might happen, and ignore it until you have reached your first goal.

Your stack sounds good enough to me. Just tell that voice in the back of your head 'I may well be doing it wrong for now and that's okay. But once I've finished getting familiar with it this way then I'll take a look at what's new'.

A benefit of taking this approach is once you're familiar with the 'old ways', you'll be able to much better appreciate (or dismiss!) the reasons behind the next big thing.

* Personally I quite like Michael Hartl's tutorial and would recommend it.

share|improve this answer
    
Very good advice. Thanks a lot! I'll check out that tutorial as well; I have the Agile Web Development book as well but for some reason it always feels way too trivial, although the Rails reference is a godsend. –  Wayne M Apr 11 '11 at 20:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.