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




Роман Медведев
А еще расскажи, чем Kotlin лучше Java и чем Rust лучше C++.
Роман Медведев
Можно там тоже, типа Java для инженеров, C++ для шизофреников, а Kotlin и Rust - это дааааааааааааааааааааа
Алексей Капустин
Графики хайпа? Согласен, у пайтона хайпа больше, но это не значит, что PHP мёртв или вообще умирает, просто PHPшники меньше шумят))
Это как сравнивать тапок с батоном
Php для сайтов,питон не для сайтов
Дмитрий Пустозёров
PHP ещё в ходу?
PHP больше для сайтов, Python универсальный
пхп там что то по базам данных в основном вроде а пайтон очень многогранный язык
Похожие вопросы
- Какой язык вы предпочитаете для веба: PHP или Python?
- PHP или Python? Что изучать для веба в 2018? И почему говорят, что php уже вымер?
- Стоит ли учить язык php или нет
- Чем язык php лучше C#?
- Сколько по времени изучать язык php
- Стоит ли выбирать первым языком php? И сколько времени может уйти на его изучение?
- Вы безумно рады, что недавно вышла свежая версия языка PHP?
- Вопрос начинающего программиста Python\PHP
- Python или 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 строки с числами складывать нельзя, так что падение все же будет