Pull to refresh

Comments 149

Я не увидел какого-то преимущества Ruby над PHP в этих примерах. А если нет разницы - может все-таки лучше использовать привычный PHP?
Я лично не говорил о каком-то преимуществе, я говорил о том, что этот блог может помочь перейти пхпшнику на руби =)А уж зачем переходить, и стоит ли это вообще делать - каждый сам для себя решает.
Так а в чем смысл? Рассказывается синтаксис на примере PHP?
Есть возможность сравнить насколько легче/сложнее реализовать одно и тоже на PHP и на RoR. Лично для меня стало хорошим толчком к тому, чтобы посмотреть на RoR и попробовать его в действии :)
А что вам показалось проще в этих примерах?
Я бы не сказал что проще, я сказал бы альтернативный "стиль":)
Вот я и решил попробовать - возможно, что мне будет проще реализовывать на RoR то, что я делаю для сайта(ов)...
Итераторы! В Ruby они великолепны. array_map(), array_walk() не удобны в том виде, в котором они сейчас есть.
ну так откройте для себя Standard PHP Library (SPL) наконец-то. беда очень многих "php программистов" в том, что они решили, что уже "знают весь php и php на этом как бы закончился", хотя все их познания - это процентов 10-20 от всего php.
Спасибо за ссылку, буду изучать
SPL - это другое. я про удобный перебор массивов
а зачем переходить на руби? меня устраивает пхп. Думаю меня многие поддержат. Кто захочет перейти (или другими словами, вынужден будет) тот сам найдет путь :)
Этот ресурс всего на всего показывает как решаются одни и те же задачи и создан я так понял для тех кто уже решил перейти с php на руби. Преимущества надо искать не на этом сайте, хотя бы посмотрите соседний ruby-блог, там много чего интересного на эту тему понаписано(без холиваров не обошлось к сожалению).
эмм, народ, зачем просто тупо минусовать? выражали бы свое мнение в словесной форме...
UFO just landed and posted this here
Любой продукт рано или поздно "опопсевает".
Да нормальный ресурс. Немного синтаксиса, немного теории. Мне такого в свое время не хватало.
Такое отношение - от большого количества участников. Могу поспорить, что на BrainFuck пишут более профессиональные программисты, чем на PHP. Но это не повод всем переходить на BrainFuck
> Могу поспорить, что на BrainFuck пишут более профессиональные программисты, чем на PHP.

Я б с вами поспорил. Профи скорее в пхп пойдет чем в брэйнфак - следовательно ваше предположение (хоть и в теории) не верно.
UFO just landed and posted this here
К Вашему сведению, господин zzzzz, BrainFuck это язык программирования. Просто когда-то было модно делать разного рода головоломки. Этот язык используется сейчас больше в этих целях в основном, на нем действительно пишут интеллектуалы, правда только в теории, он не нашел своего практического применения.
А где там про BrainFuck у него?
Вы не владеете терминологией. Рельсы в той же степени язык программирования (DSL), что пии эйдж пии - веб фреймворк.
Угу. Это шуточка из проскальзовавшей на хабре теме про покупку яхи микрософтом.
К сожалению, Вы не вполне правы. Рельсы были написаны с основательным использованием метапрограммирования, поэтому при изучении и использовании выглядят, как отдельный язык cо своими операторами, инструкциями и выражениями.
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
Весьма дельное замечание.
Однако же надо отдать должное тому что "всё познаётся в сравнении".
Может я не прав, но я там видел только чистый Ruby и PHP. Смысл в сравнении с чистым Ruby я не вижу.

Писать заново Framework таким методом(постепенного написания конструкций) — это убийство времени. А если просто использовать такие конструкции в коде(не использовать ООП), то это будет ужас из гор кода.
Не правда, про рельсы там говорится
Предвзятый какой-то текст.

Автор нам, PHP-программистам, как бы намекает уже в первом примере для сравнения, что RoR-программист должен быть внимательнее к своему, и потому это у него должно вызывать гордость за себя...

А пример то и гроша ломаного не стоит.
Остальные примеры в той или иной степени, но в том же духе.

В целом, за статью спасибо. Иначе я еще долго собирался бы хоть глазком взглянуть на Руби
я как программист пхп работающий на руби рельсах в данный момент могу сказать:
нех*й заморачиваться, и переходить на рельсы, пхп рулез
Я как программист руби он рейлс работающий на пхп (абсолютно серьезно!) могу сказать с точностью наоборот
голый пхп ? плейн текст ?
Да плейн текст. Без цмсок/фреймворков. Потихоньку на рельсы перевожу
ну дык :) сравнение у вас некорректное фреймворк с голым языком
php 5 + MVC framework вот мой выбор :)

