Я веб-разработчик Java, который знает немного Python (но не создал веб-разработки Python), и мне любопытно, что именно подразумевается под стеком LAMP.
Я понимаю, что это Linux-Apache-MySQL- (PHP, Perl или Python), но я не понимаю, что объединяет эти три языка, кроме буквы P.
Является ли стек LAMP принципиально другим, если Ruby использовался? Использование Ruby обычно означает использование Rails, но веб-приложения Python обычно используют Django или Pylons. Или LAMP означает, что никакой фреймворк не используется? Является ли веб-разработка Java существенно отличающейся из-за Tomcat вместо Apache?
Так получилось, что наиболее часто используемые компоненты в этой части стека начинаются с P. Это не что иное, как совпадение. Акроним LAMP был придуман до того, как Ruby приобретет свои нынешние уровни популярности, и нет причин, по которым вы не смогли бы вставить Ruby в слот P.
Я считаю, что P первоначально стоял в основном для PHP, так как эта особая комбинация была чрезвычайно широко использована. Он расширился, включив в него Python и Perl, поскольку языки, не относящиеся к PHP, стали более популярными для веб-разработки и никогда не расширялись, потому что это нарушило бы аббревиатуру.
LAMP - это де-факто стандартный способ делать что-то, но не формальный стандарт. Изменение P для Ruby + Rails, или Apache/PHP для Tomcat/Java изменяет некоторые вещи о вашем процессе разработки, но не другие.
Одним из аспектов LAMP является то, что все компоненты являются open-source.
Я думаю, вы слишком много читаете в том, что это значит. Акроним стал популярным, потому что они часто использовались вместе, и его было легко произнести. Он не имеет никакого значения или значения за пределами буквального. Там также WAMP (Windows), LAPP (PostgreSql) и все, что вы хотите сделать.
Помимо того, что они являются популярными языками веб-разработки, Perl, PHP и Python делятся чем-то другим: все они являются динамически типизированными языками и, как известно, быстро развиваются. Я считаю, что это часть "духа" LAMP.
Итак, хотя это правда, вы можете заменить любой другой язык на "P", некоторые языки лучше всего соответствуют динамичному, гибкому духу. Например, Ruby будет очень хорошо подходить. Вы также можете использовать Scheme, если это то, что вам нравится. Java не подходит так же хорошо, как LAMP, потому что это статически типизированный язык, и многие чувствуют себя субъективно "тяжелее", чем так называемые языки сценариев.