LINUX.ORG.RU

PHP vs RoR vs Django


0

0

Опубликованы результаты сравнительных испытаний производительности трёх различных веб-фреймворков: Symphony(PHP), Ruby on Rails и Django(Python).

Вкратце: Rails оказался гораздо быстрее, чем Symphony, а Django - гораздо быстрее, чем Rails.

>>> Подробности

★★

Проверено: Shaman007 ()
Ответ на: комментарий от Aceler

>> fckeditor у него на пыхпыхе

> Где я такое писал? Я писал, что у него коннекторы на PHP, Perl, ColdFusion, ASP, JAVA и ASP.Net. Пока видел утверждение, что его можно _прикрутить_ к Ruby. Уговорил.

> Не ошибается тот, кто ничего не делает. Вот ты, например, ничего не сделал. Где 4 форума? Где интернет-магазины? Где GroupWare системы? Пока видел только один форум.

Друк, я ж дал тебе даже название файла для интеграции с python, который в официальном тарболе есть...

Твои утверждения наводят на мысль что "Солженицина не читал, но осуждаю"

anonymous
()
Ответ на: комментарий от anonymous

> При внедрении системы - ответить за все глюки того, чем заказчик пользовалься раньше.

Могу только посочувствовать...

PartyZan ★★★
()
Ответ на: комментарий от anonymous

> Друк, я ж дал тебе даже название файла для интеграции с python, который в официальном тарболе есть...

Да мы вроде о Ruby говорили...

Python видел. Давайте на питоне - форумы, интернет-магазины, groupware, чего там еще... :) Инфраструктуру, короче.

Aceler ★★★★★
()
Ответ на: комментарий от anonymous

>Шаблоны smarty слишком много умеют, и провоцируют разработчиков засовывать в них слишком много логики. Как в нашем любимом недоязыке PHP. Напротив, в Django вся логика пишется на питоне, а язык шаблонов там сделан в духе здорового минимализма. Как результат, шаблоны можно отдавать всяким дизайнерам-верстальщикам, которые в Питоне ни бум-бум, и они при всём желании не смогут ничего сломать.

Только не надо, про то что верстальщики смарти запутаются. Пойду наешму арт-директору и верстальщице расскажу.

gloomdemon
()
Ответ на: комментарий от KRoN73

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

gloomdemon
()
Ответ на: комментарий от anonymous

А я вот Солженицина читал, но осуждаю :) кстати, в оригинале был Пастернак

anonymous
()
Ответ на: комментарий от gigabito

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

gloomdemon
()
Ответ на: комментарий от Aceler

> Python видел. Давайте на питоне - форумы, интернет-магазины, groupware, чего там еще... :) Инфраструктуру, короче.

Вся проблема в том, что кругозор твой заканчивается только "форумы, интернет-магазины, groupware"... а можно его расширить? есть что-то аналогичное zope на php? А про groupware я вообще умолчу. Поделкам на php еще очень дааалеко до intranet-систем, которые реализуют на zope. Нужно cms'ка - не хочешь zope, поставь сверху plone и т.п. Зайди на zope.org, plone.org... почитай. Не нравиться python/zope выбирай java/jboss, например.

а форумы, интернет-магазины - это не enterprise. Какая-такая бизнес-логика в форуме может быть? Примитивнейшая rule-base авторизация, да хранение того, что написали.

anonymous
()
Ответ на: комментарий от anonymous

> Не нравиться python/zope выбирай java/jboss, например.

Ну вот и получается, что весь интернет работает на PHP, а крутые перцы пишут крутые CMS...

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

> Ну вот и получается, что весь интернет работает на PHP, а крутые перцы пишут крутые CMS...

Для тебя "весь интернет" это интернет-магазины и форумы, блевнички всякие (кстати, жж почему-то не на пхп писан), гостевухи? Мелкие странички с примитивным функционалом -- да, на пхп, ибо дешевле и быстрей. Но это _далеко_ не весь интернет.

Кстати, интренет не на пхп работает :))))

zw0rk
()
Ответ на: комментарий от Aceler

>> Не нравиться python/zope выбирай java/jboss, например.

> Ну вот и получается, что весь интернет работает на PHP, а крутые перцы пишут крутые CMS...

Круче таких перцев только яйца, а выше только звезды... 80% это хомяки писанные недопрограммистами на php. И что из этого получается? Слишком завышенное самомнение у большей части вышеназванный пользователей (разработчиками их как-то язык не поворачивается назвать) сети - вот что получается. Выкини их из статистики и будет равномерное распределение между php/perl/python/ruby/java

anonymous
()
Ответ на: комментарий от anonymous

> 80% это хомяки писанные недопрограммистами на php.

По статистике, 86,4653% ничем не подтвержденных данных просто высасываются из пальца.

Aceler ★★★★★
()
Ответ на: комментарий от zw0rk