для меня один из плюсов пхп что он изначално на веб заточен и фреймворк можно выбрать какой пожелаешь
а можно если очень надо плейн текстом, но не надо тогда говорить что рельсы лучше :)
У пхп одна проблема. Это он сам :) Если пхп сообщество в следующих версиях не примет кардинальных мер язык умрет. На этом предлагаю холевар считать закрытым.
спасите нас :) откройте секрет вечной жизни :)
какие меры ?
php - ассемблер для веб.

rails - визуал-бейсик
Да нет, php это скорее бейсик...
скорее
php - c++ для веб.
ror - визуал-бейсик
кстати мой призыв "нех*й заморачиваться" был направлен исключительно к пхпешникам :)
свои соображения по рельсам я описал чуть ниже
Мне бы образцы "типичных задач веб-программинга" на питоне. А то пишу: "dirname(__FILE__)"... э-ээ... И вспоминается с тоской, как в перле обычно это делается...
попробуйте фреймворк web2py
просто, понятно, элегантный api.
Да я пока после CakePHP больше в Django гляжу. Плюс доводилось кодить в Zope - тоже приходилось часто ползать по зарослям Library Reference.
"кодить в Зопе..." =)
простите, настроение просто хорошее =)
А если примеры поменять местами, то этот блог станет пособием по переходу с Ruby на PHP
UFO just landed and posted this here
к сожалению рельс немного медленнее пхп для небольших проектов,
при 500 тысячах показах в день и при полном кешировании загружен кластер из 16 машин с 99 гиг памяти
про цену этого хостинга надо говорить шепотом

зачем нужен этот велосипед мне неясно

php 5 + MVC framework вот мой выбор :)
ну и лично мне не нравится синтаксис: привет Turbo Pascal :)
UFO just landed and posted this here
С пункта 1 по пункт 5 - реально приемущества не руби над пхп, а фреймворка над голым языком. 6 пункт вобще не понятный. что вы подразумеваете под - "особенно на уровне веб-сервера, когда рейлс вообще не вызывается"?

Насчёт структуры фреймворка - каждый для себя выбирает фреймворк по вкусу, с жесткой структурой файлов или нет.
видимо имелась отдача статики с помощью reverse proxy вроде nginx, что конечно плюс самого reverse proxy, а не rails ;-)

@gkirok, а можно ссылочку на этот сервис с полмиллионом хитов? "не корысти ради, токмо волею пославшей мя кузькиной мамы"(с) )
пожалста seekingalpha.com :)
UFO just landed and posted this here
UFO just landed and posted this here
про PHP ни слова? А что же вы в конце высказывания резюмируете: "
У рейлс один серьёзный минус - скорость, требования к ресурсам и хостинг. Но если он даже немного медленее РНР" ?? Сравнение PHP c Rails нету? Ну да бог с ним.

Про кеширование почитал, интересно видел подобное в одной немецкой CMF, но насколько понял есть проблемки с кеширование по урлами вида "?page=profile&id=2" ? в принципе мелочь, но всё же не приятно. для сравнения посмотрите хотя бы Zend_cache который ещё и с разными адаптерами работать может - хотите в файл, хотите в memcache.
UFO just landed and posted this here
6 против zend'овских 5(для кеша) :) разницы практически нет, вероятность что будет возможность использовать только один конкретный ничтожно мала
UFO just landed and posted this here
ну и? опять таки zf :) позволяет присваивать теги записям в кеш и потом можно скажем удалить все записи в кеш с этими тегам :) тоже всё удобно.

ладно хорош холиварить.

