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?
Besides being popular Web development languages, Perl, PHP, and Python share something else:  They are all dynamically typed languages, and notoriously fast to develop in.  I believe this is part of the "spirit" of LAMP.
So, while it's true you could substitute any other language in for the 'P', some languages fit the dynamic, agile spirit better than others.  Ruby, for example, would fit very nicely.  You could also use Scheme, if that's what you're good at.  Java doesn't fit as nicely into LAMP because it is a statically typed language, and to many feels subjectively "heavier" than the so-called scripting languages.
What is the significance of the 'P' in LAMP? Why is it PHP, Perl, or Python?