Choosing the Best Programming Language for Your Website
In the very early stages of planning, you and your web developer will need to decide which primary programming language(s) your site will use.
There are a number of equally important considerations when making this fundamental decision. Sometimes a show-stopper of a consideration comes along, and you must immediately shift the weight of the entire decision to deal with that one especially important circumstance.
When making a decision on the programming language(s), some of the most important considerations include (1) what you want your site to do, (2) what legacy code you are working with, (3) what databases you are working with, and (4) what server restrictions exist.
1. What Do You Want Your Site To Do?
All websites use some version of HTML markup. Most websites also use some type of "Server Side Programming Language." Basically a "Server Side Programming Language" is a program that physically runs on the web host’s computer.
Let’s say, for example, that Active Server Pages is the Server Side Programming Language on your site, and you want for today’s date to display in the upper left corner of your webpage. To accomplish that, you would include the following programming code on that portion of the page: 
Since Active Server Pages is a "Server Side Programming Language," it actually runs the command called Date() on the web host’s server, then hands the newly created page containing today’s actual date to the website visitor.
The alternative is something called a "Client Side Programming Language." JavaScript is the most frequently used "Client Side Programming Language." Unlike a "Server Side Programming Language," the "Client Side Programming Language" physically runs on the website visitor’s own computer.
Client Side Programming Languages are very useful for making a variety of quick changes. For example, you can use JavaScript to display alternative bits of text... such as displaying text boxes with room for 16 digits if somebody is paying by Visa or Mastercard, versus a text box with room for 15 digits if they’re paying by American Express. As soon as they click the radio button to indicate what type of credit card they’re using, the "mask" (either a 15-digit or 16-digit box) appears, according to the type of credit card they’ve chosen.
A Client Side Programming Language is extremely fast and interactive... and you don’t have to wait until the website visitor has clicked an Update button to change what they’re seeing on the screen. The downside, however, is that some people don’t have or don’t permit JavaScript to run on their computer. For those website visitors, you may need to provide alternative access mechanisms.
Server Side Programming Languages are always what is required to make your website work with a database. The Server Side Programming Languages that are most frequently used to develop websites include:
- PHP
- Cold Fusion
- Active Server Pages
- ASP.NET
- Perl
- Java Server Pages (JSP)
Deciding which of these languages to use is often the result of a process of elimination. For example, if I want to build a website that offers books for sale, then I can conceivably use any of these programming languages. However, if I want to use a prefabricated shopping cart as the foundation for my website, then the programming language already associated with my cart of choice becomes the overriding consideration.
2. What Legacy Code Are You Working With?
If you are working with old programming code and folding it into a new site, then the old code may dictate, in part, which programming languages you can consider for any additional work on the site. There are many instances where two or more different programming languages may coexist within a site, but at times the need to keep numerous small processes working more tightly together may dictate that you migrate to a single-language site.
3. What Databases Are You Working With?
You may be restricted to working with a particular database as the result of either legacy data that needs to be integrated into the new site, or as the result of a server restriction. Plus, just as the decision to use a particular prefabricated technology (like a shopping cart) may dictate what programming language you use, so it may also in large part determine the type of database.
4. What Server Restrictions Exist?
On occasion, a website must be designed so that it is compatible with a particular server. If, for example, you are rebuilding a website for your college, then it may be critical that all of the elements of your entire infrastructure work together, and that they physically occupy the same space on your dedicated on-campus server.
Even if you are permitted to house the website wherever it is best served, then you need to be certain that the server itself provides the necessary capabilities to properly support what is required of the website. For example, if you are building a website with thousands of videos, then you’ll need ample space and the ability to upload and potentially safety-check each video. The server itself must support/allow each of the functions that your website requires.
As each of these considerations gets folded into the decision-making process, the programming language of choice usually becomes fairly obvious. As long as your web developer is knowledgeable, and properly informed regarding your existing site and the direction in which the new development effort needs to go, then determining the appropriate programming language(s) is usually a fairly straightforward process.
Choosing the Type of Database for Your Website
The general purpose of a database is to store and retrieve information. Although there are variations, on the whole, they follow an identical structure. For the purpose of illustrating this concept, let’s say that your database is used to help you sell books. You would have broad categories of books, just as you would have them in the library or bookstore... fiction, non-fiction, mystery, romance, cooking, etc. Once you arrived in each of those physical sections, the divisions would continue, and would likely be created specifically for that type of book. For example, in the fiction section, you’d likely have the best sellers grouped together. The cooking section would have cookbooks arranged by type of food, etc. In addition, of course, each book would have "attributes" – things about them that differ from book to book, such as the price, the author, the publisher, the ISBN number, and so forth.
A database allows us to define those groupings, to define smaller groupings within them, and to relate information to one another so that we can organize it and retrieve it in a quick and meaningful way. The decision as to which database you use is a function, in part, of (1) what you need your website to do, (2) what programming language you are using, (3) what legacy database information you’re working with, (4) what restrictions exist on the host computer, and (5) what budget is available. Some database programs are "open source," meaning that they are available at no additional charge; while other database programs are extremely expensive but absolutely essential for building certain highly complex applications.
Choosing the right database is usually a fairly straightforward process. Unless you are building a truly massive site... something that approaches the size and complexity of Amazon.com, for instance, then you can usually take your pick from any of the most popular database systems, including:
- MySQL
- Microsoft SQL Server
- Oracle
In addition, the Microsoft Access database is used rather frequently, and will work in certain situations. Note, however, that Microsoft Access was not originally designed to be used to support websites. Before implementing this particular database as part of your website, you need to be sure that the finished application will not need to drive massive amounts of information nor support many simultaneous website users. Microsoft Access will suffice for some very small applications, but those applications should be hand-picked by a practiced, knowledgeable web developer.
The database that you ultimately select will frequently be the result of the other choices you make for your website, including any prefabricated software you want to use that may limit you to one or two available databases; and the physical restrictions of your web host. If your web hosting plan runs on a Windows server, for example, then it is more likely that Microsoft SQL Server will be included as part of the physical hosting arrangement.
The key to successful planning is to understand what you are starting with, what you are building, and what specific trio of programming, database, and server are best to support that combination of needs. Although it is physically possible to switch to another database after the fact, it can be a fairly time-consuming process to move the actual data and to make the numerous small changes that will most likely be required throughout the programming code across the website.
The Vital Signs Web Development team of specialists is standing by... to get started, give us a call at 877-494-3308 or drop us an email at design@vitalsignspgh.com. |