В каких случаях Python лучше PHP?

123 4
DV
На сайте с 01.05.2010
Offline
644
#11

Я чего, будучи ни ухом, ни рылом в Python (час экспериментов со здравствуймирными скриптами не в счёт), влез в этот топик, хочу пояснить…

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

По факту, выяснил, что хвалят их в основном сами кодеры джанг и рельс, т.е. это носит характер религии.

Ну, да, где-то эти языки дают на несколько попугаев больше. Но в основной массе накладные расходы существенно не отличаются от PHP, особенно, не на синтетических тестах, а на реальных больших проектах со множеством "если". К этим накладным и "если" надо отнести, в том числе, и стоимость разработки. Но что меня ещё больше убило — попадались сравнения, где написанное на этих языках проигрывает PHP, причём, чисто в условиях highload!

В общем, шило на мыло, а ещё надо учесть то, что PHP сейчас стремительно развивается, и это уже не то недоразумение, что было 15 лет назад. Посмотрите, хотя бы, современные фреймворки. Моей ошибкой было то, что я сам недооценил этот язык и долго относился к нему с пренебрежением.

P.S. Не хочу, чтобы мою риторику восприняли как попытку принизить достоинства Python. Все инструменты хороши. Просто ошибкой было бы считать его серебрянной пулей, в результате применения которой вдруг сайты залетают и деньги повалятся с неба.

---------- Добавлено 09.06.2015 в 08:46 ----------

kostyanet, оно с одной стороны даже хорошо. Порядок как в армии.

VDS хостинг ( http://clck.ru/0u97l ) Нет нерешаемых задач ( https://searchengines.guru/ru/forum/806725 ) | Перенос сайтов на Drupal 7 с любых CMS. ( https://searchengines.guru/ru/forum/531842/page6#comment_10504844 )
K
На сайте с 03.06.2015
Offline
45
#12

В теории PHP должен сам себя убить. Зачем писать такие сложные конструкции как придумывают в фрейворках типа Yii, если оно уже сравнимо с исходником на С. Написал фреймворк на си с тем же php-интерфейом и вперде. Или я что-то не понимаю?

---------- Добавлено 09.06.2015 в 08:51 ----------

Ну то есть типа ASP и Бейсик.

MYSQL PHP JS HTML CSS SEO TXT США СССР
PN
На сайте с 22.08.2012
Offline
103
#13
kostyanet:
Зачем писать такие сложные конструкции как придумывают в фрейворках типа Yii, если оно уже сравнимо с исходником на С. Написал фреймворк на си с тем же php-интерфейом и вперде. Или я что-то не понимаю?

видимо, на PHP написать проще, чем на C и потом компилировать модули для PHP:)

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
DV
На сайте с 01.05.2010
Offline
644
#14

kostyanet, представляете, каким перегруженным будет сервер, с кучей подгружаемого?

Нужно ведь соблюсти разумный компромисс между функционалом и необходимостью большинству.

Хотя, такие вещи как YAF, Phalcon имеют место быть…

K
На сайте с 03.06.2015
Offline
45
#15

Что значит перегруженным? Вы просто отключаете модуль php, и подключаете модуль, скажем, yii. У которого API на том же самом php. Кажется в Пайтоне есть интепретатор написанный на Пайтоне.

---------- Добавлено 09.06.2015 в 09:49 ----------

Скажем так, скрипты резко облегчают дизайн-тайм. На скриптах можно быстро искать, находить и прорабатывать решения. Когда решение найдено, когда ядро получилось удачным, уже нет смысла его интерпретировать его каждый раз. Можно скомпилировать и по обстоятельствам - либо сделать компонентом интерпретатора, либо включить интерпретатор в сборку и скомпилить заодно.

Таким образом сложность скрипта нарастает до некоторого качественного уровня, затем удачные находки компилируются и хоба-на - интерфейсы по-прежнему сверкают глуботой и одновременно - простотой.

DV
На сайте с 01.05.2010
Offline
644
#16
kostyanet:
Что значит перегруженным?

Я про тот случай, когда на сервере крутятся другие проекты, не использующие эти библиотеки.

[Удален]
#17

Знаю и то и другое, но Python гораздо лучше, чтобы было больше доверия к следующим словам скажу, что знаю еще C/C++, JavaScript ( естественно: shell, PL/SQL/MySQL, css, awk, lex, sed, yacc/bison, etc. .. unix tools )).

по производительности python и php мало чем отличаются, по крайней мере для сайтостроения, т.к. там гораздо большее значение имеет структура БД, количество этих самых запросов в БД и их качество.

Плюсы PHP:

Идет на любом хостинге

Заводится без каких либо настроек сервера

Распространенность

Дешевость кодеров

Легкий вход в язык

Шаблонизатор встроен в язык (отчасти это и минус)

Большое количество библиотек ( в основном ориентированных на функционал веба )

Минусы PHP:

Очень много говнокодеров ( производная его плюсов )

Дискредитирован среди опытных программистов

Как первый язык создает кашу в голове (располагает писать криво, косо, мешая типы между собой в перемешку c html и JS )

Очень долгое время слабая ориентация на ОО отсюда спагетти код вперемешку с html

Оринтированность на веб, поэтому скажем написать на нем нативное приложение вряд-ли получится

Плюсы Python:

Красивый стройный код, pep8 и пр. Python заставляет писать опрятно

Очень много библиотек для разработки в т.ч. нативных приложений ( 3d, научные либы, для работы с графикой и большим количеством данных)

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

Полная интеграция с C++/С ( cython и т.д. ) где узкие места можно написать на C++ и использовать как обычную либу python

Если стихия php это веб, то стихия python это практически любая система. Многие встроенные утилиты linux написаны на python, он работает и в системах реального времени и на спец. оборудовании где частенько заменяет C/C++, на нем пишется логика поведения 3d персонажей в играх и т.д. и т.п. это по настоящему универсальный язык.

Минусы Python:

На shared хостинге редко работает корректно в связке с django ( требует VPS/VDS/dedicated )

Чтобы завелся проект нужны знания по администрированию linux и уметь читать мануалы в т.ч. на английском,

Инфраструктура Python более требовательная, люди здесь уже знают и умеют пользоваться git/svn/mercurial

В связке с wsgi памяти ест больше нежели php + php-fpm

Дорогие специалисты и их не много и они как правило заняты.

DV
На сайте с 01.05.2010
Offline
644
#18

imagine, хорошо написали, некоторые уточнения

imagine:
написать на нем нативное приложение вряд-ли получится

PHP-GTK?

imagine:
Многие встроенные утилиты linux написаны на python, он работает и в системах реального времени и на спец. оборудовании где частенько заменяет C/C++

+100500

Программирование микроконтроллеров ярко выраженная полезность.

malquem
На сайте с 14.06.2011
Offline
133
#19

Никак не могу решиться на python.. рано или поздно я возьмусь, а пока работы валом))

Все люди - братья, но не все братья - люди.
PN
На сайте с 22.08.2012
Offline
103
#20
malquem:
Никак не могу решиться на python.. рано или поздно я возьмусь, а пока работы валом))

да он прост и удобен:)за 2 дня уже профи (при условии знания PHP)

123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий