LINUX.ORG.RU

PHP vs RoR vs Django


0

0

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

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

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

★★

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

> Нам нужно выполнить некий код в каком-нибудь контексте. Наприр в контексте открытия - безобасного закрытия файла. Или в контексте Начало-конец OpenGL блока или в контексте выборки из БД.

with

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

Оператор yield, например. Или множественное присваивание a,b,c = 1,2,3. Хотя это и к питону относится.

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

> молодцы вместо общего решения сделали частное:)

Ну нельзя в Питоне сделать _многострочные_ лямбды. Или придется изобретать какой-нибудь кривой синтаксис.

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

> Оператор yield, например.

Ну, тогда в _любом_ языке с итераторами есть черты CLU. Еще скажи, что черты CLU есть в C# (ибо параметризованные типы).

> Или множественное присваивание a,b,c = 1,2,3.

По-моему, это придумали до CLU. Хотя могу ошибаться.

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

> Ну, тогда в _любом_ языке с итераторами есть черты CLU. Еще скажи, что черты CLU есть в C# (ибо параметризованные типы).

Итераторы afaic придумали именно в CLU.

И в C# дофига взято оттуда, как ни забавно. Но про это ублюдище даже флейм затевать неинтересно. Рядом с ним даже руби покажется чистым, как слеза младенца.

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

> http://en.wikipedia.org/wiki/CLU_programming_language

> Читать пункт "Influence on other programming languages"

Я знаю о CLU гораздо больше этой статьи ;) ИМХО говорить о влиянии CLU (итераторы, исключения) - это всё равно говорить о влиянии Algol-60 (блочная структура, автоматические переменные). А о влиянии Algol-60 никто не говорит :D хотя оба языка - прорывы в технологии.

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

> Но это даже ещё не в stable... Когда мне надо было этого не было.

Товарищ верь, взойдёт она,
Звезда пленительного счастья.
Воспрянет линукс ото сна,
Ебилды выйдут в одночасье.
(И тут-то виндовсу хана).

ero-sennin ★★
() автор топика
Ответ на: комментарий от anonymous

Ну нет. C# не ахти, но малость почище, чем ruby. Там хватило ума регекспы в язык не встраивать.

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

> Кстати о флейме. Мне кажется, что еще пара часиков, и мы обгоним "Тест юзабилити Гнома" :)

Эх, поднажмём, ребятушки!!

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

Аааа.

IEnumerable<string> expr = from s in names 
                               where s.Length == 5
                               orderby s
                               select s.ToUpper();

Жгут, короче.

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

>is_hue_mae, или так еще какую лабудень(касается и питона :)). В руби это просто: hue_mae?

Ну вот... Всего 30 лет прошло с изобретения Форта, как этой фишке научились и другие ;)

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

> я это будет единственная платформа

Кто будет единственная платформа? Моя мала-мала непонимай.

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

>Основная фишка ПХП - возможность смешивать код и контент в одном файле

Это только говорит, что ты на PHP ничего сложнее хомяков и не писал :) Ибо ни в одном нормальном проекте эту фишку в лоб не используют, оттого и смешно называть её основной :)

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

> Ну вот... Всего 30 лет прошло с изобретения Форта, как этой фишке научились и другие ;)

Покажи нам веб фреймворк на форте, друг, и тогда мы подумаем, стоит ли брать его в семью.

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

>>Основная фишка ПХП - возможность смешивать код и контент в одном файле

>Это только говорит, что ты на PHP ничего сложнее хомяков и не писал :) Ибо ни в одном нормальном проекте эту фишку в лоб не используют, оттого и смешно называть её основной :)

Тебе ж сказали, PHP сначала был простеньким препроцессором. Потом из него зачем-то попытались сделать мегаязык. Обосрались.

А ничего сложнее хомяков на нём писать я бы и не стал.

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

> Речь не о dev-python а о matplotlib Гугл должен помочь...

Тогда зачем было о нём упоминать? Второе я нашёл, но ничего сказать про него не могу. Это не мой профиль и я не в курсе наличия аналогичных библиотек. Это не значит, что их нет.

> Уедет. Сложение строк в PHP записывается более корректно!

*вздыхает* Гипотетический Вася Пупкин, по вашему телепат? Как он может догадаться об этом, если никогда не видел языков, синтаксис которых схож с php? А если видел, то о каком низком пороге вхождения может идти речь?

> В этом смысле точка кажется более адекватным символом соединения строк.

Если честно, мне - всё равно. Мне, скажем, не нравятся "{", "}", в качестве границ блочного оператора, но мне это не мешает. Единственное, что меня интересует, это - как лучше всего и с наименьшими общими усилиями решить возникшую задачу. Если анализ показывает, что по соотношению усилия/эффективность стоит выучить новый язык, то я учу его, если же нет, то самая правильная и разэффективная вещь идёт лесом. Но многим "магического" смысла этого соотношения не понять.