Технология для реализации любого проекта должна выбиратся в зависимости от доступных ресурсов (оборудование,разработчики и т.д.) а каждый конкретный разработчик будет исходить из своих возможностей :)
UFO just landed and posted this here
По поводу тестирования - вы не видели rspec )
Чем это круче, чем использование основных идей RoR в фреймворках типа CakePHP?
Т.е. зачем это нужно? =)
UFO just landed and posted this here
Глупости, а не примеры, честно - не привлекают.
Да и что может быть идеальнее С++ - синтаксиса? Попытки показать, как легко перейти - переходите, php - это классика, какие нахрен рельсы, пошумят еще пару лет, и останутся в абсолютном меньшенстве как перл и питон. А php всегда будет иметь в себе каплю черного пиара как пример "быдлокода" из-за своей дружелюбности, имхо - это не причина коситься в сторону ror, django и тд., свои руки ровнять нужно и только...
Почему-то я бы не сказал, что питон "остался в абсолютном меньшинстве". Django, Pylons? Два мощных средства под различные нужды. Да и код на питоне, имхо, пишется быстрее, чем на пхп. Магия декораторов (с) (:
Сам долгое время сидел на пхп, и различные фреймворки пришлось поюзать. Сначала сопротивлялся переходу на что-то новое (а нафига? пхп-ж работает), а теперь пишу на питоне и радуюсь.
UFO just landed and posted this here
Если мне ничто не изменяет, то Pylons'у мы обязаны одному из разработчиков RoR'а. Многие вещи (например замечательные вэб-хелперы) портированы из рельсов.
UFO just landed and posted this here
http://pylonshq.com/
Особенно радуют там мануалы из серии "for people in harry".

Что же до джанго — то там убогий ОРМ, зато админка из коробочки + generic views + множество уже готовых сторонних вещей, которые вкручиваются правкой пары строк в конфиге. Простеишие сайты поднимаются в минуты, а для высоконагруженных (а тем более — разнесенных вэб-приложений) лучше подойдёт pylons.

Вообще, если бы меня сейчас позвали работать на рельсы, я бы пошел, хотя знаком с ними весьма бегло. А вот на пхп бы вернулся только ради значительно большей зарплаты, разве что. И не я один. Показатель?

Большая беда пхп в том, что он вроде как и сам по себе что-то может в браузер плюнуть, и фреймворков под него много, а собрать работающее приложение из многих готовых апп (плагинов, etc.) выливается в геморрой. Вот и приходится изобретать велосипеды каждый раз, хотя кто-то это занятие и любит (:
Руби своей целевой аудиторией имел не пхп, а пёрл с питоном.
fruit = %w[apple banana orange]
fruit.each { |f| print "#{f}, " }

Спасибо... поблевал...
UFO just landed and posted this here
понятно и там, но тут значительно приятнее выглядит. это тоже отРУБИ? :)
вот например вывод всех строк:
File.open("ddd",'r') do |file|
file.each_line { |line| print line }
end
глядя на этот пример,
сишник возможно позавидует вам, в глубине души (как вам просто живется)
но не пиэйчпишник. :)
а что, fstream уже отменили?
а так, чтоб открыть файл и итератором по строчкам? код дайте. если что.
ну, в общем, нечто такое:

ifstream file("file.txt");
string str;
while(getline(file,str)){
cout << str << "\n";
}
Ok. Нормально.
типа так:
<?php
$lines = file('http://habrahabr.ru/');
Я приводил пример итераторов. Получение всех строк в руби куда логичней: File.open('...','r') {|file| lines = file.readlines } =)
UFO just landed and posted this here
только не {} а []
А вообще я бы вывел так: fruit_array.join("\n")
fruit_array = ['apple', 'banana', 'orange']
Я тут вспомнил, что на руби есть интерпретатор к этому замечательному языку:

Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook.
Ook! Ook. Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook?
Ook! Ook! Ook? Ook! Ook? Ook. Ook. Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook. Ook! Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook.
Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook! Ook? Ook? Ook. Ook. Ook.
Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook. Ook? Ook! Ook! Ook? Ook! Ook? Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook? Ook. Ook? Ook. Ook? Ook. Ook? Ook. Ook! Ook. Ook. Ook. Ook. Ook. Ook. Ook.
Ook! Ook. Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook.
Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook! Ook!
Ook! Ook. Ook. Ook? Ook. Ook? Ook. Ook. Ook! Ook.

уж не за это ли его любят?
UFO just landed and posted this here
UFO just landed and posted this here
Посмотрел ссылку, тема расскрыта не полностью.
Сам начал актично читать/писать на ROR после многих лет PHP. Вопросы, в основном, возникают другие. То, что описано на сайте понятно из беглого чтения 5 страниц мана.
А вот нюансы, аналогов которых в РНР нет, не упоминаются вовсе: Active Record, Migration, Scaffolding (в часности Active Scaffolding), работа с ООП и детальнее плюсы блоков.

P.S. Люди, почему вы так категоричны? Выносить критические мнения должен человек, который _действительно_ разбирается в теме. В данном случае - написать несколько крупных проектов на каждом из языков.
UFO just landed and posted this here
Люди всегда категоричны, особенно те, кто не разбирается :)
интересно, какие крупные проекты написали вы, если для вас в php даже Active Record не существует...
Вы же на самом деле не хотите развернуть дискуссию на тему "чей Active Record удобнее" или "Влияние Active Record на скорость работы проекта"? Тогда зачем оффтопить?
что значит оффтопить? дать линки на "Active Record для PHP" или вы сами найдёте?
В компании, где я работаю, отказались от перехода на Rails.
"Это слишком сложно для наших программистов", "Оно слишком умное и ему нельзя доверять".
Вещи типа ORM, генераторов, отладчика :) - это для них не более чем набор назойливых звуков.
Человека нужно посадить и дать ему самому попробовать scaffolding, только тогда его осенит.
Но проблема в том, что **ему и так хорошо**.

