Editor’s note: This is part 2 of a guest post by Bryan J. Brown. You can read part 1, The Basics, here.
There are many languages that can used for server-side scripting, including (but not limited to): PHP, Python, Ruby, Perl, and Java. None of these languages are “the best”, as they are all good for different situations. For instance, Ruby is a great choice if you want to build a complete web application very quickly (using the Ruby on Rails framework, also called “RoR”) and Java is extremely mature and reliable. The most popular server-side scripting language is PHP, and if you are interested in learning about server-side scripting then PHP is definitely a good language to start with. PHP runs more websites than any other language, and is the most marketable server-side language to know. It is the most simple of the server-side languages because it was created specifically for the web (the other languages are general purpose, but can be used for web development). PHP’s popularity also means that it’s available on virtually all servers, and there’s a wealth of help available for newbies all over the web. PHP also has the best manual ever. Unless you have a specific reason to go with a different language, I would highly recommend starting out with PHP. Aside from the awesome documentation, you can also find great tutorials from Zend, Codecademy, and W3Schools.
Server-side scripts also commonly make use of databases to create full-blown web applications. A classic example of this concept in action is a form. You enter your information into a form and hit “Submit”, and a server-side script saves all of that information to a database and then dynamically produces a new page with all of your information on it. Most databases use a language called SQL for manipulating, storing and retrieving data, and different pieces of database software can be used almost interchangeably once you understand SQL. You can find good tutorials for learning SQL at W3Schools and SQL Zoo (my favorite). The most popular database software for web apps by far is MySQL, but of course there are many others as well. PHP and MySQL go together like peanut butter and jelly, and are the foundation of many well known web applications like Omeka, WordPress and Drupal. A combination of a server-side scripting language and supporting database software is called a “stack”, and the LAMP stack (for Linux, Apache, MySQL and PHP) is the elephant in the room when it comes to web development.
Bryan Brown is a second year MLS/MIS student at Indiana University’s School of Informatics and Computing in Bloomington, IN with a focus on digital libraries. He works as a Web Development Assistant at the Lilly Library, and as a Scanning Technician for IUL Digital Collections Services. His professional interests include library metadata, web development and digital preservation, but he also plays a mean banjo. Find out more about him on Twitter (@bryjbrown) or from his blog (www.bryanjbrown.com).