proglib
Сообщение

Хотите написать игру на Python? Разберитесь в языке с нуля!

Хотите написать игру на Python? Разберитесь в языке с нуля!

SkillFactory 07 июня 2019

Языки на букву «P»: сравниваем возможности Python и PHP

1
8596

В статье речь идет о языках Python и PHP, их схожих и отличных характеристиках. Никогда не задумывались о том, что у них общего? Рассказываем.

PHP – титан скриптовых языков, на котором работает 79% всех существующих сайтов. С другой стороны, на Python приходится основная доля интернет-трафика: на его чаше весов такие гиганты, как Amazon, Google, Reddit и Instagram. Попробуем разобраться в сильных и слабых сторонах этих языков с точки зрения веб-разработки... не холивара ради, а эрудиции для.

Языки на букву «P»: сравниваем возможности Python и PHP

Сложность освоения

Одна из ключевых характеристик любого языка программирования. От того, как функциональные возможности соотносятся с удобством использования, зависит приток новых программистов, а значит и развитие той или иной экосистемы. Кроме того, чем проще язык, тем меньше времени уходит на разработку приложений, а это прямо влияет на стоимость продуктов.

По этому параметру Python обходит большинство, если не всех своих конкурентов. Именно этот язык рекомендуют учить в качестве первого, именно его синтаксис приводят в пример, когда речь заходит о прозрачности и удобстве кода. С другой стороны, PHP никогда не стремился нравиться новичкам: один тот факт, что его первые скрипты выросли из C, уже говорит о многом. Сегодня, когда веб-приложения превратились из простеньких утилит в грандиозные программные решения, сложность PHP отпугивает многих разработчиков.

Скорость работы

Одна из главных претензий противников Python – его медлительность. И действительно, PHP 7 разносит Python 3 в бенчмарках. Это означает, что серверные приложения тратят больше ресурсов, и при высокой нагрузке – возьмём для примера веб-приложение с миллионом ежедневных посещений – разница производительности действительно скажется на показателях проекта.

В защиту Python стоит сказать, что до определённой границы отставание будет микроскопическим. Если PHP-приложение выполняется за 10 мс, а программа на Python – за 30 мс, то трёхкратной разницей в производительности можно пренебречь. Решение остаётся за разработчиком, который выбирает нужный фреймворк по условиям конкретной задачи.

Поддержка комьюнити

Все мы идём в Интернет, когда у нас возникают вопросы – как в личной, так и в профессиональной жизни. И каждому знакомо это чувство, когда на третьей странице выдачи наконец обнаруживается ссылка на страницу с нужной информацией... а браузер показывает ошибку 408. Живое сообщество разработчиков, которые обмениваются опытом – обильно сдобренным профессиональными колкостями – страховка от таких ситуаций.

И PHP, и Python по этому параметру находятся примерно на одном уровне. Первый держится за счёт более чем 20-летней истории, в пользу второго играет статус «рок-звезды» среди языков программирования. Правда, понять ответы Python-профессионалов может быть проще, поскольку сам язык дружелюбнее к новичкам. Ещё один плюс – огромное количество разнообразной документации на все случаи жизни.

Языки на букву «P»: сравниваем возможности Python и PHP

Спектр доступных библиотек

Логичное продолжение предыдущего пункта. Чем больше программистов работает с тем или иным языком, тем больше они создают новых функциональных модулей. Это расширяет его возможности, отчего язык привлекает новых адептов... в общем, вы поняли.

На этом поле Python держит уверенное лидерство: его Django стал эталонным фреймворком для веб-порталов всех мастей; CherryPy прямо из коробки предлагает полный инструментарий для создания веб-приложений на базе собственного мультипотокового сервера; есть решения для машинного обучения и работы с большими данными. Библиотеки PHP отстают по функциональности и удобству использования, и это признаёт большинство программистов.

По этой причине порог входа в Python для веб-разработки не слишком высок. Для начала достаточно понять логику языка и освоить несколько лучших фреймворков.

Отлов ошибок в коде

Ещё один показатель, который сильно влияет на стоимость разработки: как быстро в программе можно найти баги и узкие места. Меньше ошибок – меньше работы тестировщикам – больше ROI. Про пользователей тоже не стоит забывать: чем быстрее разработка, тем быстрее появляются новые функции, которые привязывают людей к продукту.

И у Python, и у PHP есть собственные дебаггеры: PDB (Python Debugger) и XDebug соответственно. Оба дебаггера обеспечивают вывод пути до обнаруженной ошибки, визуализацию параметров производительности и другие функции ежедневной необходимости. В этом отношении среди языков нет явного лидера.

Подсчет очков

Итак, в нашем сравнении Python победил в двух номинациях, PHP – в одной, ещё два раунда закончились вничью. Напрашивается вывод, что в этом столкновении нет чистого победителя. Если вы уже маститый PHP-разработчик, этот язык закроет все ваши потребности, да и в ближайшие годы без работы вы точно не останетесь. Нужно ли погружаться в новый язык, зависит от ваших целей и возможностей.

Если вы программист со стажем, но без особых карьерных перспектив, Python может открыть вам множество новых дорог. Возможность писать код как книгу позволяет мозгу больше инвестировать в креатив и работать над новыми идеями. Не побоимся повториться – начинающему программисту стоит прежде всего освоить именно Python. После этого можно продвигаться по уровням сложности как душе угодно.

Важно понимать, что Python – не просто модная игрушка, а мощный инструмент, с помощью которого можно создать как небольшую утилиту для упрощения отдельного процесса, так и масштабный сервисный портал с миллионами посетителей в сутки. Если вас будут убеждать в обратном – улыбнитесь и откажитесь от холивара.

РУБРИКИ В СТАТЬЕ

МЕРОПРИЯТИЯ

Комментарии 1

ВАКАНСИИ

Разработчик JavaScript
от 150000 RUB до 200000 RUB
Lead Engine Programmer
по итогам собеседования
Tools Programmer
Дублин, по итогам собеседования
Database Engineer
Казань, по итогам собеседования

ЛУЧШИЕ СТАТЬИ ПО ТЕМЕ

BUG