Newbie web development

Hello All,

I have been a C++ desktop applications developer for 10 years now, with
a bit of C# programming, still in desktop applications. I am excited to
make a move to learn web applications development. I figure since I am
starting basically from scratch that I get to pick the server side
language without bias based on what I already know. I really like what
I read about Ruby and Rails.

My C++ background has given me a good bit of OOP and I have a notion of
MVC and agile development methodologies, including TDD. I only have the
most vague notions of how the web really works, and no database
experience at all. What I am learning about the whole web pipeline is
that there are lots of tiers with lots of different options at each
level, and it can be a bit daunting to wrap your head around. I can see
there are MANY MANY resources out there, so the problem is not the lack
of resources, but rather that it is like trying to drink from a fire
hydrant. I have found some good references on RAILS and Ruby, but from
what I have browsed, it seems that these are tailored for people who
already have a grasp on web development and are migrating to Rails.

So my question is this: What would you all recommend as a course of
study for someone like me that is new to all web development, but
would like to learn about it all, with an emphasis on Ruby and Rails?
Where should I go first? I am working on the Rolling with Ruby example
now, and that is helping a good bit, and I will move on to the getting
started examples on the rubyonrails.org site. Any other recommendations
on a course of study would be greatly appreciated.

Thanks,
– Rick

I’m really thrilled that you’re diving into web development. You nailed it! A solid foundation of C++ and object-oriented programming (OOP) will get you far by giving you an edge when it comes to the understanding of concepts like MVC and agile software development.

The best way to go about learning: split it into small parts and start with Ruby on Rails. Because you are a newbie to web development, I would recommend that you get familiar with the basics of web technologies, especially HTML, CSS, and JavaScript first. Not only will you be able to style, and animate the web pages easily, but you’ll also have a better understanding of what makes the project interactive before moving to the server programming. There are numerous sources to begin with—the sites, for example, MDN Web Docs, provide a perfect and in-depth introduction to front-end development.

getting into Ruby as a programming language. Possibly, since you are already reading “Rolling with Ruby,” your task would be to continue that and make sure you are comfortable with the syntax of Ruby and the principles of object-oriented programming in Ruby. When these concepts are all clear, you can go on and experiment with Rails. The official Rails guides are actually written in a better style than others for beginners, and the “Getting Started with Rails” course is a fantastic resource that will allow you to build a small project step by step.

Besides that, Railscasts with its short shows about specific Rails topics can be really useful, and so are the books “Agile Web Development with Rails” among others to the extent that your understanding is deepened.