Комментарии 145
Основная учебная задача книги — создание магазина. В основе лежат какие-то рельсы из серии 1.X.X (точно не помню), что во времена 2.X.X достаточно неактуально.
Есть бета версия третьего издания этой книги, там речь идет как раз о 2.x.x.
Рекомендую.
+5
Подскажите, где смотреть? Что-то туплю — не могу найти.
0
так она там за деньги…
0
При Путине такого не было! ©
+25
Не такие уж и большие деньги, на самом деле, за такую книгу.
650р., PDF-формат. Купил, доволен, читаю, чего и вам рекомендую. :)
650р., PDF-формат. Купил, доволен, читаю, чего и вам рекомендую. :)
+4
Есть на демоноиде.
+6
Уау! Это круто =), но уже не актуально
-7
Бета мне совсем не понравилась. Это не бета, а альфа максимум. Там очень мало изменений. Ждём полноценной версии.
+1
>Чуть больше месяца назад я пересел с PHP на Ruby.
> я все чувствительнее чувствовал провал между ПХП и Руби
>Я никогда не работал с фреймворками в ПХП — поэтому мне и не с чем сравнивать
> этот подход меня вдохновляет много больше, чем стандартная библиотека ПХП
вам не кажется, что вы сравниваете теплое с мягким?
как можно сравнивать чистый ПХП с тяжелым MVC фреймворком?
сначала вы говорите о Ruby, но я почему-то уверен, что вы писали только именно на рельсах, а не на чистом руби.
> я все чувствительнее чувствовал провал между ПХП и Руби
>Я никогда не работал с фреймворками в ПХП — поэтому мне и не с чем сравнивать
> этот подход меня вдохновляет много больше, чем стандартная библиотека ПХП
вам не кажется, что вы сравниваете теплое с мягким?
как можно сравнивать чистый ПХП с тяжелым MVC фреймворком?
сначала вы говорите о Ruby, но я почему-то уверен, что вы писали только именно на рельсах, а не на чистом руби.
+9
да, я работаю в Рельсах. Но где кончается руби и начинаются релься? 80% кода ведь — это чистый руби. Сравнивая ПХП и Руби я сравниваю только стиль, эстетику, лаконичность яыка. мощность пхп и руби сравнивать глупо. также как сравнивать рельсы и пхп (хотя, можно провести анализ Симфонии или чего другого с Рельсами)
+2
у меня очень схожие ощущения были, когда я с PHP перешел на Django
+9
Кстати, один из минусов моего пхп прошлого было нежелание ничего слышать о других языках. Ведь я мог «все что угодно слепить на пхп»! А теперь у меня активно проснулся интерес к питону, лиспу и прочим языкам
+5
Я тоже в восторге от Ruby и Ruby On Rails.
Хотел бы порекомендовать очень хорошее руководство на самОм офф-сайте: guides.rubyonrails.org/
Я начинал с него + Agile Web Development (естественно, адаптируя его на ходу под 2.1).
«тревожит та кипа файлов, которая уже имеется в проекте (и это только начало).»
1. Это вполне естественно для фреймворка.
2. Увеличиваться это количество будет только вашими усилиями.
3. Лучше больше лаконичных файлов, чем всё в одну кучу.
Кстати, если бы вы поработали с каким-либо PHP-фреймворком, думаю, Rails всё равно вас впечатлил бы. По крайней мере, так было со мной.
Хотел бы порекомендовать очень хорошее руководство на самОм офф-сайте: guides.rubyonrails.org/
Я начинал с него + Agile Web Development (естественно, адаптируя его на ходу под 2.1).
«тревожит та кипа файлов, которая уже имеется в проекте (и это только начало).»
1. Это вполне естественно для фреймворка.
2. Увеличиваться это количество будет только вашими усилиями.
3. Лучше больше лаконичных файлов, чем всё в одну кучу.
Кстати, если бы вы поработали с каким-либо PHP-фреймворком, думаю, Rails всё равно вас впечатлил бы. По крайней мере, так было со мной.
+2
НЛО прилетело и опубликовало эту надпись здесь
Правда умеет? Это круто. Надо будет попробовать, спасибо за наводку.
0
Хотя в принципе лично я вполне комфортно чувствую себя с обычной навигацией по файлам (по Cmd+T): учитывая «convention over configuration» всегда знаешь, где что лежит и как что называется.
0
кмд+Т для view — не выход
0
wow!
большое спасибо!
это сейчас очень актуально
большое спасибо!
это сейчас очень актуально
0
для меня руби рельс был первым. Вряд ли захотеться на что-то менять. RoR уже предустановлен на леопарде, Coda и Texmate его прекрасно поддерживают. Запустил коммерческий проект на отечественном хостере, в общем полет очень даже нормальный.
0
Начал изучать RoR, после изучения Zend Framework'a — ROR идет на ура, основная трудность — нет знаний и опыта в Ruby как таковом…
Поскольку мне есть с чем сравнивать — то могу сказать, что и сам ZF скоро догонит RoR — и разница будет лишь в синтаксисе языка, так что не парьтесь холиварами…
Поскольку мне есть с чем сравнивать — то могу сказать, что и сам ZF скоро догонит RoR — и разница будет лишь в синтаксисе языка, так что не парьтесь холиварами…
+2
Насчет изящности языков — достаточно написать пару классов для PHP — и получишь объекты для всего :)
Напишу — выложу — похоливарим :)
Напишу — выложу — похоливарим :)
+1
Не — никаких холиваров. )
+1
Холиварить не рекомендуется.
Трезво, аргументированно обсудить интересные аспекты — всегда пожалуйста. Но холиварить… Мы же не дети, право.
Трезво, аргументированно обсудить интересные аспекты — всегда пожалуйста. Но холиварить… Мы же не дети, право.
0
Я думаю нет смысла из ПХП делать Руби :) Это глупо, разные парадигмы разработки, при этом также глупо говорить, что Руби изящнее. Изящество относительно, а точнее субъективно (ну а это я автору статьи).
+1
да. это субъективно. а по вашему пхп изящнее руби?
+3
Нет, по мне и руби не изящен :)
-1
Что Вы подразумеваете под изяществом? Что Вы вкладываете в это понятие относительно языка программирования? Или Вы просто поддакиваете мэйн-стриму, где каждый второй скрипт-кидис считает своим долгом сказать: «после знакомства с Ruby / Python я возненавидел PHP»? Между прочим, Python был до PHP, а Ruby появился всего лишь через год после PHP — так почему Вы пришли к PHP?
Как по-Вашему, например, JavaScript — это изящный язык? Если да, насколько он изящней PHP и почему? А насколько Ruby?
.ps: мне очень нравятся JavaScript, Python, Ruby — они идеологически похожи, и, действительно, — красивые языки. Но, вместе с тем, я вполне адекватно отношусь в PHP.
Мне просто реально интересно — почему каждый второй в статье о Руби или Питон пишет — «я возненавидел PHP»? При этом, мне, почему-то, кажется, что сам Ruby эти люди знают поверхностно; ведь в 97% их прельстили Рельсы, а не Рубин.
Как по-Вашему, например, JavaScript — это изящный язык? Если да, насколько он изящней PHP и почему? А насколько Ruby?
.ps: мне очень нравятся JavaScript, Python, Ruby — они идеологически похожи, и, действительно, — красивые языки. Но, вместе с тем, я вполне адекватно отношусь в PHP.
Мне просто реально интересно — почему каждый второй в статье о Руби или Питон пишет — «я возненавидел PHP»? При этом, мне, почему-то, кажется, что сам Ruby эти люди знают поверхностно; ведь в 97% их прельстили Рельсы, а не Рубин.
0
1) Где я написал, что возненавидел ПХП?
2) Если мейнстрим говорит, что Руби более изящен, чем ПХП, то наверное он это не рандомная рефлексия.
3) Если я счел Руби, более изящным, чем ПХП, то мое мнение тут же становится результатом заговора против ПХП, а не моим мнением?
4) В рельсовых проектах 90% кода — это руби. И я не сравнивал рельсы с ПХП.
5) Под изяществом я понимаю ясность выражения языка, его читаемость и простоту выражения.
6) JavaScript я предпочитаю ActionScript несмотря на их братские узы =) (я понимаю, что они взаимонезаменяемы). Скорее всего это связано скорее с историческими моментами моей жизни, чем с языком. Я с большим удовольствием пишу на AS, но при этом в нем ничего эстетского не нахожу.
А. Ну и на ПХП я писал как на самом доступным для меня в то время языком.
2) Если мейнстрим говорит, что Руби более изящен, чем ПХП, то наверное он это не рандомная рефлексия.
3) Если я счел Руби, более изящным, чем ПХП, то мое мнение тут же становится результатом заговора против ПХП, а не моим мнением?
4) В рельсовых проектах 90% кода — это руби. И я не сравнивал рельсы с ПХП.
5) Под изяществом я понимаю ясность выражения языка, его читаемость и простоту выражения.
6) JavaScript я предпочитаю ActionScript несмотря на их братские узы =) (я понимаю, что они взаимонезаменяемы). Скорее всего это связано скорее с историческими моментами моей жизни, чем с языком. Я с большим удовольствием пишу на AS, но при этом в нем ничего эстетского не нахожу.
А. Ну и на ПХП я писал как на самом доступным для меня в то время языком.
0
2) А мейнстрим — кто?
0
> 1) Где я написал, что возненавидел ПХП?
а, черт, простите, я Вас спутал с неким Julik, о котором Вы упоминали; я сходил по ссылке — live.julik.nl/2005/11/php-is-so-90s и увидел третий пункт.
> то наверное он это не рандомная рефлексия.
конечно не рандомная, а цепная реакция;
При этом и Руби и Пайтон, повторю, действительно, изящны, меня просто умиляют фразы типа «я возненавидел PHP» — т.е. восхваляется продукт через сравнительное унижение другого продукта. Стало быть, к Вам это не относится, прошу извинить.
а, черт, простите, я Вас спутал с неким Julik, о котором Вы упоминали; я сходил по ссылке — live.julik.nl/2005/11/php-is-so-90s и увидел третий пункт.
> то наверное он это не рандомная рефлексия.
конечно не рандомная, а цепная реакция;
При этом и Руби и Пайтон, повторю, действительно, изящны, меня просто умиляют фразы типа «я возненавидел PHP» — т.е. восхваляется продукт через сравнительное унижение другого продукта. Стало быть, к Вам это не относится, прошу извинить.
0
Чуть ниже я описал одну из причин ненавидеть, или, по крайней мере, «не любить» PHP — habrahabr.ru/blogs/ruby/45063/#comment_1138445
Казалось бы, мелочь, но с них всё и начинается. Одна, две, десять. Мелочи накапливаются, накапливаются, и перерастают в нечто большее. В отвращение, что ли…
Нет, конечно, писать на PHP можно. Но… неприятно (не так приятно).
Казалось бы, мелочь, но с них всё и начинается. Одна, две, десять. Мелочи накапливаются, накапливаются, и перерастают в нечто большее. В отвращение, что ли…
Нет, конечно, писать на PHP можно. Но… неприятно (не так приятно).
+1
По поводу разрозненного именования функций (и как следствие — неопрятности php) полностью согласен.
.ps: я не PHP отстаиваю (мне самому Руби с Питоном больше нравятся; но не потому, что я могу написать 5.times вместо for-цикла, а из-за идеологии), я просто отметил очередное цепное появление подачи PHP в статьях о Руби, не более. Хотя, все, действительно, познается в сравнении.
.ps: я не PHP отстаиваю (мне самому Руби с Питоном больше нравятся; но не потому, что я могу написать 5.times вместо for-цикла, а из-за идеологии), я просто отметил очередное цепное появление подачи PHP в статьях о Руби, не более. Хотя, все, действительно, познается в сравнении.
0
Git лучше subversion *)
Да кто бы спорил…
Да кто бы спорил…
+1
уверяю — найдутся!
0
Конечно найдутся, смотря какая задача. Для большинства хватает svn, плюс основной, для него есть клиенты практически под все IDE.
Каждому свое! Статья холиварная, всегда, когда человек начинает изучать что-то новое, что координально отличается от предыдущего, при этом если процесс проходит успешно, он новой идеей заболевает.
Каждому свое! Статья холиварная, всегда, когда человек начинает изучать что-то новое, что координально отличается от предыдущего, при этом если процесс проходит успешно, он новой идеей заболевает.
0
> Я никогда не работал с фреймворками в ПХП
Комментарии излишни.
Нет, я допускаю, конечно, что писать плагины и кастомайзить всякие вордпрессы/джумлы и просто писать одноразовые сайты — бизнес, и деньги делать на этом можно, но как-то это… ну, по-индусски, что ли. По-обезьяньи.
Если уж есть хоть пучок рутинок в отдельном файлике, которые таскаются из проекта в проект или просто подкручиваются какие-нибудь сторонние модули — это уже хорошо, а уж если нет — рекомендую все-таки задуматься и посмотреть на то, что такое фреймворки, и, зачем, собственно, их.
Комментарии излишни.
Нет, я допускаю, конечно, что писать плагины и кастомайзить всякие вордпрессы/джумлы и просто писать одноразовые сайты — бизнес, и деньги делать на этом можно, но как-то это… ну, по-индусски, что ли. По-обезьяньи.
Если уж есть хоть пучок рутинок в отдельном файлике, которые таскаются из проекта в проект или просто подкручиваются какие-нибудь сторонние модули — это уже хорошо, а уж если нет — рекомендую все-таки задуматься и посмотреть на то, что такое фреймворки, и, зачем, собственно, их.
+1
не совсем вас понял.
почему я не использовал фреймворки — потому что по наивности верил в свою гениальность. и фреймворк мне заменяла (хотя это определенно не то слово) та библиотека классов и методов, что накопились за годы разработки на пхп.
начиналось все конечно с создания собственной ЦМС (по моему дефолтная болезнь пхп разработчиков).
>>рекомендую все-таки задуматься и посмотреть на то,
>>что такое фреймворки, и, зачем, собственно, их.
??? ну да я в курсе что такое фреймворк
почему я не использовал фреймворки — потому что по наивности верил в свою гениальность. и фреймворк мне заменяла (хотя это определенно не то слово) та библиотека классов и методов, что накопились за годы разработки на пхп.
начиналось все конечно с создания собственной ЦМС (по моему дефолтная болезнь пхп разработчиков).
>>рекомендую все-таки задуматься и посмотреть на то,
>>что такое фреймворки, и, зачем, собственно, их.
??? ну да я в курсе что такое фреймворк
0
Ну так, собственно, в чем отличие собственной цмс, наборов классов и методов от фреймворка?
Модульная структура есть? Стандартный подход к написанию модуля есть? Как минимум обращение к базе унифицировано?
Чем не фреймворк, пусть и не универсальный/функциональный? Трехколесный, корявый, но велосипед.
А если этого нет — собственно, о чем я и говорю — то это надо. Must have.
Модульная структура есть? Стандартный подход к написанию модуля есть? Как минимум обращение к базе унифицировано?
Чем не фреймворк, пусть и не универсальный/функциональный? Трехколесный, корявый, но велосипед.
А если этого нет — собственно, о чем я и говорю — то это надо. Must have.
+1
ну и вообще использование / не использование фреймворков это дело исключительно вашей религии
0
ИМХО — не давлю, но стоять буду — фреймворки нужны. Разные задачи — разные фреймворки. Визитки — один фреймворк, огроменные порталы — другой. Agile-разработка, потоковая, уникальный одноразовый проект — фреймворк нужен.
Чтобы ехать, нужен транспорт. Велосипед ли, самолет, подводная ли лодка, ракета или скейт — но нужен. Нет, можно и пешком, но с транпортом лучше. Это так, утрировано.
Чтобы ехать, нужен транспорт. Велосипед ли, самолет, подводная ли лодка, ракета или скейт — но нужен. Нет, можно и пешком, но с транпортом лучше. Это так, утрировано.
+1
Советую использовать IDE NetBeans. Там если мне не изменяет память есть рельсы да и сама IDE очень удобная.
0
кстати, только что вышла версия 6.5.
в чендже — вкусности для рубистов.
в чендже — вкусности для рубистов.
0
ну собственно там для большого спектра IDE заточена.
Сам лично использую её для PHP и Java… Ещё и для Python хочу попробовать.
Сам лично использую её для PHP и Java… Ещё и для Python хочу попробовать.
0
А я пробовал Aptana Studio, eсть все что нужно, остался доволен. На их сайте есть скринкаст примера работы в этой IDE c RoR.
0
Git лучше subversion *)
Ничего, что распределенный и централизованный контроль версий — это вообще две разных вещи? Сладкое лучше соленого?
-1
если вы не беременны — то сладкое лучше соленого )
вам часто принципиально распределен или централизован контроль версий?
вам часто принципиально распределен или централизован контроль версий?
0
Не на то акцент ставите. Обе они прежде всего _системы контроля версий_. как система контроля версий git лучше, так как она а) распределенная б) быстрее в) жрет меньше места.
+1
Макс Лапшин действительно разбирается в руби, он одним из первых на него переполз (судя по его блогу в жж), кстати, тут он по-моему тоже есть :)
+1
спасибо за интересные ссылки, давно хотел посмотреть подробнее на рельсы :)
0
по поводу тормозов… ну не знаю… пока я их не наблюдаю вовсе. ilike.com, ilisten.ru, scribd.com, rghost.ru (25к хостов/сутки) полет нормальный. Как правило если производительность и упирается то никак не в рельсы а в базу или скажем в харды (в случае rghost)
0
twitter (правда с переписаным ядром), lookatme и тд в эту компанию.
просто, как я понимаю, в случае с рельсами надо чуть больше времени уделять кэшированию и оптимизации
просто, как я понимаю, в случае с рельсами надо чуть больше времени уделять кэшированию и оптимизации
0
Весь основной функционал твиттера далеко не рельсы — Java/Scala/C++. На рельсах только фронтенд.
+1
что же вы такой не внимательный
>>twitter (правда с переписаным ядром)
когда-то он был полностью на рельсах
>>twitter (правда с переписаным ядром)
когда-то он был полностью на рельсах
0
Мне показалось, что вы имели ввиду ядро Рельс, а не Твиттера. Когда-то он и падал по пару раз на дню)
+1
ну да — падал. но и нагрузки какие были!?
вряд ли он бы не падал, если бы был написан на ПХП или еще каком высокоуровневом языке )
вряд ли он бы не падал, если бы был написан на ПХП или еще каком высокоуровневом языке )
0
Ну и сейчас он написан на ЯВУ но не падает, или вы имели ввиду динамически-типизированные языки.
0
Ну не будете же вы сравнивать Java и PHP (или будете?)
Это языки разного уровня.
Java в конце концов исполняется из байт кода. Отсюда большое преимущество в скорости.
Это языки разного уровня.
Java в конце концов исполняется из байт кода. Отсюда большое преимущество в скорости.
0
Оффтоп конечно, но вроде как Фэйсбук, такой немаленький ресурс, в пдаучести не замечен, он написан на ПХП.
Твиттер был удивительно падучим ресурсом, при этом, если честно, я не понимаю, как из-за нагрузки ресурс может именно падать, а не просто не тянуть инфраструктура сервера.
Твиттер был удивительно падучим ресурсом, при этом, если честно, я не понимаю, как из-за нагрузки ресурс может именно падать, а не просто не тянуть инфраструктура сервера.
0
А я, изучая python, и знакомясь с разными способами писать на нем web-программы (mod_python, GAE, WSGI, django), начинаю приходить к мнению, что mvc — зло. Он подходит хорошо только для очень сложных проектов, код которых, к тому-же часто изменяется, и дизайн будет поддерживать скины или хотябы настраиваться. Для простых сайтов, лично мне, такой паттерн кажется избыточным.
RoR мне кажется тоже слишком избыточным.
RoR мне кажется тоже слишком избыточным.
-5
Так кто же простые сайты программирует на рельсах?
Совершенно очевидно, что выбор технологии исходит из поставленной задачи.
Можно (и нужно) простые сайты писать на валидном HTML/CSS с применением чистого PHP/Python/Ruby… для добавления серверных примочек, если они необходимы.
Совершенно очевидно, что выбор технологии исходит из поставленной задачи.
Можно (и нужно) простые сайты писать на валидном HTML/CSS с применением чистого PHP/Python/Ruby… для добавления серверных примочек, если они необходимы.
+1
Простые сайты — это сайт-визитка или блог одного пользователя? Тогда да, сложно не согласиться. Хотя с другой стороны, почему бы не использовать фреймворк и для них?
А вот если что-то чуть более сложное…
А вот если что-то чуть более сложное…
+3
Я сам счас решаюсь на переход на Руби он Реилс или Спринг…
Спасибо за статью. Но вот правда так и не определился)
Спасибо за статью. Но вот правда так и не определился)
0
Возьмите Grails — как раз посередине. А вообще выбор странный — птицы разного полёта.
+1
Что странного. Ищу новое) Пробова еще питон — но не навится мне он. Счас учу паралельно спринг и руби он реилс. Может позже определюсь)
За grails — спасибо, обязательно гляну)
За grails — спасибо, обязательно гляну)
0
Ну я про область применения) Grails будет учить быстрее, сразу двух зайцев убъёте — Grails построен на Spring, ну и по продуктивности/красоте Groovy не уступает Ruby.
+1
Спасибо.
Буквально сегодня замышлил проект и решил ради самообразования воплотить его на реальсах. А из вашего хабратопика подчерпнул тучу полезных линков.
Единственное — я вместо Е я решил использовать Аптану как оболочку. Зря?
Буквально сегодня замышлил проект и решил ради самообразования воплотить его на реальсах. А из вашего хабратопика подчерпнул тучу полезных линков.
Единственное — я вместо Е я решил использовать Аптану как оболочку. Зря?
0
аптана тормозная (по крайней мере у меня автокомплит подвешивает систему на полсекунды примерно), но если не пользоваться автокомплитом и забить на некоторые утечки памяти, то почему бы и нет;)
0
Я не могу судить, так как Аптану не использовал. Я поставил — оно мне показалось тяжеловесным и я снес. Е меня вдохновил схожестью с TextMate (большую часть времени я на маке работаю).
Удачи с вашим проектом )
Удачи с вашим проектом )
0
Аптана — ужас, летящий на крыльях ночи. При попытке вызвать code assist из вьюхи — сначала тормозит, а потом показывать «NullPointerException».
Мне больше нравятся Рубимайн и Нетбинс. Рубимайн приятный, но платный, и у меня тормозит на 1Gb хуже Аптаны (но при этом честно комплитит, эксепшены не показывает). Сам сейчас пользуюсь Нетбинсом, он шустрее и не падает.
Мне больше нравятся Рубимайн и Нетбинс. Рубимайн приятный, но платный, и у меня тормозит на 1Gb хуже Аптаны (но при этом честно комплитит, эксепшены не показывает). Сам сейчас пользуюсь Нетбинсом, он шустрее и не падает.
0
Если у вас не тормозит Эклипс, то и Аптана будет работать со схожей скоростью. Функциона у Аптаны один из лучших.
0
Довольно не плохая IDE rubymine www.jetbrains.com/ruby/index.html
0
Кстати, присмотрись к другим framework’ам на Ruby: Sinatra и Merb. В Sinatra ты всё сможешь в один компактный файл запихать. А Merb он более лакончиный что ли.
+2
У рельс тоже проблем хоть отбавляй, да и сам DHH пишет на «ужасном» PHP www.loudthinking.com/posts/23-the-immediacy-of-php — и говорит что штука вполне хорошая. Надо прекратить противопоставлять себя другим и заниматься делом.
-1
Вы читали о чем я писал? Занялся разработкой в новой для меня среде. И теперь я просто рефлексирую по поводу технологии. Логично, что я ее сравнивю с тем, с чем знаком (c PHP).
Много хороших проектов (тот же Хабр) написаны на ПХП.
>>Надо прекратить противопоставлять себя другим и заниматься делом.
О каком деле вы говорите? Как буд-то я на Гаваях сейчас расслабляюсь.
Много хороших проектов (тот же Хабр) написаны на ПХП.
>>Надо прекратить противопоставлять себя другим и заниматься делом.
О каком деле вы говорите? Как буд-то я на Гаваях сейчас расслабляюсь.
0
Я сейчас читаю книгу Simply Rails 2 (написана в мае 2008, ссылка). Там описан процесс создания своего digg'a с нуля :) Никакого опыта веб-разработки за плечами у меня нет, но язык (вернее, фреймворк) очень и очень нравится своей логичностью и простотой.
За последние несколько дней в нескольких независимых источниках информации читаю о том, что рельсы (и руби вообще) медленные; в частности, на википедии нашёл вот такую ссылку: сравнение производительности языков веб-разработки (по ссылке — сравнение PHP с Ruby). Хочется увидеть какие-то реальные цифры — какие, скажем, нужны вычислительные мощности, чтобы поддерживать, пускай, свой Хабр на 10.000 пользователей, будь Хабр написан на RoR?
За последние несколько дней в нескольких независимых источниках информации читаю о том, что рельсы (и руби вообще) медленные; в частности, на википедии нашёл вот такую ссылку: сравнение производительности языков веб-разработки (по ссылке — сравнение PHP с Ruby). Хочется увидеть какие-то реальные цифры — какие, скажем, нужны вычислительные мощности, чтобы поддерживать, пускай, свой Хабр на 10.000 пользователей, будь Хабр написан на RoR?
+1
честно говоря цифры весьма незначитеьные =).
Помнится PHP отставал от Perla в своих ранних версиях на порядки — и ничего — сейчас очень шустро бегает, временами перу не уступает. Да и поприятнее он перла (опять же чисто субъективноэстетически)
Помнится PHP отставал от Perla в своих ранних версиях на порядки — и ничего — сейчас очень шустро бегает, временами перу не уступает. Да и поприятнее он перла (опять же чисто субъективноэстетически)
0
Не холивара ради, а исключительно практическое (и эстетическое) замечание.
PHP станет «поопрятнее» Perl только тогда, когда в нем появится единый стандарт именования функций и порядок передачи параметров этим функциям. Чего только стоят именования функций «str*» и «str_*» и вообще зоопарк в разделе документации под названием «String Functions».
Для примера, параметры у того же strpos: (строка, искомое), а вот в str_replace: (искомое, замена, строка). У одного из них логика отсутствует, напрочь. Или вот strtoupper() и ucfirst() — казалось бы, очень похожие между собой по задачам функции, а какая огромная (для столь близких функций) разница в именовании. В Perl, замечу, эти функции называются uc() и ucfirst() соответственно. И таких примеров не мало. Раздел Array Functions вообще заставляет задуматся о наличии здравого смысла у авторов названий функций: зачем называть функцию array_pop(), если pop(), фактически, нигде, кроме массива, и не используется? Чем был плох просто pop()? И даже если бы использовался (вдруг, когда-то там), то неужели он не сумел бы сам определить, с чем он имеет дело?
Сборище разных функций, написанных разными людьми, в разное время, с разными тараканами в голове, с разным стилем наименования и с разной очередностью параметров.
Нет, что не говорите, но опрятным PHP никак язык не поворачивается назвать.
PHP станет «поопрятнее» Perl только тогда, когда в нем появится единый стандарт именования функций и порядок передачи параметров этим функциям. Чего только стоят именования функций «str*» и «str_*» и вообще зоопарк в разделе документации под названием «String Functions».
Для примера, параметры у того же strpos: (строка, искомое), а вот в str_replace: (искомое, замена, строка). У одного из них логика отсутствует, напрочь. Или вот strtoupper() и ucfirst() — казалось бы, очень похожие между собой по задачам функции, а какая огромная (для столь близких функций) разница в именовании. В Perl, замечу, эти функции называются uc() и ucfirst() соответственно. И таких примеров не мало. Раздел Array Functions вообще заставляет задуматся о наличии здравого смысла у авторов названий функций: зачем называть функцию array_pop(), если pop(), фактически, нигде, кроме массива, и не используется? Чем был плох просто pop()? И даже если бы использовался (вдруг, когда-то там), то неужели он не сумел бы сам определить, с чем он имеет дело?
Сборище разных функций, написанных разными людьми, в разное время, с разными тараканами в голове, с разным стилем наименования и с разной очередностью параметров.
Нет, что не говорите, но опрятным PHP никак язык не поворачивается назвать.
+3
В таких проектах без разницы — логики тяжолой нет, а кеширование/поиск/прочие трудозатратные операции выполняются с помощью других технологий.
0
Вам тоже понравился MVC? :)
+1
а можно несколько примеров, в которых Ruby изящнее PHP?
0
В любом случае, язык программирования, как марка фотоаппарата, процессора, солнечных очков — дело вкуса.
+1
А можно несколько примеров языков, которые НЕ изящнее пхп? :) Разве что бейсик в начале своего существования, да фортран до IV включительно.
0
Perl? Да не буду я распят! )
0
Да ладно!.. В той части, где пхп и перл пересекаются, они практически эквивалентны. Но перл мощнее и эта часть, отсутствующая в пхп, делает его изящнее ;).
0
Ну википедия пишет:
Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.
А сам я, когда начинал писать на ПХП, со страхом и трепетом смотрел в сторону Perla (уж больно любили делать его нечитабельным разработчики). Еще меня пугали CGI, про который я даже уже и не вспоминаю последние N лет.
Изначально PHP создавался в качестве надстройки над Perl для облегчения разработки веб-страниц.
А сам я, когда начинал писать на ПХП, со страхом и трепетом смотрел в сторону Perla (уж больно любили делать его нечитабельным разработчики). Еще меня пугали CGI, про который я даже уже и не вспоминаю последние N лет.
0
Ну да, простенький шаблонизатор домашних страниц для тех, кто не осилил перл.
Что касается нечитабельности, это больше байки для отпугивания непосвящённых :). Или для тех, кто совсем уж учиться не хочет (вспоминая дискуссию «пхп-программистов» о том, что тернарный оператор слишком сложен для понимания, поэтому его следует заменять целой портянкой «абсолютно читабельного» бейсик-подобного кода).
Что до изящности — достаточно сравнить перловые регэкспы и их пхп-шную, с позволения сказать, реализацию с этими размножающимися слешами… Да, и функция map, кстати, в перле есть :), хотя и несколько менее изящная, чем в руби (впрочем, перлом я занимался ну очень давно, может там сейчас всё вообще супер).
Что касается нечитабельности, это больше байки для отпугивания непосвящённых :). Или для тех, кто совсем уж учиться не хочет (вспоминая дискуссию «пхп-программистов» о том, что тернарный оператор слишком сложен для понимания, поэтому его следует заменять целой портянкой «абсолютно читабельного» бейсик-подобного кода).
Что до изящности — достаточно сравнить перловые регэкспы и их пхп-шную, с позволения сказать, реализацию с этими размножающимися слешами… Да, и функция map, кстати, в перле есть :), хотя и несколько менее изящная, чем в руби (впрочем, перлом я занимался ну очень давно, может там сейчас всё вообще супер).
+1
«но хотелось бы нажатием пары клавиш очутиться… из метода контроллера в его представление»
CTRL-SHIFT-a в Нетбинсе
CTRL-SHIFT-a в Нетбинсе
0
Мне нравятся рельсы.
Главная проблема, которую я увидел — слишком много функциональности в плагинах, которые поддерживаются по отдельности различными сообществами. Из-за этого они бывают несовметимы — например, гем composite_keys и плагин activescaffold не дружат в одном проекте. Ну и разумеется при обновлении версии рельсов отваливается часть плагинов.
Главная проблема, которую я увидел — слишком много функциональности в плагинах, которые поддерживаются по отдельности различными сообществами. Из-за этого они бывают несовметимы — например, гем composite_keys и плагин activescaffold не дружат в одном проекте. Ну и разумеется при обновлении версии рельсов отваливается часть плагинов.
0
а на руби есть аналог функции do_everything_pzdt()?
+2
<irony>
Была когда-то давно, но её убрали, ибо юные падаваны рубисты слишком часто ею увлекались, и уходили в себя, в глубь, постигая неизведанные тайны, но не возвращались никогда, чтобы о тайнах этих другим людям поведать… И тогда убрали эту великую функцию, так как зло страшное в себе таила она. Но до нас дошли её исходники, ибо вот она, кроткая и лаконичная, невероятно однострочная и бесконечно красивая, созерцайте:
def do_everything_pzdt; print «h»; while true: print «m»; end; end;
Только не увлекайтесь сильно. ;)
</irony>
PS. «Типограф» задолбал окончательно. Даже <code> не спасает.
Была когда-то давно, но её убрали, ибо юные падаваны рубисты слишком часто ею увлекались, и уходили в себя, в глубь, постигая неизведанные тайны, но не возвращались никогда, чтобы о тайнах этих другим людям поведать… И тогда убрали эту великую функцию, так как зло страшное в себе таила она. Но до нас дошли её исходники, ибо вот она, кроткая и лаконичная, невероятно однострочная и бесконечно красивая, созерцайте:
def do_everything_pzdt; print «h»; while true: print «m»; end; end;
Только не увлекайтесь сильно. ;)
</irony>
PS. «Типограф» задолбал окончательно. Даже <code> не спасает.
+3
из книжек: Rails Recipe перевели же давно.
по моему мнению и опыту — гугл группа RubyOnRails to russian не любит нубов, насколько я помню. и вообще там своего рода «секта» сформировалась. много снобизма. как-то так.
в россии проблема с хостингом под рельсу да и руби.
по моему мнению и опыту — гугл группа RubyOnRails to russian не любит нубов, насколько я помню. и вообще там своего рода «секта» сформировалась. много снобизма. как-то так.
в россии проблема с хостингом под рельсу да и руби.
0
Просто с Rails даётся насадка на член +20 см и не у всех хватает воли не опробовать её и потом идти в блоги писать посты, какой у них теперь длинный.
Хостинг — вовсе не проблема, сейчас VPS с 256MB стоит 20 баксов. Да и mod_rails вещь в принципе удобная пока вы, например, не захотите запустить приложение под Windows Server. В остальном сейчас выходят 2.2 рельса, где починили многопоточность и JRuby может заработать не только шустро(он это уже умеет), но и памяти с Rails будет есть куда меньше. Впрочем товарищи, которые уже накушались рельс перелезают на Merb, в ror2ru довольно интересное обсуждение на эту тему.
Хостинг — вовсе не проблема, сейчас VPS с 256MB стоит 20 баксов. Да и mod_rails вещь в принципе удобная пока вы, например, не захотите запустить приложение под Windows Server. В остальном сейчас выходят 2.2 рельса, где починили многопоточность и JRuby может заработать не только шустро(он это уже умеет), но и памяти с Rails будет есть куда меньше. Впрочем товарищи, которые уже накушались рельс перелезают на Merb, в ror2ru довольно интересное обсуждение на эту тему.
0
>> идти в блоги писать посты, какой у них теперь длинный.
чорт, забыл упомянуть про свое моджо в статье! =)
чорт, забыл упомянуть про свое моджо в статье! =)
0
Да просто пипец как часто пишут, вон я news.ycombinator читаю — www.web2media.net/laktek/2008/11/21/i-want-to-be-a-ruby-hacker/ сейчас уже спад пошёл, но раньше я куда чаще встречал такие вот get mac, rails, ruby, git, rspec, agile, etc. & rule the world!
+1
я не видел ни одного проекта на руби, при чем какого-нибудь мало мальски известного.
Можно пару примеров плиз :)
P.S. не видел наверное в силу того что просто не искал и не сталкивался.
Можно пару примеров плиз :)
P.S. не видел наверное в силу того что просто не искал и не сталкивался.
0
0
полез посмотреть сорцы, зачетный таргетинг :)
0
****************************************************************************************
** **
** __ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ **
** | | | __ | __| | __| | __ | | __| __| __| | | __| **
** __| | | | __ -|__ | | __| | | -| | | | __| __| -|__ | **
** |_____|_____|_____|_____| |__| |_____|__|__| |_____|_____|_____|__|__|_____| **
** **
** **
** RUBY OR CSS OR JAVASCRIPT OR FLASH GURUS WANTED **
** **
** WE NEED PEOPLE TO WORK WITH US ON LOOKATME.RU **
** **
** SALARY DEPENDS ON KNOWLEDGE **
** MAIL YOUR RESUME OR INFO TO ANDY@LOOKATME.RU **
** SKYPE ANDREW.ZOTOV ICQ 235865598 **
** **
** **
** habrahabr.ru/job/507/ habrahabr.ru/job/533/ **
** **
** **
****************************************************************************************
** **
** __ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ _____ **
** | | | __ | __| | __| | __ | | __| __| __| | | __| **
** __| | | | __ -|__ | | __| | | -| | | | __| __| -|__ | **
** |_____|_____|_____|_____| |__| |_____|__|__| |_____|_____|_____|__|__|_____| **
** **
** **
** RUBY OR CSS OR JAVASCRIPT OR FLASH GURUS WANTED **
** **
** WE NEED PEOPLE TO WORK WITH US ON LOOKATME.RU **
** **
** SALARY DEPENDS ON KNOWLEDGE **
** MAIL YOUR RESUME OR INFO TO ANDY@LOOKATME.RU **
** SKYPE ANDREW.ZOTOV ICQ 235865598 **
** **
** **
** habrahabr.ru/job/507/ habrahabr.ru/job/533/ **
** **
** **
****************************************************************************************
+1
0
ilike.com
scribd.com
rghost.ru :-[
scribd.com
rghost.ru :-[
0
«Особенно я писаю кипятком от организации отношений вроде has_many и прочих.»
до того как писать попробуйте связать три таблички записей на поллимона, а потом вытянуть рором аттрибуты из первой, боюсь вам придется и обкакаться
ибо такие запросы лучше писать ручками, а не полагаться на фреймворк
до того как писать попробуйте связать три таблички записей на поллимона, а потом вытянуть рором аттрибуты из первой, боюсь вам придется и обкакаться
ибо такие запросы лучше писать ручками, а не полагаться на фреймворк
0
кто ж спорит?
0
НЛО прилетело и опубликовало эту надпись здесь
> В начале стоит положиться на фреймворк, а потом уже вкурить логи и решить, что следует написать вручную.
зачем полагаться на фреймворк в том что он плохо делает? потом курить логи, и переписывать вручную?
> но все же использование ORM уже вполне стандартная пркатика везде и не стоит ее бояться
я не технологии боюсь, а ее конкретной реализации
> Хотя у РоРа просто КУЧА недостатков. Кстати слабо их назвать? А то тут воспевают, как будто это фреймворк-панацея.
вы счас с кем разговариваете?
зачем полагаться на фреймворк в том что он плохо делает? потом курить логи, и переписывать вручную?
> но все же использование ORM уже вполне стандартная пркатика везде и не стоит ее бояться
я не технологии боюсь, а ее конкретной реализации
> Хотя у РоРа просто КУЧА недостатков. Кстати слабо их назвать? А то тут воспевают, как будто это фреймворк-панацея.
вы счас с кем разговариваете?
0
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Ruby on Rails. Итоги первого месяца