This article is intended for the beginning developer just starting out with coding more advanced website functionality. The very best thing to take from this article is just to try as many languages as you can. Experiment with many different flavors to see which functionality and workflow ’speaks’ to you, makes you feel at home.
Whenever I start development for a website, this is one of the first questions to answer. Actually, it IS the first question to answer before beginning web development. Does the website need a database connection, or will it in the future? Is the site going to have any open source applications like Wordpress, Joomla, DotNetNuke, Drupal or any of the open source applications that are available to plug-and-play into your site? Most of the time, the answer is eventually going to be yes, so it’s nice to have pages that are already started with a server side language extension such as ASP, PHP, .NET, .JSP, .CFM etc. It’s not a complete necessity to have it this way in the beginning, and you can always change it, but it usually helps me to know I’ve started down a consistent path in regards to functionality of the website.
It’s a good time to note that, contrary to popular opinion, there is really no ‘best’ coding language. What’s that you say? No best language? There has to be! Well, there’s not. ANY popular programming language has the ability to achieve your desired website results (in most cases). It’s like saying a type of car is better than another in its ability to get you to the store. Sure, you can get there faster in some, and more comfortably in others, but they all get you to the store just fine. They are all capable in most areas of functionality. So, all the languages will connect to a database, allow you to operate CRUD functions (Create, Read, Update and Delete), and all of them will process data server-side to render in the client’s browser.
So, now we know we WANT to use a server-side language. Which one? Almost always I will opt for a server-side coding language that lets me connect to a database simply, even if I’m not going to use it immediately. Why? Many times a website will only need a “brochure” type HTML feel, and it won’t need a server-side language to connect to any database. However, most of the server-side languages will also let you *include* includes, which means you can have portions of your website that are reusable sections of your site like the header, navigation and footer. These are sections that you would never want to recreate on each page of your website because it would get harder and harder to update the larger the site becomes. With includes, you only update one “include” file, and this changes across the whole site. It’s very similar to the CSS concept where you have one stylesheet that changes the look of the whole site. This is one of those things that cannot truly be appreciated until you have to update a single link in a 50 page website header that does not use includes! (It will only happens once, as you can imagine. You will never build another website without includes!).
So, explore all the languages. Find out which languages your web hosting company supports, settle in with a huge cup of coffee, and learn some coding! The first thing you will realize, after celebrating your new found coding prowess, is that coding is really not that hard, especially after you complete a few examples. You can then learn from other developers by downloading code snippets to try in your own site, or you can start by learning the syntax of the language and experimenting. One thing is for sure: if you like building websites, you will never build another website in only HTML again!
Good luck and happy coding!