> Кстати, интренет не на пхп работает :))))

Ну, можно поднять модную тему "ускорителей интернет", раз уж мы взялись давать определение, на чем он работает :D

Aceler ★★★★★
()
Ответ на: комментарий от zw0rk

> Кстати, интренет не на пхп работает :))))

на php, на php... cisco'всие ios'ы на php os'ы на php системный софт на php одним словом, все на php, а... стой, не все... по непроверянным сведениям, в сети есть пару-тройку ресурсов. один, вроде как на c, еще один на ruby, где-то там рядом java пробегала, на python'е где-то было, и один кадр мне по секрету сказал, что он видел один ресурс на perl, но просил не выдавать, где он находится. Я пообещал, так что... извини, не могу сказать.

anonymous
()
Ответ на: комментарий от Aceler

>Ну, можно поднять модную тему "ускорителей интернет".

Можно, я как раз через неделю-две начинаю предоставлять подобный сервис (на время тестирования бесплатно), точки для хорошего latency пока только в Европе и России..

forgiven
()
Ответ на: комментарий от Aceler

> По статистике, 86,4653% ничем не подтвержденных данных просто высасываются из пальца.

За себя не говори...

anonymous
()

В качестве ремарки. Подавляющее большинство хостеров поддерживают лишь пхп4, подавляющее большинство "проектов" писано/пишуться на нём же, так что если мы говорим о доминировании пыхпыха, то именно четвёртого.

zw0rk
()
Ответ на: комментарий от zw0rk

>(кстати, жж почему-то не на пхп писан)

Еслиб он был на ПХП написан, сейчас бы мы видели phpjabberd :D

forgiven
()
Ответ на: комментарий от zw0rk

> В качестве ремарки. Подавляющее большинство хостеров поддерживают лишь пхп4, подавляющее большинство "проектов" писано/пишуться на нём же, так что если мы говорим о доминировании пыхпыха, то именно четвёртого.

Небольшая ремарка. Более-менее солидные проекты не используют шаред-хостинг. Как минимум VPS или даже колокейт. В этом случае что нужно то и будет.

anonymous
()
Ответ на: комментарий от anonymous

> Небольшая ремарка. Более-менее солидные проекты не используют шаред-хостинг. Как минимум VPS или даже колокейт. В этом случае что нужно то и будет.

Кто-то говорит про серьёзные проекты? Имеется в виду именно ниша пхп.

zw0rk
()
Ответ на: комментарий от anonymous

>Небольшая ремарка. Более-менее солидные проекты не используют шаред-хостинг. Как минимум VPS или даже колокейт. В этом случае что нужно то и будет.

dedicated'ы расхватывают махом по 45$/месяц..

forgiven
()
Ответ на: комментарий от CrazyPit

> Ну и ты сгенеришь из этого кода только форму со всеми валидацями. В РоР такая же херня вообще без кода делаеться (только с SQL).

И у меня без кода. И без SQL. Так в чём разница, или, как говорят в
рекламе, за что платить больше?

annonymous ★★
()
Ответ на: комментарий от forgiven

> Ну и ты сгенеришь из этого кода только форму со всеми валидацями. В РоР такая же херня вообще без кода делаеться (только с SQL).

>И у меня без кода. И без SQL.

>Силой мысли програмируешь веб сервера? :)

Как и выше, у него тоже RoR телепатией из SQL узнаёт какие поля requred а какие нет и т.д.

А выше вон, интернет ускоряют. В общем видно проснулась секта телепатов.

gloomdemon
()
Ответ на: комментарий от gloomdemon

Интересно, а если мне надо будет селект туда засунуть, среди полей, мне тоже через SQL описывать?

gloomdemon
()
Ответ на: комментарий от gloomdemon

>А выше вон, интернет ускоряют. В общем видно проснулась секта телепатов.

Много разных алгоритмов паковки применяют по разным протоколам, вот и ускорение :) На форумах как ipb, с их стандартными шаблонами ~80% трафика можно сократить.. 150кб или 30кб, что быстрее на модеме загрузится ? :)

forgiven
()
Ответ на: комментарий от CrazyPit

> Нужно прикреплять к сущность картнику, файл картинки хранится в поле таблицы, нужно аплоадить его в той же форме. В rails это делаеться 1 строкой в контроллере 1 во view. Как с QuickForm?

Определяешь свой qf_type = 'image', код для аплоада есть готовый. Да,
согласен, на три строки больше получилось.

> Ну или нужно поле с ajax автокомлитом.

qf_type = 'autocomplete'. Тоже одна строка...

В таких случаях здесь говорят "ниасилил" ;)

annonymous ★★
()
Ответ на: комментарий от anonymous

> Не нравиться python/zope выбирай java/jboss, например.

