PHP

В чём разница языков PHP и Python?

Имеет ли смысл изучать оба?
PHP - интерпретируемый язык с динамической типизацией наилучшим образом адаптированный для написания back-end сайтов, сетевых сервисов, web-api. Используемый в языке вариант ООП достаточно близок к таковому в Java и C#.

Вне web-серверов распространён мало, хотя с версии PHP 7.4 имеет возможность подключать любые библиотеки на языках C/C++ и потому может использоваться для точно тех же задач, что и Python.

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

Как самостоятельный язык программирования, а не прокладка для библиотек, Python используется чаще всего системными администраторами и для написания back-end. В back-end разработке по популярности, удобству и производительности кода безнадёжно отстаёт от PHP. Но мода на Python в web искусственно разогревается - в том числе многочисленными "курсами веб-разработки", впаривающими Python как единственный язык для back-end.

Когда адепты Python говорят про то, что крупнейшие компании используют этот язык в своих web-сервисах, они почему-то забывают добавить, что это Legacy, оставшийся от всплеска моды на Python, случившегося в давние времена PHP 5.3 (когда Python ещё мог составить конкуренцию PHP), и что корпорациям дешевле поддерживать устаревший код, чем полностью его переписывать на актуальных языках.

Современный Python в web-разработке по сравнению с современны PHP неконкурентоспособен.

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

P.S. Индекс TIOBE не имеет никакого отношения к реальной популярности языков у профессиональных разработчиков. Это всего лишь рейтинг популярности запросов в поисковых системах, включающих название языка. А больше всего таких запросов генерируют неучи.
Chubak Kg
Chubak Kg
89 962
Лучший ответ
Дмитрий Пустозёров Андрей, скажите, а какой механизм запуска PHP-разработок является сейчас наиболее эффективным? FastCGI?
Полное Имя Сейчас объясню, что такое "реально работающий контроль типов" и почему в PHP его нет, вот пример на который PHP не ругнется

function test(bool $param) {}

function hey(){
test([1,2,3]);
}

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

Что касается TIOBE index на сайте четно описано на чем он основан:
" The ratings are based on the number of skilled engineers world-wide, courses and third party vendors. "
Полное Имя "Ты привёл пример, элементарно опровергаемый покрытием тестами. И если до тебя не дошёл смысл моего ответа, мне остаётся только тебя пожалеть."
- Я просто надеялся что мне не придется объяснять элементарные вещи, вроде того, что в аннотации может быть написано что-то вроде ARRAY[string, int] (хз как это в PHP, поэтому использую псевдоязык) и все тесты пройдут, а в реальности одно из значений придет NULL.

"Если такое произошло при выполнении финансовых операций - это разорение компании."
- Вообще как бы нет, это только в слаботипизированном PHP возможно, но в python строки с числами складывать нельзя, так что падение все же будет
PHP - это язык для домохозяеек, как швейцарский нож - он умеет все, но это плохой нож, плохие ножницы, плохая открывашка. У Python'a в отличие от PHP есть четкий фокус (на скорость разработки и легкость в чтении кода), python имеет свой дзен и четкий ответ на вопрос - для чего нужен язык. Оба изучать не имеет смысла, PHP умирающий язык, так что python из этих двух лучший выбор.

El Capitano
El Capitano
73 814
Роман Медведев А еще расскажи, чем Kotlin лучше Java и чем Rust лучше C++.
Роман Медведев Можно там тоже, типа Java для инженеров, C++ для шизофреников, а Kotlin и Rust - это дааааааааааааааааааааа
Алексей Капустин Графики хайпа? Согласен, у пайтона хайпа больше, но это не значит, что PHP мёртв или вообще умирает, просто PHPшники меньше шумят))
Это как сравнивать тапок с батоном
Php для сайтов,питон не для сайтов
SH
Sansei He Came And Went
9 534
PHP больше для сайтов, Python универсальный
пхп там что то по базам данных в основном вроде а пайтон очень многогранный язык