Язык программирования PHP
PHP — скриптовый язык общего назначения, часто применяемый для разработки веб-сайтов. PHP — интерпретируемый язык программирования, позволяющий создавать программы в процедурном и объектно-ориентированном стиле.
В качестве основных преимуществ PHP чаще всего называют широкую распространённость, достаточно высокую востребованность PHP-разработчиков в сочетании с низким порогом входа при обучении.
PHP часто критикуют за несогласованный синтаксис функций, неортогональность дизайна, обратную несовместимость версий, а также за весьма низкий средний уровень культуры разработки.
На самом деле, простота освоения и высокий уровень востребованности в очень простых проектах как раз и являются причинами низкого среднего уровня технической экспертизы и культуры разработки на этом языке. Просто очень многие из тех, кто называет себя PHP-разработчиками, на самом деле не имеют даже базовых знаний, достаточных, чтобы называться программистами. А большое количество проектов с низкими требованиями к качеству порождает почти повсеместное применение методологии, мягко называемой «фигак-фигак и в продакшн».
Разумеется, что в PHP-разработке есть и очень хороший программисты, работающие с использованием лучших практик в сфере разработки ПО. Но их не так уж и просто найти, поэтому средний уровень по технологии определяют не они, а огромное количество веб-мастеров, создающих тривиальные сайты по максимально простому технологическому процессу.
Мы столкнулись с кадровой проблемой при усложнении реализуемых проектов. На PHP достаточно просто найти разработчиков, которые могут собрать сайт на коробочной CMS-системе, особенно, если нет никаких требований по скорости его работы, надёжности и безопасности. Как только ужесточаются требования к техническим характеристиками проекта или когда требуется разработка на фреймворке с качественной проработкой архитектуры, то кадровый рынок в экосистеме PHP оставляет желать лучшего.
Действительно хороших программистов в принципе мало на любом языке програмирования, но наша практика показала, что их поиск в рамках PHP-стека более сложная задача в сравнении с другими языками: Ruby, Python, GoLang, Java. Это была одна из причин, по которой мы в 2013 году решились на смену технологического стека, перейдя от повсеместного применения PHP к применению Ruby для веб-разработки и к использованию Python для анализа данных. Также свою роль сыграла и разница экосистем этих языков программирования — в Ruby и Python оказалось больше качественных инструментов, нужных нам для реализации сложных проектов. Еще в Ruby и Python сообщество разработчиков сконцентрировано вокруг небольшого числа мощных фреймворков и библиотек, тогда как в PHP несколько сотен в разной степени популярных фреймворков и CMS. Другими словами, случайно выбранный веб-разработчик на Ruby в 99% случаев уже знает и работал с Ruby on Rails, веб-разработчик на Python — с вероятностью 95% знает Django, а вот в PHP такого явного лидера среди платформ просто нет.
С 2004 года мы успели поработать с очень разными платформами и технологиями. И первые 9 лет мы занимались разработкой проектов только на PHP. Это дало нам много опыта и хорошее понимание внутреннего устройства многих технологий и платформ.
В 2013 году мы приняли решение обновить наш технологический стек для разработки новых проектов. Цель была достаточно простая — нам нужны были технологии, которые были бы более перспективными с точки зрения возможностей и качества разработки. И эта цель была достигнута благодаря переходу на Ruby on Rails.
Но мы по-прежнему работаем со многими технологиями и платформами, которые сами сейчас уже не используем для создания новых проектов. В основном, это проекты на технологиях из экосистемы PHP.
Мы по-прежнему работаем со многими технологиями и платформами, которые больше не используем для создания новых проектов. В основном, это проекты из экосистемы языка программирования PHP.
Ruby — интерпретируемый мультипарадигмальный язык программирования, ориентированный на удобство для разработчиков.
В отличие от машинно-ориентированных языков, требующих писать программы так, чтобы компьютеру было максимально удобно их выполнять, Ruby ориентирован на удобство и повышение скорости разработки. В современном мире вычислительные ресурсы стоят значительно дешевле, нежели время разработчиков, поэтому этот подход в большинстве случаев не только более комфортный для разработчиков, но и экономически более целесообразный с точки зрения бизнеса.
Elixir — функциональный компилируемый язык программирования общего назначения. Он построен поверх языка Erlang, то есть Elixir — это почти тот же самый Erlang, но с «синтаксическим сахаром».
Использование Elixir с Erlang OTP обеспечивает распределённость и отказоустойчивость, исполнение в режиме мягкого реального времени, возможности метапрограммирования с макросами и полиморфизмом на базе протоколов.

Python — высокоуровневый интерпретируемый язык программирования общего назначения, ориентированный на повышение производительности разработчика и читаемости кода.
Язык поддерживает несколько парадигм разработки: структурное, объектно-ориентированное, функциональное, императивное и аспектно-ориентированное программирование. Python — отличный инструмент для задач по обработке данных и для машинного обучения.