PHP vs Perl - преимущества, недостатки
Поясню. Есть большой web-проект. Он будет расчитан на большие объемы обращений со стороны клиента. Возможно, потребуется распределять ресурс на большом количестве физических серверов. Ему ни в коем случае нельзя быть "дырявым" в плане защиты.
Как преимущества можно использовать PEAR(php), CPAN(Perl).
Прошу давать конструктивные ответы, поделиться своим опытом и знаниями. Заранее спасибо!
хмм.... еще есть немного +сов, просто я этим не занимался (+/- не искал)
например на перле (c js) возможно реализовать upload с прогресс баром, а на php нет, так как апачи отдаёт "руль" php только после upload'а файла, а перлу раньше...
минус у перла. это только его синтаксис, немного мудрёный на первый взгляд
IMHO
Поясню. Есть большой web-проект. Он будет расчитан на большие объемы обращений со стороны клиента. Возможно, потребуется распределять ресурс на большом количестве физических серверов. Ему ни в коем случае нельзя быть "дырявым" в плане защиты.
я не программист, я администратор, но действительно БОЛЬШОЙ проект я бы не рискнул писать на PHP. дыряв, ИМХО. и скорость оставляет желать лучшего. Perl, а еще лучше - С++ :)
да, Dolonet, стукни в аську, дам кое какие приватные контакты, пообщаешся.
А я рисковал и все нормально :)
Примерно, в чем это выражается не могли бы рассказать?
Ничуть не ниже, чем у Perl на большинстве задач.
Тогда уж C#
масштаб проектов?
Примерно, в чем это выражается не могли бы рассказать?
вы пишите на пхп и не читаете http://www.php-security.org/ ? моим друзьям-хостерам, за этот год несколько раз приходилось патчить пехапе с интервалом в день-два. слава Богу, я не обслуживаю серверов с ПХП ;)
Ничуть не ниже, чем у Perl на большинстве задач.
это весьма спорный вопрос. как CGI, например - Perl быстрее.
Тогда уж C#
[/quote]
почему?
Если судить по посещаемости и нагрузке, то достаточно крупные.
Если по функциональности, лучше сказать "выше среднего" :)
Для действительно БОЛЬШИХ, PHP в самом деле не совсем адекватен (пространств имен даже нет).
На Perl слишком крупного не делал, поэтому говорить не буду. Собственно это и к теме относится - чтобы делать большие проекты, нужно очень хорошо знать язык и все его плюсы и минусы. А абстрактный вопрос "что лучше php/perl?" не совсем корректен. Квалификация и предпочтения программиста здесь тоже очень важны.
А это их хлеб :) А если серьезно - все эти дыры, достаточно специфические и большой серьезности при грамотном программировании не несут.
Все споры разрешает эксперимент :)
Не ставить PHP, как cgi :)
почему?
Вообще язык сам по себе более приятный. Кроме того, интегрирован с ASP.NET, а это все-таки более лучшая база, чем писать cgi-приложение с нуля.
я пишу на перл, основательно, уже год... начинал писать работая в internet-провайдере... не зря же выбран был язык perl, а не php для биллинговой системы....
а php, я считаю, на самом деле, язык для проектов не высокой сложности... инет-магазины - да! парсеры... кхм... я предпочитаю писать их на perl'е....
2Mike: чего-то то ли сплю, то ли просто не вижу )) не увидел я там надостатка Perl, о котором ты говорил... может процитируешь сюда? :)
А абстрактный вопрос "что лучше php/perl?" не совсем корректен. Квалификация и предпочтения программиста здесь тоже очень важны.
тут согласен
А это их хлеб :) А если серьезно - все эти дыры, достаточно специфические и большой серьезности при грамотном программировании не несут.
у ПХП есть достоинство - простота для начинающих. и эта простота оборачивается огромным количеством пхпшных поделок, которые ваяют неофиты. говорить о грамотном программировании тут не приходится.
Не ставить PHP, как cgi :)
а как? а если я использую, например, nginx? :)
[quote=ReDrum]
на чем лучше умеешь писать, не тратишь много времени и сил - то и лучше
[/quote]
точно. помнится пару лет назад один деятель рассказывал про CGI на ассемблере ;)
сравнения скорости Перла и ПХП несостоятельны в принципе, они примерно одинаковы как и CGI, так и mod-режимах, спорить об этом не собираюсь. на любом языке можно написать максимально быстрый и максимально тормозной проект.
если быть параноиком - юзайте C/C++ )))
... а также максимально глючный и максимально уязвимый ) думаю вопрос нужно ставить так: на чём удобнее, быстрее и гибче?
Вопросы такие: У кого бОльшие возможности по работе с MySQL, выше скорость этого интерфейса? Есть информация, что у PHP эта связка может быть медленней Perl-а, причем значительней. PHP, может быть, плохо работает в таких проектах, когда база данных не одна, а их сорок, каждая из которых в разных точках мира, и иногда надо обращаться туда и сюда. Еще на PHP не посоздаешь так просто e-mail, тяжело сконфигурить поддомен и т.д.
В чем из перечисленного я ошибаюсь?
Насколько я знаю, есть для Perl CPAN, HTML::Mason и Cache::Memcached, которые постоянно обновляются. Очень хочется верить, что реально крупный проект можно наваять на PHP, но очень не хочется потом наткнуться на то, что все жутко тормозит даже с кешированием, и некоторые вещи на PHP не сделать просто с технологической точки зрения.
так и запишем. Perl - не знает :)
сравнения скорости Перла и ПХП несостоятельны в принципе, они примерно одинаковы как и CGI, так и mod-режимах, спорить об этом не собираюсь. на любом языке можно написать максимально быстрый и максимально тормозной проект.
т. е. слив засчитываем? ;) в CGI - перл гораздо быстрее. в CLI - тоже. в модах - хызы. может быть и равенство.
если быть параноиком - юзайте C/C++ )))
[/quote]
а почему параноиком?
В каком случае PHP5 будет работать четко при очень больших объемах обращений к сайту, в том числе к БД, конечно? Есть ли у кого-нибудь статистические данные о том, какая разница в скорости интерфеса PHP-MySQL и Perl-MySQL?
а на с++ пишут веб-проекты параноики, потому что сделать небезопасный и дырявый проект на С намного легче, чем на том же пхп или перле. скрипты пхп не подвержены переполнениям буфера и ошибкам работы с памятью -- только сам интерпретатор.
лично мне перл как язык нравиться больше, потому что он более свободный в своём синтаксисе - раз, и потому что модули к нему подключаются не как в пхп, динамическими библиотеками, а как сырцы написаные на том же перле - не нужен не перезапуск веб сервера (в случае мод), ни перекомпиляция модулей (я фришник отчасти, поэтому привык ставить из сырцов). хотя я вообще-то на перле не писал :) щас только хочу в нём освоится, почитал чуток только. да и вообще, я не веб разработчик, поэтому моё мнение можно если и учитывать, то в последнюю очередь :)
В том же в каком и Perl и все остальное. В случае если всем процессам будет хватать ресурсов.
И что, они по скорости сопоставимы с машинным кодом? Если нет, то к PHP тоже можно php-файлы инклюдить :)
Кстати, раньше была вещь, по которой PHP делал Perl однозначно — отложенное копирование переменных. Сейчас в Perl его реализовали или еще нет?
Интересно следующее: Насколько сложнее (т.е. дороже) написать одну и ту же систему на Perl нежели на PHP? Ну, допустим, средний форум с использованием БД MySQL.
И что, они по скорости сопоставимы с машинным кодом? Если нет, то к PHP тоже можно php-файлы инклюдить :)
Кстати, раньше была вещь, по которой PHP делал Perl однозначно — отложенное копирование переменных. Сейчас в Perl его реализовали или еще нет?
что касательно ресурсов в связке LAMPerl, можно с шаредной памятью поработать ;)=
До инклюдов, есть такая штука как XS - это работа со перловыми внутренностями на с. Асемблер, Андрей, уже вспоминал в этой ветке ;)=
Что до отложенного копиравания, хохо, программирование не заключается в присваннии одних переменных другим ;)=
Есть такое :-)
У меня есть, правда еще php4 - разница в 1-2мс причем в обе стороны
PHP4-modPrel - томозит как правило база и программист :-)
хехе, щас будем писать противоположные примеры ;)
http://slashdot.org/
http://livejournal.com/
http://en.wikipedia.org
http://amazon.com/
http://www.teztour.ru/
Кстати, http://sourceforge.net - PHP
http://forum.sysadmins.ru/13/131384/
дабы не возникало вопросов о компетентности спорящих - участвуют товарищи из livejournal.com, google.com и других не мелких конторок :)
я пишу на перл, основательно, уже год... начинал писать работая в internet-провайдере... не зря же выбран был язык perl, а не php для биллинговой системы....
;)
Так что еще вопрос, что было бы выбрано, если бы зачинатель проекта писал бы на PHP.
Во во. "Максимально безопасная и стабильная ОСь которую лучше всего знаешь или которую лучше знает знакомый гуру" (с) :D
http://forum.sysadmins.ru/13/131384/
дабы не возникало вопросов о компетентности спорящих - участвуют товарищи из livejournal.com, google.com и других не мелких конторок :)
Сижу читаю... хм... не до конца еще правда, но сходу возникает одна мысль: "высказывается некая мысль в постулативной форме. Бездоказательно. А доказательство базируется на соображении: я эксперт, просто примите на веру моё утверждение. Точка". Может чуть ниже будет больше конструктива.
Кстати, http://sourceforge.net - PHP
эээ, отстал от жизни на пяток лет ;)= действительно, сейчас на php
http://en.wikipedia.org/wiki/Wikipedia#Software_and_hardware
И что, они по скорости сопоставимы с машинным кодом? Если нет, то к PHP тоже можно php-файлы инклюдить :)
по скорости они, конечно, не сопоставимы. зато они кроме всего прочего и не сопоставимы по удобству использования. если этого хостинг, то он или предоставляет тебе какой-то конкретный модуль, или нет. не думаю, что админы хостинга будут ставить ради тебя одного модуль, который ты попросишь. а в перле в этом плане, я так понимаю, намного легче. да и расширений для перла на порядок побольше чем для пхп
Не знаешь, где найти результаты тестов на скорость для PHP и Perl сравнительную?
:D
К чему я этого? Берем один и тот же алгоритм и реализуем его на Perl и на PHP, а потом на одной и той же машине тестируем. Взялся бы за реализацию подобной задачи сам, но Perl знаю крайне посредственно.
Скорее всего это из-за того, что в обоих программах .юзались спуцефические вещи из VCL - библиотеки написанной на Delphi и для нее же, а в C билдер экспортированной. Естественно это библиотека в родном языке быстрее. Если бы для задачи исспользовали обычный С++ без всяких паскалевских прилад (да и компилятор нормальный, а не эту борландовскую поделку - вероятно результат был бы другой=) )
Да, мне тоже так подумалось, но в детали вдаваться тогда смысла не было. И потом я привел это просто как иллюстрацию.