> Вы ничего не поняли!!! Читайте еще раз.

Отнюдь. Ваши слова: "Следует разделять те переменные которые приходят через соединение и те, которые находятся в тексте программы!!!"? Именно про это я и говорил. В php уже 1000 лет (не буквально, для въедливых) так не делается. Чтобы получить значение из запроса, его необходимо явно доставать. Старый режим остался для совместимости, его надо специально включать, хотя дают это мало где. Более того, с выходом php6 он исчезнет окончательно.

> Вот именно что подумать перед тем как писать.

Так что же вы этого не сделали? Далее шло уже не про вшеншие переменные.

> Глобальные переменные это нормально везде.

Везде - это где? Я, вот, как-то избегаю делать функции зависимыми от слишком большого кол-ва параметров или глобальных переменных. Разумеется, там, где это возможно.

> ООП никак тут не помогает.

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

> Общий совет. Сначала пойми о чем речь, потом отвечай.

Очень, очень жаль, что сами вы им не воспользовались.

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

> Резюмируя восемь страниц, "не бывает быдлоязыков, бывают быдлопрограммеры".

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

> писанной два года назад за две недели ровно. Слабо?

CMS за две недели? Ну... То, что я назову CMS, за две недели... М... Можно, но надо кодить по 12 часов в день, не разгибаясь... ;-)

> А слабо сделать это же, первый раз в жизни увидев язык? :)

Трудно сказать, собственно на php я первый раз так и писал: без учебников, без ничего. Только исходник, который надо было доработать. И ничего, знание си и десятку си-подобных скрипт-языков помогло. Только трудно без руководства было догадыться, для чего перед функциями @ ставят... ;-)

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

atrus, PHP родился как простенький препроцессор для хомяков. А потом лет десять мучительно пытался из быдлопрепроцессора стать нормальным языком. Но паровозик ушёл. Питон и руби тоже не стоят на месте. И недоязычку PHP их уже не догнать. Так что смирись и не грусти.

Кстати, PHP и Руби - ровесники.

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

> и пользоваться $HHTP_GET_VARS[]. Вуаля.

Устарело. Скоро и это с концами пропадёт. Теперь параметры берёться из суперглобальных $_GET, $_POST, $_REQUEST ...

Хм... Похоже господа критики в знании php застряли на уровне php 2.0 ;-)

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

> Хм... Похоже господа критики в знании php застряли на уровне php 2.0 ;-)

я бы сказал, php застрял на уровне ruby 0.2

anonymous
()

Кстати, все в курсе, что PHP когда-то расшифровывался как Personal Homepage Tools? :)

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

> 20к юзеров в день? та ты герой просто. посмотрим шоб твой сервер сказал если б у тебя там два ляма было.

2? Ха-ха! Как насчёт википедии? На php, написана между прочим. В октябре 2004 года был рекорд - ~6 миллионов страниц в день запрошено с en. и ~13.3 миллиона со всей википедии. Что наглядно показывает, что php, когда надо, в руках умелых программистов умеет маштабироваться.

http://stats.wikimedia.org/EN/TablesUsagePageRequest.htm

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

Я бы и хомяки писать не стал. А приходится. И не хомяк причем, йопт :(

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

p.s. Не то, чтобы я совсем не уважал php, просто не вижу в нем ничего суперклассного. Хотя, конечно, да, после того же VB впечатляет :)

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

> Ну вот... Всего 30 лет прошло с изобретения Форта, как этой фишке научились и другие ;)

Скорей прошло всего 48 лет с изобретия лиспа;)

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

> 2? Ха-ха! Как насчёт википедии? На php, написана между прочим. В октябре 2004 года был рекорд - ~6 миллионов страниц в день запрошено с en. и ~13.3 миллиона со всей википедии. Что наглядно показывает, что php, когда надо, в руках умелых программистов умеет маштабироваться.

И что? На хорошем кластере с балансировкой нагрузки любое быдлоподелие масштабируется.

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

> Эатем, чтоб другие понимали, что именно делает твоя быдлофункция. 

Пример уродства питона. Приходится писать:

keys = os.environ.keys()
keys.sort()
for k in keys:
    print "%s\t%s" % (k, os.environ[k])
print "</pre>"

А хотелось бы:

os.environ.keys().sort().each(k, print("%s\t%s" % (k, os.environ[k]))

Я думаю, все "другие" легко поняли, что делает "быдлофункция"... причём
ещё быстрее.

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

> Одним словом хочется немного подытожить, и высказать пару мыслишек.

Уж релили бы - итожить (с чтением, знанием объективной информации о сегодняшнем php) или мыслишки (голое imho, без малейшего представления о предмете)? ;-)

> PHP не есть язык программирвания общего назначения

А с чего это минус? У него есть своя задача и область применимости. Или не изврат писать систему на Python или Ruby?

> все функции встроены в язык

