Hacker News new | ask | show | jobs
by ghufran_syed 2094 days ago
I agree with this - I did udacity's original cs101 (http://www.cs.virginia.edu/~evans/cs101/), then cs253 on web apps, taught by Steve huffman, the co-founder of reddit. Then when my co-founder and I decided to work on our first startup, we decided Rails was the best option for noobs like us, and it probably took us just a few weeks to learn the basics of rails because we'd already completed cs253, I think it might have been harder if we had tried to learn it straight away. But rails was enough for us to build a telemedicine web app, and it wasn't until around 6 months later when our view was starting to turn into a mass of jQuery spaghetti that we started to learn and apply react. jQuery is great for doing simple user interactions in the browser, but as you try and build more complicated functionality, react is a much better tool for the job.

I agree about staying away from mobile to start with if at all possible at the beginning.

No rush, but sometime after or while learning rails, definitely take a look at the book "beginning database design" by Claire Churcher. It's the best book I've ever seen to learn how to design your database schema for a sql database. But you don't need it until you've at least made a few web applications, and like my experience with react, the best time is when you are trying to figure out what format to store all your data, and finding it too complex - that book gives you a great way of thinking about the problem that simplifies things greatly.

1 comments

As a dilettante Rails amateur, I can also vouch for Rails in general compared to JS-based stacks. Having tried React ('cause it's trendy), I still feel like it's nowhere near Rails to create simple CRUD apps.

Thanks for the SQL recommendation — that's something I've personally struggled with in trying to move up from noob to intermediate.

Modelling things properly seems to be one step on the ladder that the Rails doc won't cover in sufficient depth, even though the tool provides simple ways of doing the task once you understand what you're doing.