I'm a Java web developer that knows a bit of Python (but haven't done any Python web development), and I am curious what exactly is meant by a LAMP stack.
I understand this to be Linux-Apache-MySQL-(PHP, Perl, or Python), but I don't understand what unites these three languages other than the letter P.
Is a LAMP stack fundamentally different if Ruby was used? Using Ruby would typically mean using Rails, but Python web apps usually use Django or Pylons. Or does LAMP signify that no framework is used? Is Java web development essentially different because of Tomcat in place of Apache?
I believe the P originally stood mainly for PHP, as that particular combination was extremely widely used. It got expanded to include Python and Perl as non-PHP languages became more popular for web development, and never expanded further because it would have broken the acronym.
LAMP is a de facto standard way of doing things, but not a formal standard. Changing out the P for Ruby+Rails, or Apache/PHP for Tomcat/Java changes some things about your development process, but not other things.
One aspect of LAMP that's significant is that all the components are open-source.
What is the significance of the 'P' in LAMP? Why is it PHP, Perl, or Python?