Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I learned Ruby while learning Rails, and I don't think it was necessarily a bad thing. I mostly just needed help over a few humps ("What are these symbol things? How do blocks work? Wait, you mean everything is an object?"), and then it started to come together pretty nicely.

The biggest hurdle in learning Rails, IMO, is that it is such opinionated software. It does so much for you if you follow convention, and the newbie follows conventions because the tutorial says to, and has this holy pogo-sticking africanized honey bees, what the dong just happened? experience. Rails is fantastic because it does so much of the groundwork for you, but it also means that there are a lot of conventions to learn, and a lot of magic that happens that can be exceptionally confusing to the beginner.



I'm learning Ruby while learning Rails also. I didn't find the Ruby syntax very confusing, but the humps for me are "How do I make sure I'm doing this the right way even though I'm a n00b? How do I get over being a database control freak and give in to db management using ActiveRecord?"

I came from using CodeIgniter, which is a Rails-esque framework for PHP. Fortunately, the "opinonated" structure etc. made a whole lot of sense to me, and in retrospect makes me wonder why I didn't jump into Rails sooner.


As far as DB management, I don't buy the whole Rails kool-aid as far as DB constraints go. I still develop constraints, set up foreign keys, and hack around AR when it's expedient to do so. AR is marvelous at solving 90% of the standard boring CRUD without any headache, but it isn't a silver bullet, and you can still shoot yourself in the face performance-wise with it. Don't be afraid to overstep its bounds when necessary, but don't prematurely optimize, either.

I've worked in CakePHP since learning Rails, and I have to say that more than anything, it makes me really dislike PHP as a language. The framework is pretty decent, but Ruby is so flexible and malleable that it really makes working in PHP painful.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: