Beernink.com Home | Books | Articles | Postcards | Hikes | Weblog  
The cure for boredom is curiosity. There is no cure for curiosity. -- Dorothy Parker
Technologies used on Beernink.com
Technologies

We are at an interesting point in the evolution of the internet. The majority of the web servers powering the internet use the Apache web server, which runs happily on Unix, Linux, Windows and Mac OS X operating systems. Most of the systems running Apache are also running (or have access to) MySQL databases. In addition, most also are running the Perl and PHP programming languages. This means that to a large extent dynamic web sites are very portable, and switching from one web host to another is quite easy.

Since I originally wrote this, this configuration of software has become known as a LAMP server or system: Linux, Apache, MySQL, PHP (or Perl or Python). In the last two years, usage of this set of components has increased dramatically.


Apache

Powered by Apache

Apache is the most popular web server software in the world, powering about 72% of the world's web sites (see SecuritySpace Survey). IIS (Internet Information Services) from Microsoft is quite good too, but it only runs on machines running Windows, and it is expensive. IIS powers about 22% of the world's web sites. Apache is free, runs on all major operating systems, and is more versatile than IIS. More importantly, when you get an account with a host for your website, Apache's what they're likely to be running.


MySQL

MySQL databases

MySQL, also free, is the most popular open source database. One of the difficulties of developing a dynamic website is the uncertainty of which database you'll need to support. Since MySQL is now available on so many platforms, it is no longer necessary to write code that will support multiple database platforms (although that too is becoming easier).

In fact, MySQL runs very nicely on desktop machines too, and I predict that it will be a built-in feature of many home systems in the future.

It is worth mentioning that PostgreSQL is another very good database. It supports more advanced database operations than MySQL, and is available on most of the hosts that support MySQL.


PHP

PHP Programming Language

PHP is the fastest growing programming language on the internet. It is running on about half of the Apache servers (see SecuritySpace survey), so it's available on about 35% of all web servers. As a programming language, it has the flexibility of Perl, with a syntax more like that of Java. It is easy to use from within web pages, and has a number of tools that make it the best suited language for web development. It is quite comparable to Microsoft's ASP in terms of capabilities, but it is faster, open source, and free.

Both Java and the Microsoft .NET languages are superior for writing high performance web sites, but these languages are less widely available, and require more expensive hardware and software configurations than PHP. These languages are good choices for larger companies that require superior reliability and performance, and are willing to pay for it.


Perl

Perl Programming Language

Perl is the traditional language for building dynamic web sites. It has a huge installed base, and there are hundreds of available modules, providing programming tools for many disciplines. Although PHP has borrowed many tricks from Perl, Perl is still a superior language for text processing.


Conclusion

I realized the significance of this convergence of technologies after I had spent a couple of weeks researching possible web hosts, and noticed that they all offered the same features. Once I selected a web host, I went to the control panel and saw items that allowed me to install message boards and portal software. That's right, with a single click, you can add a message board to your site. And guess what it uses -- PHP and MySQL. I don't know if you'd trust a company's message board to this software, but it's certainly good enough for an individual or organization. I suspect that PHP modules using MySQL are going to be used more and more as time goes on.