Это как прикажете понимать? Нельзя свою функцию определить? Что же лежит здесь: http://pear.php.net/ ???

> в основном процедурный подход

Ваши проблемы. Большинство современных php-фреймоворков - объектно ориентированны.

> нет эксепшнов

Медитировать до посинения: http://bugz.ru/programming/php/exeptions_in_php5/

P.S. Исключений, кажется, нет в си. Быдлоязычёкс?.. ;-)))

> нельзя скрыть исходник однако, средства для этого продаются компанией Zend за $$$

Зачем OSS нужен ZendGuard? А комерческая компания, которой есть что скрывать вполне осилит $995.

> Спрашиваетя, зачем тогда было оставлять $ в имени переменной.

За тем, что так переменная однозначто идентифицируется. На секунду нельзя было забуматься и догадаться, что это не только транслятору подспорье, но и программисту, а в том числе и системе подсветки синтаксиса?

> Даже регулярные выражения (где Perl просто невъебенно крут) PHP имеет и свои (ereg_match) и от перла (preg_match) - ибо круты.

И? Пользуй те, какие удобнее.

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

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

> Будем надеятся, что эти (и другие, если появятся, и будут лучше) языки и далее будут набирать популярность и в области веба, вытесняя посредственность и заурядность :))

Будем надеятся (хотя это навряд ли), что посредственный и заурядные критики попытаются хоть что-то узнать об объекте своей критики, прежде чем радовать присутсвующих своими мыслишками...

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

> PHP родился как простенький препроцессор для хомяков.

Perl родился как простенький язык-клей для сшивания shell-скриптов,
запускаемых в хомяках ;) А потом лет десять мучительно пытался ... и т.д. Забудьте вы эти детские расшифровки. К ним прибегают, когда не
могут найти нормальных аргументов.

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

> Perl родился как простенький язык-клей для сшивания shell-скриптов, запускаемых в хомяках ;) А потом лет десять мучительно пытался ...

Вы не поверите, но именно так оно и есть. Только не десять, а уже почти двадцать.

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

>> PHP не есть язык программирвания общего назначения

>А с чего это минус? У него есть своя задача и область применимости.

Вы отказываетесь принять очевидное? Специализированный язык PHP даже со своими задачами справляется хуже питона или руби.

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

> Кстати, все в курсе, что PHP когда-то расшифровывался как Personal Homepage Tools? :)

Кстати, все в курсе, что в Linux когда-то не было поддержки сети?

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

> Пример уродства питона. Приходится писать:

Посмешили, спасибо. Потрудитесь теперь проштудировать мануал. Так на питоне пишут только полнуе нубы.

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

> atrus, PHP родился как простенький препроцессор для хомяков.

И что? Ruby родился, как студенческая поделка.

> И недоязычку PHP их уже не догнать.

Догнать тех, кто остаёт, на незакольцованной трассе невозможно. Это чтобы Python и Ruby могли его догнать, ему (php) придёьтся несколько раз остановиться на перекур. "Так что смирись и не грусти."

> Кстати, PHP и Руби - ровесники.

Очень показательно. И где сейчас кто находится?

P.S. Изливая откровизмы и выдавая желаемое за действительное, не забываем подкреплять примерами. Ну-ка, где известные/популярные формуы на Python или Ruby. Почему Wikipedia всё ещё не переписалась на них? И т.д.

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

> Ruby родился, как студенческая поделка.

Я бы на Вашем месте про взрослые языки и не заикался. Да, мы бедному руби сегодня перемыли все косточки, но Вам не следует думать, что PHP свободен от недостатков. PHP крив настолько, что за его разбор даже браться не хочется. Рядом с ним руби - образец совершенства.

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

> На хорошем кластере с балансировкой нагрузки любое быдлоподелие масштабируется.

А вы не словами, а делами. Покажите-ка мне пример Ruby сайта, так смасштабированного. Или реальный Ruby-сайт, с 2 лямами посетителей, на одном серваке, как предлагалось по ссылке.

А то всё слова, слова...

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

> И где сейчас кто находится?

Популярность PHP среди быдлокодеров - еще не повод на нем писать. Я выбираю те языки, которые позволяют решить мою задачу с наименьшими усилиями. PHP к ним не относится.

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

> с 2 лямами посетителей, на одном серваке

Не на одном серваке, а на большом кластере. Разницу вы понимаете?

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

> Я бы на Вашем месте про взрослые языки и не заикался.

Историю-то появления посмотрите. Или правда глаза колет?

> но Вам не следует думать, что PHP свободен от недостатков.

Кто вам сказал, что я считаю php верхом совершенства? Однако, возвышение своего любимого языка путём поливания грязью нелюбимого (что и происходит в топике) очень хорошо характеризует как самих "критиков", так и их аналитически способности.

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

> Не на одном серваке, а на большом кластере. Разницу вы понимаете?

Понимаю. Показывайте свой один сервак с Ruby и 2 лямами в день.

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