![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| DezmASter |
|
|||
![]() Дизайнер :) ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1520 Регистрация: 3.2.2006 Где: Украина, Запорожь е Репутация: 1 Всего: 109 |
Сегодня мне в асю кинули вот такой вот материал для размышления. К сожалению в Yandex'е я так и не смог найти сайт с оригиналом текста, но все же вот этот текст неизвестного автора:
«Распространенность php вызвана легкостью установки его на сервере, малым количеством парадигм, заложенным в язык (императив + недо-ооп) -» легкость изучения а т.ж. тем, что это именно узко-нишевый язык, заточенный под веб, в отличие от java, ruby, python, perl - языков общего назначения, сравните распространенность php и perl/python на десктопе и все станет на свои места.. По большому счету это не язык, это всего лишь _препроцессор текста_, у него нет даже виртуальной машины, он не приспособлен для long-running-processes, на нем даже не напишешь stand-alone сервер, нет потоков, это паталогически _не правильный_ язык (если все же рассматривать его как язык), который подобает использовать ясно осознавая эту всю его неправильность - отсутствие модулей (пакетов, неймспейсов), отсутствие высокоуровневых типов данных, огромное количество глобальных не очень системно названных функций вида another_this_very_useful_function (ввиду отсутствия модулей), перемешивание логики работы и отображения, не способствующее MVC, отсутствие такого полезного высокоуровневого средства как исключения: Все попытки как то окультурить это дело (Smarty, всякие ORM-ы) производят впечатление мягко говоря использования средства не по назначению. php идеально подходит для не очень больших обособленных програмных комплексов типа форумов, гостевых, различных других веб-скриптов, кое-как для небольших CMS. Для других более сложных enterprise веб-приложений использование PHP возможно, но не обосновано в виду слабой масштабируемости (как там насчет кластеризации, load-balancing'а), не модульности, отсутствием высокоуровневых средств языка. В этом сигменте гораздо лучше подходят языки общего назначения, позволяющие писать приложения, выполняющиеся на специальном application server'е. А использование PHP CLI это вообще из ряда вон выходящее извращение:» Итак, по пунктам: 1) По каким критериям автор оценивал что является языком программирования, а что нет. По легкости изучения? Так что же паскаль (delphi) тоже в трешь? Или узкая заточка под конкретные цели тоже теперь переводит язык программирования в разряд «всяких там процессоров». Может тогда Фортран тоже в трешь, на нем все рано только только считать - «недоязык»? 2) «сравните распространенность php и perl/python». И что? Что под наш всеобъемлющий Windows пишется много программ на perl? А ведь пока никто не отменял монополию Microsoft на рынке десктопов. Работе с Windows учат в школах, в СУЗах, и даже в высших учебных заведениях. Но это уже другая тема. А если речь шла о unix десктопах, то тем более пример «ни о чем». Полно системных утилит написанных на PHP. И работают они на равнее с perl утилитами. 3) «у него нет даже виртуальной машины» - у Си тоже нет виртуальной машины (поправьте меня Си кодеры, если я отстал от жизни). Так что даже Си в трешь? 4) « на нем даже не напишешь stand-alone сервер». Да ну! Согласен, что писать на php серверное ПО это чушь, но, тем не менее, вполне реальная чушь. А что на Perl писать stand-alone сервер менее бредовая идея? 5) Как это в PHP нет пакетов расширений. А как же PEAR? Автор явно даже не «пробовал PHP». Об этом говорит такая фраза как «отсутствие такого полезного высокоуровневого средства как исключения». В PHP есть исключения (по крайней в пятой версии точно есть). 6) «перемешивание логики работы и отображения». Вот это называется, неудачная попытка перевернуть все с ног на уши. Это с каких пор наличие опций считается недостатком. Все профессиональные php кодеры полностью разделяют логику и представление. А возможность вставлять в HTML куски кода только помогает в изучении языка. Но, об легкости изучения я уже писал. 7) «кое-как для небольших CMS». Автор явно не в теме того, что уже написано на PHP. 8) «как там насчет кластеризации, load-balancing'а». А как там на счет load-balancing'а на уровне сервера? Кластеризация? Ну да: разве нельзя сделать кластер из серверов с PHP? Не понимаю причем тут именно PHP: или тут пыталась пройти мысль об отсутствии в PHP средств для программирования параллельных вычислений. В чистом Си их тоже нет и что? Вот такое вот пишут о PHP обиженные C# (про C# это только мое предположение, аргументы пока оставлю при себе) кодеры. Автор: Василий Котов Сайт автора: http://kotov.phpwars.net/ |
|||
|
||||
| Sardar |
|
|||
![]() Бегун ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 6986 Регистрация: 19.4.2002 Где: Нидерланды, Groni ngen Репутация: 4 Всего: 317 |
Мои 5 копеек:
1) нет, по теоретическим основам и выразительности (сравни с Ruby и Python'oм). Полностью согласен с автором в плане PHP4, и не согласен для PHP5, последний уже более терпим и реально большие проекты на нём писать можно. 2) не ясно что хотел сказать оппонент, при чём тут win/*nix системы...? На PHP можно написать вебсервер (такой уже есть), можно очень многое написать из-за массы плагинов/биндингов на разное нативное API. Но! никто не задумывается особо использовать PHP в этом качестве, большей частью потому, что программисты на PHP обычно не занимаются не веб-ориентированным софтом. С тем же успехом можно и на чистом ассемблере что нибудь большое написать, но таких чудаков не найти, значит дело здесь в удобстве ;-) 3) VM есть у всех скриптовых языков. Автор вероятно имел в виду поддержку JIT'а + расширенные возможности рефлексии. PHP5 в этом плане далеко не так плох. 4) (веб, ftp, rsync, etc)сервер на Python'е далеко не чушь. Подобное на PHP более страшно, т.к. работа с памятью у PHP заточенна под очень быстрые, не multi-threaded приложения. Потому он и сорит памятью, но какое это имеет значение если на запрос выдаётся целый блок, отработать нужно в микросекунды и освободим память тоже целым блоком со всем мусором. Это идеальная для веб-приложений работа с памятью, но ставит крест на long-running софте. 5) PEAR весьма мерзкое поделие по мнению многих, призванное скорее латать бреши дизайна PHP4. Да, там много полезных либ, но это не сравниться по количеству и главное по качеству с модулями для Perl (поброди по cpan.org) или Python. 6) 7) Согласен с оппонентом. 8) Согласен с оппонентом. load-balancing это задача сервера, а не скриптового движка. PHP очень хорошо масштабируем (википедия тому пример), потому что запросы обрабатываются движком индивидуально. Связующим звеном между двумя работающими скриптами может быть БД/реплика, общий (мем)кеш сервер, на худой конец файлы. Но между собой "общаться на прямую" они не могут, значит нет проблем с синхронизацией, значит не будет простоев от криворуких программистов и нет зависимостей - это позволяет выполнить два запроса на разных апп.серверах и расширять кластер до любых размеров. Попытался быть объективен -------------------- Опыт - сын ошибок трудных © А. С. Пушкин Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik Оценить мои качества можно тут. |
|||
|
||||
| smartov |
|
|||
![]() свой собственный ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4225 Регистрация: 2.2.2006 Где: NJ Репутация: 7 Всего: 259 |
Оба поста на 5 баллов. Спасибо. Очень интересно было почитать.
|
|||
|
||||
| GZep |
|
|||
![]() участник Винграда ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1528 Регистрация: 7.7.2006 Где: Москва Репутация: 8 Всего: 32 |
Маленькие скрипты PHP5(zend engine2) обрабатывает быстрее чем perl. Но вот в больших скриптах, PHP, к сожалению, уступает perl'у в скорости.
-------------------- ![]() ![]() |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: нет Всего: 173 |
Текст этот читал довольно давно, оригинал однозначно в ЖЖ, но найти не удалось. Возможно пост удалили, возможно моё умение обращаться с Google меня подвело. Жаль, там помимо этого поста и этого конкретного ответа ещё небольшая дискуссия была.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| WolfON |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 604 Регистрация: 19.7.2004 Репутация: 6 Всего: 8 |
Каждый свое болото хвалит.
В любом случае - главное это умение обращаться со своим языком программирования. Те, кто пишут такие статьи никогда не знают предмета полностью. |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |