When I was first getting started programming, the biggest question I had was “What should I learn?” I had no idea where to start. The web changes every day and I was worried that I’d end up spending time learning the language of the day and it would immediately become obsolete.
As a beginner, there’s so much to learn that wasting time on anything that isn’t necessary is just a roadblock to becoming a good programmer.
Here are a few questions you should ask yourself to help identify where you should focus your learning program.
What do you want to make?
A good place to start is to ask yourself this question. Your answers should help you hone in on where would be a good place to start. Since this blog is mostly about web programming, we’ll assume that you want to make web sites.
First, to build a website you need to learn HTML and basic CSS.
HTML presents the content of a web page: the words, headlines, lists, pictures. It’s very straightforward and fairly easy to pick up the basics in a weekend. CSS brings in a few wrinkles, so it’s best to have a good grasp on HTML first.
Head over to Code Academy and go through the Web Fundamentals program.
Do you want to make websites look really pretty?
If yes, you’ll want to spend time focusing on CSS/CSS3. A little CSS can take an ugly, black & white, boring website and turn it into something beautiful.
I highly recommend the book CSS: The Missing Manual. This is where I first learned how to make ‘real’ websites.
Do you like making websites that dance and change and interactive for users?
Do you like creating rich sources of data easily manageable for users?
Check out PHP, Java or Ruby. Did that help much? Probably not. This one is a lot harder because you can use multiple languages to do the same things. But by the time you get to this point, you should have a more clear idea of what you need in a programming language.
I picked up PHP first because I was using WordPress a lot. And since WordPress is built with PHP it made sense. (Plus, WordPress powers over 22% of ALL websites, so you’ll more than likely run into it.) If you’re in a similar situation, this should make your decision easier.
Ruby on Rails is hot right now and makes it easy to quickly build web apps. I hear more and more about Ruby on Rails every day. It’s worth checking into.
A final note: at the end of the day, just pick a programming language and learn it. It WILL be useful. The most important part is that you’re learning programming: the concepts, structures and mindset. That being the case, I highly suggest you go to Udacity.com and complete the Intro to Computer Science course. You will learn the fundamentals and be well on your way to making rad things for the web.