Pull to refresh
Comments 45
UFO landed and left these words here
Вот это меня и пугает, все так говорят, уже давно везде слышно, что руби = рельсы, а я пытаюсь разобраться, есть ли альтернатива? Или удостовериться, что лучше рельс нет ничего.
Пугает еще и то, что это говорят люди "слабо знакомые с темой Руби" :)
на сколько я знаю, руби хоть и красив и рельсы хороши, но это связка достаточна медленна в сравнении с другими фреймворками... по крайней мере так говорил Сагалаев и его коллега из Яндекса на РИТ-2007.
ихмо тест практически потерял свою актуальность
правилось 7 ноября 2007, рельс 2.0 тогда еще не было. Хотя сомневаюсь, что они перегнали фреймфорки на питоне.
(небольшая инфа) Не стоит забывать что сейчас вышел Rails-2, который быстрее первого, и в котором исправлено куча багов. В разнице по скорости убедился я сам.
Про новый релиз рельс я слышал, но вот пока руки не дошли покрутить. Жду еще когда руби 1.9 выйдет в стабильном варианте, чтобы уже кардинально обновиться.
UFO landed and left these words here
Рельсы медленнее других фреймворков, но это не значит, что на них нельзя писать высоконагруженные приложения. Как-то сами разработчики в блоге писали, что у них кластер обеспечивает 4000 запросов в секунду.
Ну там много чего в кучу свалено. Но основа схвачена верно. Rails (как и Java/PHP/...) - это кошмар. Но не из-за того, что у них есть проблемы (где их нет?). А из-за того, что VisualBasic "программисты" пришли и сюда (после того как Rails стали мейнстримом). Это беда всех успешных фреймворков и языков :-( Только C++ избежал этой участи потому что с самого начала получил репутацию "крютого языка для крютых парней" и потому люди, которые вообще не умеют программировать (то есть 90% "программистов") туда не лезут.

Основная беда Rails (а также прочих подобных языков и фреймворков) в том, что на них могут написать "нечто почти работающее" люди, которых к программированию, в общем-то, допускать и вообще не стоило. Если такие же кадры попробуют что-то сотврить на C++, то до стадии продукта, который можно запустить они вообще не дойдут и, разумеется, будут прогнаны с позором. Если на Rails (Java, PHP, etc) - то вы получите что-то такое более-менее работающее, но постоянно падующее и глючащее. Причём эта возможность (как и в VisualBasic'е) напрямую связана с жёсткими рамками фреймворка, за которые выйти очень сложно. Зато в этих рамках хороший программист может работать в два раза быстрее, чем без фреймворка. Дальше - выбирайте, это уж ваше дело...
А если взять в пример еще эту строку:
"The creator of Rails in his flagship products could not keep them running for longer than 4 minutes on average.", то она идет немного в разрез с вашим верным(!) комментом. Сомневаюсь, что создатель рельс - человек, которого надо держать от программирования подальше.
А вы читали окончательную версию поста Зеда?.. Прочтите.
А если вы не будете выдирать строку из контеста, то увидите, что речь шла всё-таки о трёх часах, а не о четырёх минутах (или вы дочитав до этой строки дальше уже не читали?), что, конечно, плохо, но отнюдь не смертельно (если такое случается, то это повод объявить "code yellow" и разобраться, но это не "code red" ни разу) ?
UFO landed and left these words here
Чтобы начать - пожалуй даже больше. Речь идёт об усилиях, которые нужно приложить чтобы закончить и получить работающую систему. Всем "хорошо известно" что C++ - это что-то близкое к машине и если у Васи всё работает, а у Пети тормозит и Петя писал на C++, то ясно что дело не в C++. В случае с Java(EE) зачастую виновным назначают кого угодно (OS, JVM, Servlet Engine, etc) - только не программиста.
UFO landed and left these words here
Если у вас время генерации страницы меряется в секундах, а у конкурента - в миллисекундах, то профайлер поздно запускать: профайлер может ускорить вашу программу в 2-3 раза в лучшем случае (обычно же - на проценты, не более того).

На C++ не без библиотек пишут, да, но я видел очень мало программистов на C++, который бы искренне считал, что ему не нужно знать сложность работы сортировки и не мог бы на бумажке прикинуть (с точностью до порядка) сколько времени потребуется на сортировку миллиона телефонных номеров. Среди программистов на Java/.NET/Ruby/Python таких - пруд пруди, а люди программирующие на PHP зачастую даже вопроса понять не могут и какое отношение он имеет к дизайну web-приложений - тоже. Я же сказал - это скорее разница в отношениях к языкам, чем в самих языках: в C++, Java и .Net сложность сортировки входит в описание функции сортировки, а Ruby/Python/PHP - нет, но почему-то только программисты на C++ про этот факт знают (когда многих "крютых" спецов по Java2(EE) тыкаешь носом в строчку из описания они искренне удивляются тому что там это написано во-первых и тому что предполагается что они это знают во-вторых; c программистами на C++ такое случается на порядок реже)...
UFO landed and left these words here
Был у нас смешной случай, когда профилирование выявило главного виновника тормозов в генерации страниц. Им оказался библиотечный метод encodeURL :). Переписывание вручную ускорило всё более чем на порядок. В более поздних JDK это дело поправили, но всё-равно это было и это показывает что вы не совсем правы :).

