LINUX.ORG.RU

PHP vs RoR vs Django


0

0

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

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

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

★★

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

>Дык..

А... Ну, это уже лучше :D Хотя всё равно ещё не фонтан... Впрочем, наверное, при ином стиле написания синтаксическую проверку пройти может...

>ЗЫ - написал нормально - три ошибки нашел :)

Вот. Уменьшаем уровень шума и улучшаем токенизацию - сразу лучше видим ошибки :)

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

> # esearch -F dev-parser|wc -l

Я знаю. Языку 5 лет.... :)

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

> Особенно "порадовал" size.to_i.to_s.

я не вижу твоего радостного ответа на пост об возможностях пхп в ООП.

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

Да, кстати. Мой ответ на парсере можно переписать и на PHP - никто не мешает. Хеш завел, в цикле перебрал (метода menu в PHP нет - а его так не хватает....) ну и вперед.

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

> А желающим обосрать Parser предлагаю прямо сейчас идти писать аналог taint.

Это мы с удовольствием, только расскажи нам сначала, что это за WTF.

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

Кстати, нашел коннектор для FckEditor для Parser :P

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

>А как же Parser? :)

А чем лучше Parser чем тот же PHP?

Сходу видны 2 недостатка: - "страшненький" синтаксис - слабая распространенность - маленькое комьюнити

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

Все данные, поступающие от пользователя в переменные, считаются помеченными как "грязные". И если программист их специально не преобразует к какому-либо виду, они будут преобразованы. При выводе в html - <> будут переделаны в &lt; и &gt; При выводе в SQL - нет, зато ключевые слова самой SQL будут экранированы (при возврате из SQL - разэкранированы).

Соответственно, sql injection, межсайтовый скриптинг ну и прочие "прелести" идут очень далеко лесом.

Aceler ★★★★★
()

Фтопку жабу и пыхпых. Болт забили мы на них.

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

> Сходу видны 2 недостатка: - "страшненький" синтаксис - слабая распространенность - маленькое комьюнити

Знатоков Ruby и Python это не пугает :D

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

> Знатоков Ruby и Python это не пугает :D

Aceler, ублющищный синтаксис быдлопхп мы уже обсудили. Не заставляй нас возвращаться к этой неприятной для тебя теме.

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

> Aceler, ублющищный синтаксис быдлопхп мы уже обсудили. Не заставляй нас возвращаться к этой неприятной для тебя теме.

Для тех, кто на бронепоезде: мы уже говорим про Parser.

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

> Соответственно, sql injection, межсайтовый скриптинг ну и прочие "прелести" идут очень далеко лесом.

Если отдел пиара студии Артёмия Лебедева называет это уникальной фичей, то я щас уссусь, друзья мои. А ну спеши асиливать "Rails для самых маленьких", а когда асилишь, переходи к "Django: учимся играя".

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

Для тех, кто на бронепоезде: мы уже говорим про Parser.

Воистину БУГОГА, если его синтаксис такой, как ты рассказывал, то пойду сначала схожу за салфеточками для протирки заблёванного монитора.

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

> Воистину БУГОГА

Иди-иди. (1,2,3,4,5).map - это руль, да. А $var.map - это уже суперсинтаксис.

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

Ну примерно как RoR, насколько я понимаю. На уровне фреймворка. То есть вы можете написать ^MAIN:pSQL.метод или ^MAIN:pSQL.переменная при условии, что у вас подключен фреймворк SQL.

Ну и, соответственно, все остальные приличествующие случаю фишки. Не думаю, что это круче RoR, но ORM там есть.

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

> И что, там написано, что питон и руби ацтой, и приведено 20 аргументов в пользу этого?

Что вы. Так пишут только фанатики вроде ананимусов. Нормальные пацаны в таких местах, как /docs/lang/ обычно держат документаци на язык. Однако фанатики предпочитают доку не читать, а "асиливать".

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

Типа автоматические magic_quotas в php на которые все плюются? И которые уже нигде не включат. Чур меня чур.

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

Ну и какие есть причины использовать Parser? Кроме малой распространённости, барочного синтаксиса и отсутствия библиотек.

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

> Ну примерно как RoR, насколько я понимаю. На уровне фреймворка. То есть вы можете написать ^MAIN:pSQL.метод или ^MAIN:pSQL.переменная при условии, что у вас подключен фреймворк SQL.

Вы так шутите, или правда считаете, что это ORM?

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

> Ну и какие есть причины использовать Parser?

Интересный вопрос. А какие есть причины его не использовать? :)

Понимаете, все языки писали программисты. Parser писали дизайнеры.

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

За две вещи надо расстреливать. За интерфейс, нарисованный программистом, и за программу, написанную дизайнером.

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

Кстати, возможно поздно, но все равно.

Надеюсь здесь все видели скринкасты описываемых фреймворков в действии

Symfony: http://downloads.symfony-project.com/demo/cart/cart.mov

