This article is specifically about programming for web development, if you’re interested in desktop applications instead check out this article.
If you want to be a web developer you should learn the basics of HTML and CSS before you do anything else because they make up the skeleton of almost every website around. Since these are just markup languages even the more advanced concepts are fairly simple, to the point where you’ll be able to make basic websites after studying HTML and CSS just for an afternoon.
There’s also another major scripting language out there called PHP. To be frank it’s hands down one of the worst programming languages I’ve ever had to use on a regular basis. Almost every aspect of it is terribly designed and barely works, the only reason why it ever got popular was because it’s easy to learn and for a good long time was the only option available to people for web development. Even though better replacements have come along for it, I’ll get to one of those in a second, it’s still heavily used in the industry. The reason for this is simply just because it’s what people know and it’s what they’ve always been using and it’s not going anywhere, a lot of big sites like Facebook, WordPress and Wikipedia are still using it and don’t have any intention of stopping.
The best alternative to PHP is by far Ruby on Rails, a web development framework that uses the Ruby programming language. It’s quite well made and powerful while also being more complicated than most web development languages since Ruby is not strictly for web development. Despite the higher learning curve it’s still fairly easy to get a handle on and blows PHP out of the water as a language, plus as a bonus you’ll be learning a regular programming language on top of it as well. If you ever have to choose between Rails or PHP pick Rails every time without a doubt, the only trouble is that most of the time you don’t get to pick and are instead just told to use PHP.
If you don’t want to just use a text editor there are a number of different IDE’s out there for different web development languages you can check out. There’s Ruby Mine which is by far the best IDE both for Rails and just regular Ruby. It’s sleek, easy to use and comes packed with a ton of different features that make your life easier like smart code completion. The problem with Ruby Mine is that it costs a fair chunk of change per month to use it and you most likely don’t want to be paying for an IDE if you’re just starting out no matter how good it is.
Do keep in mind that PHP and Rails are both run server side, meaning that you’ll need some sort of server to upload those kinds of files onto if you want to be able to view what you’ve made. As of PHP version 5.4.0 the language comes with a built in web server that you can use for code testing purposes and the Ruby Standard Library comes packaged with a default server called WEBrick that’ll be used to run applications from if you don’t have another server available. So it’s still pretty easy to open up these sorts of applications just keep in mind you can’t just click on them, open them in your browser and expect it to work.
Tutorials Point is good just based on the sheer amount of different tutorials on there alone. They do not only every major web development language but also regular programming languages, digital marketing, mathematics, how to play sports, and a ton more as well. All of the tutorials that I’ve looked at on the site are well constructed and detailed but can be very dry and boring at times and like W3Schools tutorials they lack challenges for the reader to complete.
Code Academy has a pretty large selection of tutorials for different web development languages ranging from HTML to Ruby on Rails. The tutorials on Code Academy are usually focused around having you learn through making your own little projects as opposed to just explaining things to you out right which I find to be the best way of learning any kind of programming. Most of the tutorials on there are just a few hours long and while they do cover the basics you need to get started with the language you’re studying you won’t learn anything particularly advanced on there.
Web Development Blogs and Resources
If while going through one the tutorials I mentioned you find yourself unsure or confused about a specific concept or how to do something you should try going on stackoverflow.com, a website primarily focused on helping people with questions about programming. You can either ask a question or look through ones which other people have asked to try and see if yours has already been answered. The user base is helpful but they also like to keep the website clean and well curated so try make sure your questions aren’t poorly worded and that it hasn’t already been solved.
David Walsh is a software engineer who runs a pretty good blog about web development, it mostly specializes in short solutions to problems you may be having but sometimes he posts more long form articles as well. I’ve found a good number of posts on the site to be informative for solving problems, generally explaining things and product recommendations. Sometimes though the articles are insanely short, we’re talking under 100 words territory here, and this is because a lot of the time Walsh will post a solution to a problem without really detailing why it works which is annoying because I think that people should generally avoid using code they don’t understand.
Another good web development site is sitepoint.com. The site has a ton of different writers who all regularly post about a bunch of different languages, the articles are normally quite informative and well written though of course there’s the occasional one that’s not so great. The site also has a forums that you can go on and a podcast that you can listen to if you want. The forums are pretty slow though and frankly you’d be better off just going on stack overflow if you’re having a problem.
Once you have the basics down for web design you should start making your own little web application projects while also trying to read about more advanced concepts as well. Doing these projects has the joint effect of both making you a better web developer as well as helping you start to build up a portfolio that you’ll be able to show people. Eventually when you feel ready you can start moving on to doing freelance work for people which will both help further build up your portfolio and start to get your name out there a little bit as well
If you have any questions or comments email them to me at firstname.lastname@example.org