А сложность сортировки... Да та же самая фигня. Когда (если!) в неё упрётся, значит пора запустить профайлер :). Может ведь и не упереться. Тогда зачем об этом думать? У нас много всякого тяжёлого дерьма было, но кто бы мог подумать на эту енкодеУРЛ.
А задача сортировки миллиона телефонных номеров - это разве часто встречающаяся задача? Если бы у меня такая возникла, я бы удивился и, скорее всего, хорошо бы подумал на тему сортировок и даже, возможно, перечитал бы избраное у Кнута :). Хотя я и не сишник, а, скорее, явщик, из-под-палки-пхп-вщик и начинающий рубист :). В большинстве же прочих случаев чего-то посортировать - думать и прикидывать сложность вообще не имеет смысла. Хотя да, библиотеки и прочий высокоуровневый хлам несколько расслабляют.
Странно, а eBay и Amazon написаны на Jave. Да и Google к ней неравнодушен.
UFO landed and left these words here
4000 - это в пике или в среднем ? Если в среднем, то хорошо бы сайт узнать: это уровень где-то не десятки, но сотни самых популярных сайтов в мире...
UFO landed and left these words here
А давно используешь? Делал что либо крупное? Как у него со стабильностью? Хочется просто как можно больше инфы =) И что такое Markaby?
UFO landed and left these words here
Я знаю два достаточно крупных проекта на рельсах:
ilike.com
scribd.com
Врят ли у них маленькая нагрузка :).
На рельсах можно писать хорошие проекты. И сколько я на них не писал - фреймворка хватало за глаза, и никаких велосипедов я не делал. Так что смело начинайте на них писать. Код получается очень красивым), а потом если начнуться томоза делайте оптимизацию: поиск - сфинкс и феррет, erb - используем erubis, код - включаете профайл и смотрите какой именно участок тормозит, либо его оптмизируете, либо переписываете на си.
Руби 1.9 по тестам впечатляет. В ror2ru группе проскакивала ссылка на тесты. рельсы 2.1 уже будут с поддержкой нового руби, так что ждите прироста производительности.
По поводу этой статьи, посмотрите http://groups.google.com/group/ror2ru/br…
Не так уж все и страшно. Просто надо понимать, что вы хотите и что могут дать вам рельсы. Или что вы можете сделать с их помощью.

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

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

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

Итог? Если вы хотите получить возможность командой script/generate, неделей «стандартного» кода и деплоем делать высоконагруженные порталы — рельсы тут вам не помогут, они вас справедливо убьют. Если вы решили серьезно заняться Руби, потом Руби и Рельсами и писать осознанный код — милости просим, думаю вас с удовольствием примут в сообществе.
UFO landed and left these words here
Ну, не слишком. Там всегда эмоции были, есть и будут. Главное, что на личности переходят только в случае динозавров и пррчих зверушек. И в итоге они пришли к здравому результату, на мой взгляд;) Да и сам Зед дописав эту штуку расставил точки над «и».
UFO landed and left these words here
UFO landed and left these words here
Ничего не понял. Человек там писал про генератор таблиц. я запостил код с деревом. Вы говорите, что дерево - это яркий пример. Вот мне очень интересно узнать, что же в моем дереве такого плохого? Тесты? (оО)
UFO landed and left these words here
Пожалуй, вы правы. Но этого не изменить, с этим надо смириться и готовиться к этому;)

Мне, кстати, интересно, как дела обстоят вокруг Питоне, почему там такого нет? Или есть?..
Огромное спасибо всем отписавшимся. Очень рад, что существует хабр и хабрасообщетсво у которого всегда можно спросить совета!
Only those users with full accounts are able to leave comments. Log in, please.