RoR: http://media.rubyonrails.org/video/rails_take2_with_sound.mov

Django - к сожалению, за неимением официального скринкаста можно посмотреть видео от Turbogears - тоже вполне пристойный фреймворк на Python, создан на основе разных хорошо зарекомендовавших себя Python-технологий (MochiKit - AJAX, Kid - темплейты, CherryPy - сервер, SQLObject - ORM), но в целом по идеологии соответствует тому что есть в Django: http://files.turbogears.org/video/20MinuteWiki2nd.mov

мое впечатление - на Ruby и Python выглядет более понятно, красиво, кратко, выразительно, чем на PHP.

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

Они, похоже, в каком-то ином мире живут, создатели парсера. Ни про J2EE, ни про RoR, ни про перл с питоном они не слышали. На сайте нашёл только упоминание PHP. Где подробный сравнительный анализ парсера и конкурентов? Где подробный анализ области применения? Не тот уровень у их конторки, чтоб стремглав бросаться переходить на их ПТУшное поделие.

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

Цитата с http://www.parser.ru/faq/general/

Q: Если есть PHP, то для чего Parser? A: PHP &#8212; это язык программирования, требующий соответствующей подготовки. На Parser могут работать далеко не профессиональные программисты.

Перевожу с маркетоложеского на русский: Parser - для тех, кто не асилил даже PHP. Дальше можно не продолжать.

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

> На Parser могут работать далеко не профессиональные программисты

За это вообще нужно кастрировать.

Дизайнеры язык написали, ёпта. И так квалификация падает и быдлокодеров дохера развелось, так им ещё и плодиться помогают, условия размножения создают.

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

Выше приводил ссылку на список различных фреймворков для php. И вообще тем кто тестил нужен был MVC фреймвор, и всё. Так что можно было и без Symfony обойтись.

А то взяли Symfony (подзреваю что больше ничего и не знают) и начали тестить (да ещё одно из конкуренитов запускали не из под апапча), а почему именно его х.з. Тест вообще весьма очень странный.

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

> Хочу видеть аналог migrations в парсере. Ку?

Здесь принято сначала спрашивать WTF?

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

>Сейчас модно кейс по интервалам.

Типа, чтобы каждое условие транслировалось не в одну проверку, а в две? :)

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

>И если программист их специально не преобразует к какому-либо виду, они будут преобразованы.

Только-только начали отучать php от magic_quotes_gpc - теперь эту болезнь, да ещё в извращённой форме, другие переняли :D

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

> Parser - для тех, кто не асилил даже PHP.

Завлекаловка. Не обращай внимания. Парсер имеет куда более сложную модель ООП, чем PHP. Да и памятью управлять можно.

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

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

> Только-только начали отучать php от magic_quotes_gpc - теперь эту болезнь, да ещё в извращённой форме, другие переняли :D

Я бы все-таки порекомендовал сходить на раздел документации и почитать в развернутом виде.

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

Чем больше, тем круче. А ещё круче, если интервал вообще транслируется во временный объект типа class Interval def initialize a, b @a = a @b = b end def inRange v if v >= @a if v <= @b return true end end return false end end

Ну и соответственно кейс сводился бы к созданию временных объектов и вызову inRange.

Я думаю, у человека был бы оргазм от крутизны.

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

Твою мать. Забыл форматирование выбрать.

class Interval
   def initialize a, b
      @a = a
      @b = b
   end
   def inRange v
       if v >= @a
           if v <= @b
                return true
           end
       end
       return false
    end
end

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

То, что я описал - это автоматический taint. А есть еще и ручной, с четким указанием типа преобразования. Полезная вещь при работе с формами.

Например, установив taint[htmloptimized] на весь код, html код, отдаваемый клиенту, будет оптимизирован по размеру (убраны пробелы и ентеры, заменены часть тегов html и др.). Экономит трафик.

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

Парсер? Да не смешите меня! Это продукт той конторы, которая с поистине быдлокодерским упорством принципиально забивает на спецификации W3C и клепает ни разу не валидные быдлосайты?

Лебедев постоянно призывает всех забивать на спецификации и стандарты. Дескать, полёт мысли реально креативного куль дезигнера в стандарты не укладывается. Ну и с таким отношением он и его быдлодетище Parser идёт фтоппку.

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

> Понятно, про gzip в их деревне ещё не слышали.

gzip в ruby/python по видимому реализован на уровне языка. Пора на него молиться.

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

> Ну и с таким отношением он и его быдлодетище Parser идёт фтоппку.

И тебе на яндекс.

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

> Я бы все-таки порекомендовал сходить на раздел документации и почитать в развернутом виде.

Ужо почитал. Синтаксис хуже чем у перла и руби. Глобальное пространство имён забито, как в ПХП. Библиотек ноль. Где Великая Китайская Стена знаете или показать?

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

> gzip в ruby/python по видимому реализован на уровне языка. Пора на него молиться.

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

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