А никто и не против. php - для простых вещей, java - для сложных, тяжёлых. Собственно, на этом всё. :)

atrus ★★★★★
()
Ответ на: комментарий от anonymous

> Выкини их из статистики и будет равномерное распределение между php/perl/python/ruby/java

Ну да, ну да... Выкиньте все тех, кого я считать не хочу и всё будет в мою пользу. Ага, ага...

atrus ★★★★★
()
Ответ на: комментарий от Cris

> Это не преимущество, а особенность реализации. Я тоже могу сделать то-же самое, но предпочитаю таблицы добавлять через phpmyadmin.

Таки это преимущество. Новые поля можно генерить прямо в коде на лету
в зависимости от конфигурационных параметров, например.

> Я тебе про другое толкую. Мне на пхп пришлось писать в полтора раза больше кода.

Возможно... Но у меня-то кода столько же! И ты ниасилил ;)

> Во-первых все SQL запросы ручками.

А у меня sql генерится из определения объекта...

> Потом в синтаксисе нету многих приятных вещей.

Ну, на столь железобетонный аргумент отвечать крайне трудно, если вообще
возможно. Тема не раскрыта, сильно влияют личные пристрастия и
способности к обучению. Вот, к примеру, ты не осилил работу c ORM.
Можно ли в этом винить язык программирования?

> Потому что я уже просто УСТАЛ на нем программировать.

Верю. И могу сказать, почему такое происходит. Это происходит из-за
пробелов в знаниях, и не является спецификой php. Хотя... возможно
люди обжигаются на том самом пресловутом низком пороге вхождения?
Сильно расслабляются, и думают, что всё знают?

annonymous ★★
()
Ответ на: комментарий от zw0rk

> кстати, жж почему-то не на пхп писан

Желающие могут убедиться, что ЖЖ написан на перле. Но, почему-то, не на крутых Python/Ruby...

atrus ★★★★★
()
Ответ на: комментарий от Cris

> По сути да, запись выше создает не только страницу с формой но и страницу с табличкой, со списком всех новостей, разбитых на страницы.

И мой код даёт ту же функциональность. Список с разбивкой на странички
делает DB_Datagrid, построенный на шаблонах Smarty или Flexy на выбор.
Что ещё на ваш взгляд есть такого в RoR, чего нельзя или тяжело сделать
в php средствами библиотеки pear? Пока что все ваши аргументы
рассыпаются в мелкую труху.

annonymous ★★
()
Ответ на: комментарий от atrus

> Желающие могут убедиться, что ЖЖ написан на перле.

Но не на пхп :))) Просили пример что-нибудь масштаба вики не на пхп -- получите.

zw0rk
()
Ответ на: комментарий от annonymous

> И у меня без кода. И без SQL. Так в чём разница, или, как говорят в рекламе, за что платить больше?

Как-же так без кода, а то что ты привёл уже не код? SQL один фиг меньше бы занял. Да и вообще мне в этих QuickForm Не нравиться (А верней это огромный просчёт проектирования) то что данные о предстваление (например о количестве строк и столбцов textarea) задаются в моделе - это очень не хорошо.

CrazyPit ★★★
()
Ответ на: комментарий от atrus

> Желающие могут убедиться, что ЖЖ написан на перле. Но, почему-то, не на крутых Python/Ruby...

Потому-что перл - труъ. И зарекомендовал себя годами, а Питон и Руби только последние несколько лет выруливают. Тем более ЖЖ - очень большая распределённая система здесь для перла есть куча наработок.

CrazyPit ★★★
()
Ответ на: комментарий от annonymous

>> Я тебе про другое толкую. Мне на пхп пришлось писать в полтора 
раза больше кода. 

> Возможно... Но у меня-то кода столько же! И ты ниасилил ;)

Ты ври но не перевирай. Я не говорил что код формы занимает больше, 
он практически такой же. Я говорю про реализацию работы этой формы. 
Потому что если ты говоришь про реализацию, то ты не знаешь сколько 
она у меня заняла соответственно "Но у меня-то кода столько же!" 
безпочвенно.

> Это происходит из-за пробелов в знаниях, и не является спецификой 
php. 

Это касается возможностей, которые предоставляет язык. И набор этих
 возможностей меня уже не устраивает. Я хочу больше возможностей. И 
Руби их дает. Что касается своего владения языком пхп, могу сказать, 
что знаю его много лучше чем многие из тех, кто его защищал в этом 
топике. И если ты хочешь, можешь показать мне обратное.

>> Потом в синтаксисе нету многих приятных вещей. 

> Тема не раскрыта, сильно влияют личные пристрастия и 
способности к обучению. 

Ладно, давай попытаемся ее раскрыть. Я пишу особенности Руби вс ПХП. 
И даже сразу даю решение. Ты можешь потом меня поправить или вставить 
конкретный коммент. В свою очередь ты можешь написать, чего нету в 
Руби. И привести соответствующий код на ПХП. Годится? Ну тогда, если 
не боишься я начинаю.