Я наивно полагал, что хотя бы выразительность Ruby смогут оценить.
puts Dir['**/*.*'].sort_by {|f| [File.basename(f), File.mtime(f)]}
Рекурсивный листинг текущей папки с сортировкой по имени и времени последнего изменения.
Если человек тратит 20 минут (средний программист гораздо больше 20 минут), на написание подобной функции на PHP, то у него совсем не остаётся сил и времени задуматься о действительно важных вещах. Например, зачем вообще нужна такая функция :)

Я не думаю что более высокий уровень абстракции это плохо.
У Джоеля Спольски:
Google works and thinks at a higher level of abstraction than Microsoft. Google uses Bayesian filtering the way Microsoft uses the if statement.
Этим всё сказано.
а зачем она нужна?
Она бесполезна, точно так же как и Hello World.
Но хороша чтобы показать элегантность сортировки многомерных массивов в Ruby.
Или вы считаете что сама идея сортировки по нескольким критериям бесполезна?
вы уверены что на php это займет 20 минут?

кстати, а если в итоге Dir['**/*.*'] насобирает нам например 500000 файлов.. что будет?
По первому вопросу - нет, не уверен. Но для себя я бы сделал оценку 20 минут. Лучше среднего!
Причём, знаете, даже не в минутах дело. Этот код кто-то будет поддерживать после. Ад начинается здесь.

По второму вопросу:
ksort($a); // will it scale?!
конечно же
puts Dir['**/*.*'].sort_by {|f| [File.basename(f), File.mtime(f)]}
will scale аж как никогда....

кстати, а причём там вообще ksort?
Symfony и RoR: кто что у кого содрал? Как-будто две вещи делались в тесной связи.
Вы, видимо, никогда не делали ничего на рельсах. А если и делали, то лучше бы не делали. Ибо только в этом случае вам могла придти идея сравнивать симфони и рельсы.
Ага, а вы просто не владеете темой. Вот я и сам нашёл ответ на свой вопрос:

«2003 году Фабьен (Fabien Potencier - гендиректор Sensio, французкой веб-фирмы известной своими инновационными взглядами на веб-разработку) изучил возможности существующих средств разработки приложений на PHP5, с открытым кодом. Ни одно из них не удовлетворяло перечисленным выше требованиям. Когда же появился PHP5, Фабьен решил что PHP созрел для написания полнофункционального фреймворка. Позже он потратил год на разработку ядра symfony, взяв в качестве основы MVC pattern, ORM Propel, и helper-ы из Ruby on Rails.»

http://developer.co.ua/posts/view/glava_…
Propel, если ничего не изменилось, генерит кучу "левого" кода. Оно, конечно, так чуть быстрее работает, если все сеттеры и геттеры для каждого класса руками описывать (утилитой генерить), только вот зачем?
UFO just landed and posted this here
А теперь попробуйте найти PHP-фреймворк созданный за последние три года без вдохновения рельсами. Это никоим образом не делает эти фрейморки похожими.
Ну и да, хелперы в симфони не имеют и десятой доли фишек хелперов в рельсах. А под "helper-ы из Ruby on Rails" имелись ввиду, видимо, хелперы для работы с аякс и js-эффектами. Они да, практически полностью повторяют функционал рельсовый, но:
1. Бзе RJS они особо ничего не стоят
2. Это далеко не самая сильная сторона рельс. с jQuery опять же можно забыть про эти хелперы и основная фишка опять приходится на RJS.
вы владелец машины (php)останавливаетесь на светофоре рядом с трамваем
водитель трамвая (ror) говорит: "твоя машина фигня смотри какой я трамвай клёвый купил"

ror: смотри какой большой и красивый, скоро все на таких ездить будут.

php: класс повезло тебе, а нахрена такой большой ?

ror: смотри здесь можно картошку с дачи загрузить, мешки вот сюда на сиденья покидать

php: нахрена ? я лучше с прицепом фраймворком, специально под картошку заточенным поеду, зачем салон пачкать

ror: не ты машину с прицепом с моим трамваем не сравнивай, вон какой он у меня блестящий, чо хачу то и важу

php: а во сколько трамвай обходится ? ну там электричества жрет ?

