Выбор языка для многоуровневого / многопоточного / событийного контейнера - PullRequest
1 голос
/ 13 октября 2010

Я хотел бы начать новый проект, который состоит из нескольких уровней, веб-уровня, управляемой событиями бизнес-логики, обработки данных и т. Д. Я работал над проектами на основе PHP и Java в течение последних нескольких лет и говорил от опыт работы с Java (и с учетом библиотек с открытым исходным кодом для планирования, ORM, AOP и т. д.) обычно является хорошим выбором - и, конечно, вам НЕ ВСЕГДА нужен контейнер, поскольку разные уровни и службы могут быть написаны на разных языках , интегрированные вместе с другими процессами, такими как задания cron.

Теперь, учитывая, что я начинаю новый проект, мне интересно, как другие посоветуют мне выбор языка. Я пытаюсь найти ответы на некоторые вопросы из поисковых запросов Python, Ruby, Erlang Google, но, безусловно, это хорошее место для сбора полезных советов и критических замечаний.

Мысли

1 Ответ

1 голос
/ 30 сентября 2012

Я регулярно использую вездесущий стек LAMP (Linux, веб-сервер Apache, база данных MySQL, логика PHP-сервера) и, если мне нужно сделать что-то более интенсивное в бэкэнде, такое как обработка большого количества языковых данных или работа в сети Команды и сортировка вывода перед подачей его обратно в систему, я использую Perl. Все эти утилиты / языки доступны почти в каждом репозитории дистрибутива, а также в коде коннектора для их совместного использования (например, php5-mysql для импорта функций PHP, позволяющих использовать MySQL).

ОБНОВЛЕНИЕ: Я хотел бы добавить несколько идей к этому ответу, так как кто-то проголосовал за него и привлек мое внимание к нему сегодня. Когда я писал это, я экспериментировал с несколькими различными технологиями, и во многих отношениях я все еще придерживаюсь того, что сказал ранее. LAMP намного более развит, чем любая другая веб-платформа. Все еще верно, что вы просто не ошибетесь, начав с этой комбинации.

Как уже говорилось, год спустя я довольно много использовал Nginx и Python (через uWSGI) для своих личных проектов. Я думаю, что сейчас поддержка дистрибутивов для обеих этих технологий достаточно развита, поэтому люди со значительным трафиком сайта должны искренне рассмотреть возможность переключения Apache с Nginx. Он обслуживает статические ресурсы FAR быстрее, чем Apache. Если вы хотите использовать PHP, вы, вероятно, будете использовать php-fpm для подключения PHP к Nginx. Если вы хотите использовать Python - который быстро становится одним из моих любимых языков, как по производительности, так и по своим языковым возможностям, которые выросли на мне - у вас будет огромный выбор вариантов для подключения Nginx к Python, но я настоятельно рекомендую uWSGI за тот простой факт, что он протестирован и работает очень быстро. Что касается базы данных, я по-прежнему считаю, что MySQL достаточно мощный, чтобы соответствовать различным ситуациям. Если вы не согласны с этим утверждением, я уверен, что вы достаточно опытны, чтобы искать множество подробных ресурсов, показывающих плюсы и минусы практически для любой ситуации.

...