Сначала по синтаксическим конструкциям.

1) Хвостовые if, else, unless, while.

PHP:
if (!empty($string)) {
  return $string;
}

Ruby: 
return string unless string.empty?

2) switch vs case
PHP:
switch ($test) {
  case 1: $test = 'odin';
  break;
  case 2: $test = 'dva';
  break;
  default $test = 'hz';
}

RUBY:
test = case (test)
       when 1: 'odi'
       when 2: 'dva'
       else    'hz'
       end

 Кроме того case позволяет проверять в диапазанах:
1..100, 2..300 и т.п., а также ставить в ветки вен нормальные 
условия. На пхп придется писать if-elseif-else. Кроме того, отметьте, 
что нет избыточных точек-с-запятой.

Это только начало, после ответа я продолжу. Все нытье по поводу 
нечитаемости и прочего засчитывается за слив. Я использую эти 
конструкция и легко их читаю и сопровождаю свой код.

anonymous
()

795

Я вами горжусь. Ну и собой тоже, куда без этого.

anonymous
()
Ответ на: комментарий от anonymous

И изолировать тех, кто не понимает, почему за case нужно убивать, у них должен быть второй шанс. Хотя их тоже можно убить. Не повредит.

anonymous
()
Ответ на: комментарий от anonymous

>1..100, 2..300 и т.п., а также ставить в ветки вен нормальные условия. На пхп придется писать if-elseif-else. Кроме того, отметьте, что нет избыточных точек-с-запятой.

Покажите мне дебила, который будет if elseif else работать с таким количеством ифов )) Неужели вы так делаете?!?!

forgiven
()
Ответ на: комментарий от CrazyPit

а как же newlisp тут хвалил.Может строчку короткую еще и на нем напишете?Еще за него потрем.

anonymous
()
Ответ на: комментарий от CrazyPit

> Как-же так без кода, а то что ты привёл уже не код?

Это код, аналогичный представленному для RoR. Сопоставимый по размерам
и по функциональности. IMHO лучше читаемый и прри этом несущий большую
смысловую нагрузку.

> SQL один фиг меньше бы занял.

Что-что? Я не ослышался? Вы тот SQL один раз собрались использовать?

> мне в этих QuickForm Не нравиться (А верней это огромный просчёт проектирования) то что данные о предстваление (например о количестве строк и столбцов textarea) задаются в моделе - это очень не хорошо.

Согласен отчасти... Нет чистоты. Но во-первых, никто не заставляет
жёстко определять размер строк/колонок. Вместо этого можно определять
имя класса CSS. Во-вторых, этот "просчёт" вовсе не так уж плох на
практике, и используется так:
define('TEXTAREA_COLS', foo);
define('TEXTAREA_ROWS', bar);
Пишите эти две строчки в конфигурационный файл, а далее все формы их
используют.

annonymous ★★
()
Ответ на: комментарий от anonymous

Пока что кроме неаргументированного блеяния и предложениям о суициде я не услышал ни слова. Повторюсь, мы сравниваем пока что синтаксические возможности языков PHP & Ruby. Если вы можете предложить лучшее решение на ПХП, добро пожаловать пишите.

Если вы хотите указать, что-то вам не нравится, я прошу конретные доводы, а не очередной слив.

Cris
()
Ответ на: комментарий от Cris

А уродов, оперирующих категориями типа "слив" нужно загнать на урановые рудники.

anonymous
()
Ответ на: комментарий от annonymous

> И мой код даёт ту же функциональность. Список с разбивкой на странички делает DB_Datagrid, построенный на шаблонах Smarty или Flexy на выбор. Что ещё на ваш взгляд есть такого в RoR, чего нельзя или тяжело сделать в php средствами библиотеки pear? Пока что все ваши аргументы рассыпаются в мелкую труху.

1. Но это тоже дополнительный код

2. То определение которое заложено в QuickForm будет дублироваться в ОРМ. Если её использовать, а если не использовать - то вообще будет наамного больше кода чем без неё. А в Рельсах это уже всё интерировано с ОРМ.

3. Все ОРМ, включая то что была приведена не дотягивают до ActiveRecord по функциональности и динамичности, ни тем более по выразительности.

4. Я уже приводил довод про ужасное совмещение представления и модели...

CrazyPit ★★★
()
Ответ на: комментарий от Cris

>Пока что кроме неаргументированного блеяния и предложениям о суициде я не услышал ни слова. Повторюсь, мы сравниваем пока что синтаксические возможности языков PHP & Ruby. Если вы можете предложить лучшее решение на ПХП, добро пожаловать пишите.

До сих пор веришь, что язык становится лучше благодаря синтаксису? :)

forgiven
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.