ror: сущие пустяки ну раз в 10 дороже чем твоя машина ?

php: сможешь поехать куда захочешь ?

ror: только куда рельсы проложены, ну или самому класть придется, зато когда везде проложу сразу хорошо мне будет

php: ну может он быстрый ?

ror: да нет , еле тащится, зато какой удобный, можно сразу за руль садится, сел поехал и в аварию не попадешь

php: а что такой медленный ?

ror: ну мне ведь чтоб куда-то доехать нужно по всем остановкам людей собрать

php: а чем тебя машина неустраивает ?

ror: проблема машин в том что они сушествуют!

php: и после всего что ты мне рассказал зачем мне с машины на трамвай пересаживаться ?

ror: если вы автомобилисты не переведете их на рельсы, то умрете в страшных мучениях, потому что за трамваями будущее !

вы пожимаете плечами и поворачиваете на светофоре срезать угол, а гордый трамвайщик едет прямо потому что так надо
кажется, в жежешечке писали так:
кг/ам
наверно идея настолько очевидна, что пришла не мне одному в голову :)

писал сам, нигде не подглядывал :)
Простите, но вы действительно не знаете значение "кг/ам"?
извините пожалуста, незаметил букавки за вашим авторитетом :)
UFO just landed and posted this here
Ruby - это язык "не любителей" php. Если честно php мне нравится тем что он очень похож на С++. Если бы ruby был ближе к нему я бы "сидел" на ruby. Если есть php то "нахрена коту баян".
Кстати сейчас тенденции такие что "серверные" языки это "прокладка" взаимодействия БД и клиентской части, написанной на JS, флеш и т.п. Поэтому слишком заморачиваться этими языками по большому счету и не надо, для всего хватает и php с головой ( мелкий интерпритатор с++ подобия). Лучше заморачиваться клиентской частью, правда для этого надо все браузеры привести к стандарту как html, xml так и js.
UFO just landed and posted this here
UFO just landed and posted this here
Да я не против Ruby :) Кто как хочет так и ... работает. Я написал суть другую. Что тенденции сейчас другие. Уклон пошел в "клиентскую" часть. Там тоже самое... короче фейк intel vs amd :)
UFO just landed and posted this here
Вы насмотрелись веб два нольной фантастики. JS как был JS так им и остался. клиент как был важной составляющей парадигмы клиент-сервер так им и остался. Как и сервер.

А что касается БД, вы будете удивлены, но то что вы описали – это тенденция 10-ти летней давности. Сейчас всех достали эти RDBMS, все используют MySQL, переносят всю логику на уровень приложения, и всем пофиг на всякие функции pgsql. Вы будете сильно удивлены, но будущие СУБД могут быть написаны на Руби. А могут на эрланге, это уж как пойдет.

Ну и про PHP. Главная проблема PHP в том, что в нем ни осталось хороших программистов. Последний кусочек сознания в мире PHP – это Zend Framework. Больше нет хороших пакетов под PHP. У phpDocumentator самая ужасная документация, которую я видел. "И так тут все". Где статьи на деталях, где php inside, где клевые проги с php.spb.ru? нет их. всех достал PHP. Оставшиеся пхп-девелоперы (коих ужасное количество) только и делают, что рубят бабло, каждый по мере своих возможностей. Они не увлекаются PHP, они с ним работают.
Хорошие программеры остались на с++ :)
Согласен с php просто работают... я не фанатею от него... а мне от него много и не надо... кстати достаточно и 4-ки с головой... это к вопросу о js (как был так и остался) .. у php разработчиков просто плохая команда маркетинга и PR. Кстати хорошему программеру (не путать с кодером) похер какой вообще язык... :) Самое главное логика построения архитектуры проекта... а на чем её ваять... лично и мне похер
UFO just landed and posted this here
А я этом и писал :) (см. последние предложение)
По барабану какой язык. Главное у разработчика архитектура проекта... можно и на "тормознутом" языке сделать быстрое приложение всё зависит от архитектуры... а можно и на "быстром" всё загубить
ну да, команда php не выкладывает тупые ролики на ты-труба...
MySQL перестала быть RDBMS? а где раньше было логика?

будущие СУБД на руби (!) будут радовать только фанатов руби и не более того, у всех остальных будет однозначная реакция "в-сад-в-сад". (как сейчас фанатов php радуют веб-сервер и фтп-сервер написанные на чистом php)

зайдите на https://rubyforge.org/ и покажите мне что-нибудь достойное. beast, restolog, radiant? не смешите меня. всё это - УГ, как пишут на тематических сайтах.

