LINUX.ORG.RU

PHP vs RoR vs Django


0

0

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

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

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

★★

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

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

Послушай, Ацелер.

Ты мне тут басни не пой про готовые решения на пхп. Я когда-то пытался найти нормальный класс для работы с базами данных. Так вот, под пхп нету НИОДНОГО нормального класса, окромя того, что написал Д. Котеров. И даже у него есть пара косяков. Ни Adodb ни уебищный ПИиииР не дают самого элементарного - хорошего класса для работы с базами данных!

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

Про нормальный ОРМ или вообще нормальный фреймворк, который вот можно взять и опа - оно работает, не нужно докручивать ничего, лучше вообще молчать. Пока рельсы не появились, пхп-комюнити пиздило убогие идеи из стратса, которой еще то говнецо.

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

> Я когда-то пытался найти нормальный класс для работы с базами данных.

<?php
/********************************************
*Работа с SQL-сервером PostgreSQL и MySQL
*(C) С. Бессонов 2005
*
*
********************************************/

$DB_Handler=mysql_pconnect('host','login','pass');
mysql_select_db('dbname',$DB_Handler);

class sql
{
        // Библиотека процедур для работы с sql. При смене типа базы заменить.
        var $cn = NULL; //БД ID
        var $nr = NULL; //Number of Rows - количество строк в ответе
        var $rs = NULL; //Return Statement - Собственно ответ
        
        //Конструктор
        function sql($sqlstatement=null)
        {
                //При создании класса необходимо сразу выполнить подключение и ...
                $this->cn=$GLOBALS['DB_Handler'];
/               // ... выполнить SQL команду, если она есть
                if($sqlstatement)
                {
                        $this->query($sqlstatement);
                }
        }

        //Добываем строки
        function query($sqlstatement)
        {
                // для соединения с базой данных используем переменную $this->cn
                // после выполнения запроса записываем в переменную nr
                // количество полученных строк $numrows
                if($this->cn)
                {
//                      echo 'query->'.$sqlstatement."\n";                                                                              //Отладка
                        //$this->rs = pg_query($this->cn,$sqlstatement);
                        $this->rs = mysql_query($sqlstatement,$this->cn);
                        //$this->nr = pg_numrows($this->rs);
                        @$this->nr = mysql_numrows($this->rs);
                        return $this->rs;
                }
        }

        // Закрываем соединение с базой данных
        function close()
        {
                //pg_close($this->cn);
                mysql_close($this->cn);
        }

        //Возвращаем одно значение
        function value()
        {
                mysql_data_seek($this->rs,0);
                $row=mysql_fetch_row($this->rs);
                return $row[0];
        }
        // Возвращаем текущую строку из результатов запроса
        function row($rownum)
        {
                //$row = pg_fetch_array($this->rs, $rownum, PGSQL_ASSOC);
                mysql_data_seek($this->rs,$rownum);
                $row = mysql_fetch_array($this->rs);
                return $row;
        }

        //Возвращаем значение конкретного элемента в массиве
        function rowvalue($rownum,$name)
        {
                $array=$this->row($rownum);
                return $array[$name];
        }
}

Обычно люди пишут такое сами себе.

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

> Обычно люди пишут такое сами себе.

Обычно в ПХП люди пишут такое сами себе. В том же перле есть нормальный модуль DBI. А в том же рейлсе вообще большая часть запросов реализуется хорошим ОРМ-ом.

А теперь вспоминаем твое утверждение про все готовое в ПХП и сопоставляем с "Обычно люди пишут такое сами себе" и делаем соответствующие выводы.

Вобщем перестань, глупо это. Если ты недавно начал программировать, на первые пару лет пхп хватит. Главное потом не останавливаться.

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

> А теперь вспоминаем твое утверждение про все готовое в ПХП и сопоставляем с "Обычно люди пишут такое сами себе" и делаем соответствующие выводы.

Ну и как это противоречит выводам? не пойму что-то...

Уважаемый анонимус написал что-нибудь?

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

> Ну и как это противоречит выводам? не пойму что-то...

Ну блин, ты и тяжел. Ты мне скажи, если самое простое - работа с базами данных никуя не готовая, то где же море готовых решений??? ГДЕ???

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

> Ты мне скажи, если самое простое - работа с базами данных никуя не готовая, то где же море готовых решений??? ГДЕ???

Это ты тяжел. Как эти вещи коррелируют?

Где готовые решения - в интернете. Подсказать блоговые движки, чаты, веб-редакторы, галереи, CMS, CMF, CRM, Workflow на PHP...

Теперь такой же списочек для RoR или Python в студию, пожалуйста. Кроме фреймворков что-нибудь хоть есть?

ЗЫ Еще для Perl есть подобная инфраструктура, но AFAIK, поменьше наименований.

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

>Обычно люди пишут такое сами себе.

я не знаю что там у вас пишут, у нас обычно люди пишут

import MySQLdb

db = MySQLdb.connect(....)

на этом кодинх заканчивается. поскольку все базы имеют унифицированный интерфейс, можно вызвать db=PostgreSQL.connect(....) либо какойнить там db=VeryCoolSQL.connect() и все будет роботать дальше.

вот из таких мелочей и состоит преимущество языка.

причем (интересный факт!) в php (с 5й версии) давно есть прекрасный объект mysqli, хранящий в себе даже несколько патчей от вашего покорного слуги, призванный собсна унифицировать всю эту котовасию. быдло - оно пишет на php 4! причем умудряется писать такие вещи которые в 5м почему-то не работают (сколько пытался - не получалось). у быдла свой язык - php4, потому что оно пришло когда появилась 4я версия а на 5ю переходить не собирается, кому охота ещо раз мозх насиловать.

так вот из-за этого быдла пхп _всегда_ будет версии 4.x. кому нужен php6 с тредами(?) и нативным юникодом. если быдло не умеет юзать даже объекты.

например в php5 есть прекрасный объект DOMDocument. который парсает тот же html без лишних вопросов и даже круче чем в питоне - 2 строчки, вызов одного объекта и html распарсан по DOM. что мне сказал очередной мой быдло кодер? конечна! ето аъценно трудна, я буду делать как всегда, и присобачил какое-то барахло типо как в питоне есть такой древний SGMLParser.

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

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

> на этом кодинх заканчивается.

Ну если вы обратили внимание на мой код, там то же самое плюс две функции типа "вынуть и в рот положить". А так - да. Не понимаю претензий.

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

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

Тогда причём тут php? Меня лично четвёрка не интересует. Именно по причине наличия пятёрки. И будущей шестёрки.

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

Всё с Вами понятно, типа php язык для быдла, и никто php5 и php6 использовать не будет. Скорее всего Вы просто "ниасили" php5 и теперь всех под одну гребёнку.

Ну или же мания величия, типа я такой крутой, и только я на php могу нормально писать.

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