Skip the navigation

QuickStudy: LAMP

September 25, 2006 12:00 PM ET
PHP, Perl and Python are the programming languages of choice in most LAMP and LAMP-like installations. Besides starting with the same letter of the alphabet, all are characterized as concise, compact scripting languages that can allow a user to execute a program on the Web server from within a browser window.

The use of scripting languages started with the Common Gateway Interface Web interfaces of the early 1990s, simplifying the delivery of Web pages with dynamic, updated content in addition to static, unchanging pages.

Programmers preferred scripting languages for these applications because they made it relatively easy to manipulate text streams from a variety of sources.

The acronym LAMP was coined by writer Michael Kunze in an article in the December 1998 issue of German computing magazine Computertechnik. Kunze was trying to show that a bundle of free software could be a feasible alternative to expensive commercial packages. Since then, publisher O’Reilly & Associates and MySQL have worked to popularize the term.

Platform or App Stack?

Many refer to LAMP as a stack, a layered grouping of basic business software. These layers are comparable with the ones that make up commercial stacks like Microsoft’s .Net framework. When used in combination, they support application servers.

Competing stacks of commercial middleware include unified application development environments such as .Net, IBM’s WebSphere, Apple Computer Inc.’s WebObjects and Sun Microsystems Inc.’s Java Enterprise Edition. But whether we call LAMP a stack or a platform, it clearly qualifies as having an interlocking set of technologies on which developers can build and deploy applications.

Is LAMP ready for use inside the enterprise? Yes and no. It’s already used to run high-volume Web sites, such as the O’Reilly Network. Major chunks of Internet giants such as Amazon.com Inc. and Google Inc. use LAMP systems and networks. But you probably wouldn’t want to run your core financial systems on LAMP; until recently, MySQL didn’t even understand the notion of a transaction.

By itself, LAMP really only defines software for Web applications. Although you can use it to build an application that connects to sophisticated middleware, the heavy-duty programming would likely have to be done in a different language.

The .Net and Java platforms, in contrast, offer a way of writing both Web scripts and complex enterprise applications in the same language.

Still, LAMP is likely to be popular with price-conscious organizations that have strong internal development efforts and are comfortable with peer-based support. Does that fit your company’s environment and culture?

Kay is a Computerworld contributing writer in Worcester, Mass. You can contact him at russkay@charter.net. Are there technologies or issues you’d like to learn about in QuickStudy? Send your ideas to quickstudy@computerworld.com.

See additional Computerworld QuickStudies

Read more about App Development in Computerworld's App Development Topic Center.



Our Commenting Policies