ps. "ни осталось" говорите? добавьте имхо. люди зарабатывают миллионы, делая при этом нужные и полезные сервисы.

ps2. я не против руби, отличная штучка.
ps3. а близкое знакомство с рубионрейлз ничего кроме пользы не принесет. так что инжой!
мое имхо, что все что пишется на хабре в комментах можно воспринимать исключительно как имхо.

насчет mysql. перечитал, действительно коряво выразился. я имел ввиду, что серьезные СУБД аля оракл и постгрес подразумевают реализацию определенной логики на уровне самой СУБД. сейчас же всем на это плевать и используют СУБД тупо как большой файлик откуда можно данные брать не заморачиваясь на сортировку (немножко утрируя). 99% рельсовых проектов, например, будет работать и на SQLite и на Postgresql. Поэтому все используют самую быструю mysql. Это не плохо, просто RDBMS так легче всего использовать.

Теперь про СУБД на руби:
1. Я не говорил, что обязательно на руби. Просто на руби есть интересная разработка в этом направлении отечественных разработчиков.
2. Руби прекрасно и прозрачно работает с С. Реализовав функционал на Руби можно понемножку переписывать его на С.
3. Не сравнивайте жопу с пальцем. то что смешно на php, очень серьезно на руби. например, веб-сервер. примеры? mongrel, хехе. чистый руби, если вы не знали.

теперь про rubyforge.org. для начала beast — офигенный форум, лучше, практически, не придумать. ну только гугл группы. Недостаток только один — в рельсах нет хорошего механизма встраивания сторонних приложений в свое приложения (максимум, что сейчас доступно — Engines). А что касается кучи всяких CMS, то у рельс немного другая идеология. Это фреймворк. Очень хороший фреймворк. И не надо городить на него всякие CMS. Не видел ни одного хорошего сервиса, построенного на базе CMS. А для сайтов-визиток rails и не предназначался, их на PHP клепать можно. на rubyforge.org есть куча замечательных тузл для разработчика, до среднего уровня которых php уже не дотягивает со своими phpclasses.org. а больше и не нужно.

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

p.s. я как бы уже инжой :)
хаха. снимите свои "рубиновые очки" :)

давайте не будем трогать серьёзные СУБД. "серьёзные девелоперы" уже хохочут над нами с вами, тыкая в нас пальцами с нашими мусклами и посгресами.

форум beast - мрачный, примитивнейший форум, с огромной дырой в секурити. что-то вроде phpbb версии эдак 0.5. и не более того. вообще удивительно как такой мрак не стыдно писать на достаточно мощном фреймворке.

теперь про тулзы с rubyforge.org. можно привести примеры этих самых супер-тулзов? очень вдруг стало интересно...

про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...
поверьте, если бы не было выбора, то пхпешники тоже сидели как ненормальные на каком-нибудь nanoweb (который работает ничуть не хуже того же mongrel). Интересно было бы их даже сравнить в производительности.

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

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

рельсы точно так же держаться на коммунити, которое они пытаются расширять за счёт странного пиара: посмотрите вот есть руби, и он такой классный, а вот есть гавно (perl, php, java, что-там еще есть в их роликах?) и оно такое гавёное что просто фе…

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

rutils, jrails, rspec, ruby-debug, heckle, haml, piston, capistrano — все это и еще куча всего хостится на рубифордж. многие из этих тузл не имеют внятных аналогов в пхп.

у монгрела есть одно гигантское преимущество — масштабируемость. увеличилась посещаемость? запускам еще десяток монгрелов. популярность взлетела до неба? ставим сервак с nginx и два с монгрелами. получаем твиттер, который на 160 монгрелах крутится. кстати, эта система еще и очень отказоустойчивая. если сюда присоединить capistrano, то получаем сверх гибкую конфигурацию, которая может держать какую угодно нагрузку (при условии, что БД нормально организована), которая поднимается двумя командами в шеле. вы с mod_php заипетесь тоже самое повторять, а потом поддерживать. с учетом современных цен на железо, такая схема лично для меня предпочтительнее.

я не говорю, что зарабатывать бабло плохо и написал про это. просто в php все упирается исключительно в это. а гуру руби общаются в форумах, пишут статьи и офигенные тузлы. сравните ror2ru с phpclub. Это касается и запада, чего только _why стоит. Покажите мне PHP программера похожего на _why?

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

p.s. а у джанговцев траур после падения первого джанго-сервиса яндекса :) http://softwaremaniacs.org/blog/2008/02/…
оракл нужен там где нужна устойчивость, безотказность, сертификация и т.д., например банковская сфера.

кто сказал что nginx+apache+mod_php или nginx+fast_cgi+php я заипусь что-то там повторять и поддерживать? что за бред? более того куча монгрелов никак не устойчивей того же nginx+php.

неужели я должен перечислять здесь софт\тулзы написанные для php людьми, до которых товарищу _why как до неба? на pecl гляньте, у ror есть такое?

а вы мне jrails парите...

ps. я не посещаю phpclub
неужели я должен перечислять здесь софт\тулзы написанные для php людьми, до которых товарищу _why как до неба? на pecl гляньте, у ror есть такое?


Почему же когда Вы чуть выше написали

теперь про тулзы с rubyforge.org. можно привести примеры этих самых супер-тулзов? очень вдруг стало интересно...


Preprocessor-у не составило труда привести примеры. Когда же Вас попросили сделать тоже самое – Вам это оказалось неожиданно затруднительно – почему так? Может Вы все таки просветите общественность – что же такого в pecl есть уникального – чего по Вашему нет в RoR?
Похоже, вы не прочитали статью, на которую ссылаетесь :-). Там написано и почему фреймворк оказался ни при чем, и почему масштабируемость добавлением фронтендов может не работать.
Во-первых факт остается фактом. Джанго-приложение Яндекса, написанное далеко не плохой командой программистов, упало. Думаю для менеджеров Яндекса этот факт тоже многое значит.

Во-вторых, цитирую себя "при условии, что БД нормально организована". Но то что подвела организация работы с БД никак не отрицает факк приведенный в пункте один :)

p.s. я ничего не имею против питона и джанго, я даже в курсе, что eve-online написана на питоне, да.
> Во-первых факт остается фактом. Джанго-приложение Яндекса, написанное далеко не плохой командой программистов, упало

В таком виде это не факт, а подтасовка фактов. Вы выставляете Джанго как основную точку сбоя в истории, хотя он таковой не является. С тем же успехом можно заменить слово "Джанго" на "Линукс", "MySQL" или, не знаю, "юникод". Благо, менеджеры в Яндексе не делают таких скоропалительных выводов, а предпочитают дать нам время подправить систему.

> Во-вторых, цитирую себя "при условии, что БД нормально организована".

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

"вы не конкретизируете понятие "нормально""
конкретизируя это понятие были написаны не один десяток статей, я должен был раскрыть их суть в паре предложений?

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


С чего бы это? Особенно с учетом того, что Django появился на 1 год позже RoR, а Grails (фреимворк - Вы видимо его имели ввиду – а не Groovy – который язык программирования на платформе Java) –вообще на 2 года позже, и расшифровывается его название как «Groovy On Rails»

Считать себя можно хоть императором вселенной – но то, что RoR - старший в новом семействе фреймворков – это факт.
какая разница кто когда появился? :) я какбе предупреждаю начало новой холи-вор... или вы считает ror круче Django? :)

да, конечно же я ошибся с груви, голова моя дырявая.... ну любой из этих например https://equinox.dev.java.net/framework-c… (выбрать по-вкусу)

какая разница кто когда появился? :) я какбе предупреждаю начало новой холи-вор... или вы считает ror круче Django? :)



Вы написали это


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



не понятно на чем основываясь. Это так Вы пытаетесь предупредить «новый холивор»?
про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...



Знаете – Вы конечно не обижайтесь – но Вам лучше не говорить о тех вещах, в которых Вы разбираетесь недостаточно хорошо.
1) Точно так же как существуют mod_php и PHP+FastCGI, существуют и mod_ruby и Ruby+FastCGI. Причем Apache+FastCGI+Ruby достаточно часть применяется для развертывания RoR приложений.
2) По фразе «приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом » сразу становиться понятно что Вы даже не догадываетесь как именно работает допустим связка Apache + mod_proxy_balancer +Mongrel +RoR, и почему вообще Mongrel-ов запускается несколько. Вам наверное стоило бы изучить этот вопрос – перед тем как делать какие то громкие заявления.
вы конечно тоже не обижайтесь, но я прекрасно знаю как работает Apache + mod_proxy_balancer +Mongrel, и даже знаю как работает nginx+ ngx_http_upstream + ngx_http_proxy_module + Mongrel. и я даже отдаю себе отчет в том, зачем этих mongrelов запускается целая куча. и мне кажется я чётко описал (правда можеть быть несколько сумбурно) это выше.

более того рекомендую всем к прочтению регулярно обновляюемую статью http://blog.kovyrin.net/2006/08/28/ruby-… . она особенно будет полезна preprocessorу, чтобы немного развеять миф о "космическом взлете производительности" при добавлении новых беков.
может быть она будет полезна и вам, как источник альтернативных "балансеров". кстати, отметьте для себя "конфигурацию связки" лидера тестирования.

еще я знаю что Apache+FastCGI+Ruby достаточно для запуска ror приложений, т.к. именно такими и были мои первые попытки "это" запустить где-то больше года назад.

и что значит "громкое заявление"? утверждение что Mongrel - тормоз, для вас большая новость?

ps. да нравится мне ror, просто непонятны наезды на php
Ой, в статье говорят, что fastcgi быстрее монгрела. ужас. а вот мне все равно плевать. Просто потому что монгрелы это УДОБНО. Это неприемлемо для shared хостингов, но с ценой 20 баксов за 256 мегабайт хорошего VPS и 200 баксов за аренду сервака, мне становится совсем неинтересно слушать про shared хостинг. вы наверное тоже знаете, что надо писать типа echo 'Hello World!', а не echo «Hello World!», потому что одинарные ковычки обрабатываются в два раза быстрее? так вот — это все х**ня.

«утверждение что Mongrel — тормоз, для вас большая новость?»

я не считаю себя гуру. поэтому привык доверять гуру. то что уже упомянутый мною твиттер прекрасно чувствует себя на монгрелах лично меня заставляет думать, что монгрелов для ЛЮБЫХ моих проектов будет выше крыше. Почему то мне кажется, что и для ваших тоже.

«непонятны наезды на php»
Цитирую с чего мой наезд начался: «Главная проблема PHP в том, что в нем ни осталось хороших программистов». Я показал вам прекрасные тузлы на руби, привел пример прекрасного разработчика _why, который в одиночку умудряется создавать гениальные программы просто в свободное время. где все это в PHP? что есть интересного в PECL?

и в защиту jrails. может вы мне покажете хоть один фреймворк на PHP, где поддержку scriptaculos можно одной строчкой полностью заменить на jquery? или что-то подобное, т.к. ничего подобного RJS в PHP я еще не видел, так что и поддержки то scriptaculos то еще нет толковой, так что нечего заменять jquery. jRails прекрасно справляется со своей задачей, невозможной в мире PHP-фрейморков. поэтому я и привел его как пример хорошей тузлы для программиста.

вы конечно тоже не обижайтесь, но я прекрасно знаю как работает Apache + mod_proxy_balancer +Mongrel, и даже знаю как работает nginx+ ngx_http_upstream + ngx_http_proxy_module + Mongrel. и я даже отдаю себе отчет в том, зачем этих mongrelов запускается целая куча. и мне кажется я чётко описал (правда можеть быть несколько сумбурно) это выше.


еще я знаю что Apache+FastCGI+Ruby достаточно для запуска ror приложений, т.к. именно такими и были мои первые попытки "это" запустить где-то больше года назад.

Не похоже что Вы это знаете – иначе Вы бы не написали

про жопу и палец: разве так плохо что есть mod_php или php_fastcgi, и не приходиться использовать тормознутый mongrel, которого приходится лечить каким-нибудь шустрым фронт-эндом и запускать этих mongrel штук 10... а то ж оно совсем cдохнет...
поверьте, если бы не было выбора, то пхпешники тоже сидели как ненормальные на каком-нибудь nanoweb (который работает ничуть не хуже того же mongrel). Интересно было бы их даже сравнить в производительности.

- оказывается выбора нет и FastCGI+Ruby не существует, балансировщик нагрузки Apache/nginx оказывается «ускоряет» Mongrel, а сам Mongrel требует, что бы его запускали «штук 10... а то ж оно совсем сдохнет...»
Из этих заявлений можно сделать только два вывода: либо Вы просто не знаете как работает схема балансировщик нагрузки+Mongrel+RoR, любо Вы сознательно распространяете дезинформацию.

более того рекомендую всем к прочтению регулярно обновляюемую статью http://blog.kovyrin.net/2006/08/28/ruby-… . она особенно будет полезна preprocessorу, чтобы немного развеять миф о "космическом взлете производительности" при добавлении новых беков.
может быть она будет полезна и вам, как источник альтернативных "балансеров". кстати, отметьте для себя "конфигурацию связки" лидера тестирования.

Когда статья уважаемого Алексея Ковырина вдруг стала «регулярно обновляемой»? Ей полтора года, в ней рассматривается Rails 1.1.6 – тогда как уже давно вышла версия 2.0.2

и что значит "громкое заявление"? утверждение что Mongrel - тормоз, для вас большая новость?

Да новость. На основании чего сделано данное заявление?
Sign up to leave a comment.

Articles