Главная » Создание сайтов » Верстка » Почему стоит переходить на Ruby и Rails

Почему стоит переходить на Ruby и Rails

От автора и предисловие:

Доброго времени суток всем постоянным и не постоянным читателям блога bitby.net. Хочу поздравить вас со сменой дизайна, по мне, так он стал лучше и текст стал более легко воспринимаемым.

Я являюсь новичком в Ruby, тем не менее я имею достаточный опыт программирования на PHP. От того, чтобы я стал php-гуру меня спас один мой друг — опытный программист на php, Python, Ruby, который и посоветовал мне Ruby. Я долго сомневался, а стоит ли браться за изучение чего-то нового, отправлять те знания и опыт, которые у меня уже имеются в топку и заниматься изучением нового языка программирования. Тем не менее аргументы в пользу Ruby и Rails были очень убедительными и вот я стал Рубистом. В помощь себе и другим людям желающим изучить Ruby и Rails я создал блог Разработка на Ruby и Ruby on Rails с нуля, надеюсь он сослужит добрую службу всем новичкам.Кстати, для желающих изучить работу в Rails я начал готовить учебник Ruby on Rails, пока что на основе переводных статей.

В этом посте я хочу познакомить вас с Ruby и Rails и рассказать, почему стоит выбрать именно этот язык программирования и этот веб-фреймворк.

Что такое Ruby и Ruby on Rails

Ruby – сверх динамический, объектно-ориентированный язык программирования, который был создан опираясь на утверждение «Язык программирования должен быть удобен для человека, а не для машины!» Таким образом, Якихиро Мацумото в 1995 году явил миру первую публичную версию Ruby. На данный момент Ruby дорос до версии 1.9.2 и имеет множество отличительных черт и достоинств, которые делают Ruby весьма мощным и удобным языком программирования, позволяющим создавать достойные приложения в разы быстрее, чем при использовании языков программирования более низкого уровня.
Ruby on Rails – великолепный веб-фреймворк написанный Девидом Хэйнемеером-Хенсcоном на Ruby, за что DHH (так прозвали Девида в Ruby-сообществе) получил в OSCON звание «Hacker of the Year». Фреймворк Rails сочетает в себе все передовые технологии, идеи и паттерны проектирования, благодаря чему разработка на нем становится в разы проще и быстрее. В конце 2008 года команда разработчиков другого мощного фреймворка на Ruby – Merb объединилась с командой Rails для совместной работы над проектом Rails 3. На данный момент уже выпущен релиз-кандидат Rails 3. Rails3, по заявлению авторов, должен был вобрать в себя все лучшие стороны Merb, например, модульность, гибкость, расширяемость. Судя по тому, что нам представляется в релиз-кандидатах Rails3, можно сказать, что авторам Rails и Merb удалось сделать Rails3 модульным и более удобным для разработчиков.

Почему стоит переходить на Ruby и Ruby on Rails

1. Агресивность рынка веб-разработки. В последнее время рынок веб-разработки очень сильно вырос, выросла и конкуренция. Rails позволяет разработчику в разы быстрее выполнять заказ, при этом экономятся человеко-часы и значительно снижается себестоимость. Благодаря этому разработчики за то же время могут выполнить большее количество работы (заказов), и снизить цену не в ущерб качеству работы.

2. Весьма большое, развивающееся сообщество. Стоит признать, что сообщество Ruby не такое большое, как у Python и тем более PHP. Однако профессионализм членов сообщества впечатляет. Не стоит бросаться туда, где больше людей, стоит идти туда, где люди лучше. Не стоит идти на поводу известной пословицы: «Миллиарды мух не могут ошибаться, в PHP все-таки что-то есть» (пословицу я немножко перефразировал).

3. Огромное количество готовых библиотек и кода. На данный момент Ruby отлично обеспечен библиотеками для работы со сторонними разработками, такими как базы данных: MySQL, PostgreSQL, MongoDB, SQLite и т.д., различные веб и не-веб сервера, библиотеки для работы с графикой, звуком, видео и т.д. Ruby не просто язык написания скриптов — это полноценный язык программирования. На данный момент сообществом создано более 900000 gem'ов (GEM – так называются расширения Ruby), которые значительно ускоряют и упрощают разработку, ведь возникшую у вас проблему, уже кто-то решил до вас, причем с 99.99% вероятностью, что решение этого человека значительно лучше того, что могли бы предложить вы. Стоит упомянуть о множестве gem'ов и плагинов созданных специально для Rails, это опять-таки позволяет вам экономить время на разработку и собственные нервы на написание велосипедов.

4. Ето же Rails! Ruby on Rails, или просто RoR – это самый популярный Ruby –фреймворк для разработки веб-приложений. Множество программистов завидуют ruby'стам за то, что те имеют такой мощный, и в тоже время, простой инструмент. Не стоит забывать о том, кто является разработчиками Rails!

5. Ruby – это не только Rails! У новичков часто слаживается впечатление о том, что Rails – это единственное преимущество Ruby над PHP, Perl, Python, Java… На самом делеэто не так! Ruby используется в администрировании, в прототипировании, в научных исследованиях, в разработке игр и различных приложений как язык написания скриптов и т.д. Ruby используют такие компании: Microsoft, HP, NASA, Cisco и т.д.

6. Ruby 1.9! Ruby не лишен недостатков и основным недостатком была крайне низкая скорость работы и большой объем потребляемых ресурсов. С каждой новой версией Ruby оптимизировался и боролся со своими недостатками, и в версии 1.9 мы видем много значительных улучшений. Например, Ruby 1.9 обогнал по производительности PHP, Perl, Python3 (из доклада Ехуды Каца), оставив впереди лишь Python 2. Ruby 1.9 более удобен, разумен и быстр.

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

Почему PHP sucks, а Ruby — мечь Дао веб-разработки

1. Ruby язык общего назначения, а PHP – нет! Ruby используется во множестве областей разработки и научных исследований, моделировании и т.д., а PHP годится лишь для разработки веб-приложений. PHP написан, если не ошибаюсь, на Си, а Ruby по-большей части на Ruby… PHP работает под различными вебсерверами от сторонних разработчиков типа Apache и nginx, а Ruby имеет несколько веб-серверов написанных на самом Ruby, но отлично работает и на Apache, и на nginx, и на LightHTTPd.

2. Ruby более легкий, чем PHP и имеет более понятный синтаксис, обладает множеством встроенных в сам язык паттернов программирования и различными удобными конструкциями, как, например итераторы, которые не доступны разработчикам на PHP.

3. У Ruby очень быстрые темпы развития, у PHP – нет… Новые версии Ruby имеют заметные преимущества над предыдущими, а в PHP 5.3 был добавлен никому не нужный GOTO=)))

4. Создатели Ruby – опытные программисты со всего мира, а создатели PHP – опытные программисты из Zend. Zend нацелены на получение прибыли с PHP (дорогущая ZendStudio и т.д., странно, как это ZendFramework не стал платным, но думаю, это дело времени), разработчики Ruby – безумные фанатики занятые разработкой оружия порабощения всего мира!=)

5. Ruby on Rails vs ZendFramework. Сами понимаете … CakePHP, Lithium Framework – жалкие попытки создать Rails на PHP. CI, Kohana, Yii – недоZendFramework.

6. Сообщество Ruby – в большинстве своем опытные программисты с желанием и возможностью помочь новичкам. Сообщество PHP – 80% школота, 19% — программисты среднего уровня из мелких и среднего размера студий. Коду на Ruby можно доверять, код на PHP необходимо тщательно проверять.

7. PHP –разработчики аргументируют то, что PHP лучше тем, что на PHP написано множество огромных проектов с чуть-ли не миллиардными аудиториями. На самом деле стоит понимать, что при разработке таких проектов используется целый зоопарк языков программирования. Vkontakte и Facebook можно было бы написать на Ruby в несколько раз быстрее, а узкие места также оптимизировать на Си, Erlang'е и т.д.

Кстати, на Ruby были разработаны: Twitter, Scribd, YellowPages, Groupon, а из русского: серверная часть приложения Вконтакте – ЛицеМер, которое находится на 2м месте по популярности, соцcеть LookAtMe и многое другое. Стоит упомянуть, что ориентировочно, каждый 2й стартап в США создается на Ruby on Rails, здесь Ruby и PHP идут практически вровень.

Недостатки Ruby по сравнению с PHP: малое количество документации на русском языке и маленькое русскоязычное сообщество. Тем не менее, существует русский перевод отличной книги «Programming Ruby», а также перевод книги «The Ruby Way» — “Программирование на языке Ruby” авторства Хэла Фултона. Еще один перевод замечательной книги, но уже совсем для новичков, доступен онлайн: «Learn to Program». Учите английский и читайте мой блог Разработка на Ruby и Ruby on Rails с нуля =) С уважением, Vasilenko Ivan!

Комментарии — 35 комментариев

  1. #10209 xoma в 9:24, 29 августа 2010: (подписался)

    Ответить | Цитировать

    Все те достоинтсва, которые Вы перечисляете, давно есть в Perl.

    Почему не был выбран он ? Или не модно ?

  2. #10212 Владимир Мельник в 11:14, 29 августа 2010:

    Ответить | Цитировать

    Ув. xoma, стоит так же отметить, что многими достоинствами Ruby обладал Си в свое время, а сейчас многие люди называю его низкоуровневым языком. Ruby позаимствовал из Perl много хороших конструкций, качеств и идей, например философию «Есть больше одного способа сделать это». В то же время Ruby можно отнести к новой генерации языков программирования, его синтаксис не избыточен, в том смысле, что язык разрабатывался с целью сделать его более понятным человеку, а не компьютеру. Ruby более динамичен, чем Perl, множество паттернов проэктирования встроены в сам язык и экономат время на разработку.

    Выделю несколько фактов в пользу Ruby:

    1. Более человекопонятный синтаксис, от чего легче обслуживание кода.

    2. Более простой, но не менее мощный язык

    3. Более лаконичный: меньше слов и больше дела, от чего более быстрые темпы разработки.

    4. У Ruby есть Rails — это то, с чего все берут пример и почему Ruby так популярен на западе.

    В пользу Perl могу сказать, что в нем, по словам многих людей, отлично реализована работа с текстовыми строками, вэтом плане он действительно лидер. Не коим образом не намекаю на то, что Ruby уничтожит Perl, просто произойдет некоторое смещение в том плане, что Perl будет использоваться в более узкопрофильных задачах, в которых он является лучше, например как Wikipedia была написана на PHP, а движек мат. формул, если не ошибаюсь, на на Erlang'e, уверен, Perl так же займет свою узкую, но безусловно очень важную нишу.

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

  3. #10213 xoma в 12:08, 29 августа 2010: (подписался)

    Ответить | Цитировать

    Спасибо за развернутый ответ! Для Perl действительно не хватает аналога Rails, хотя сейчас активно разивается mojolicious.org все же до Rails ему еще далеко. Как считаете для человека пишушщего на Perl проще перейти на Ruby или на Python ?

    п.с. в Руби, кажется, как и в Perl можно писать вот так : $a = b if $b < 0 ?

  4. #10214 Владимир Мельник в 13:48, 29 августа 2010:

    Ответить | Цитировать

    1. Оба Ruby и Python многое взяли из языка Perl, тем не менее Ruby идеологически ближе к Perl. например в Perl и Ruby есть такая философия: «Есть больше одного способа сделать это», в Python, напротив: «Есть только один способ сделать это!». О том, какая идеология лучше можно спорить бесконечно долго, я в данном случае не склоняюсь не в чью сторону, поскольку у любой идеологии нахожу свои достоинства и недостатки. Ruby ближе к Perl, поскольку более синтаксически богат, включает функциональную, ОО — парадигмы и намеки на другие, а также множество различных концепций взятых из огромного множества языков, что делает Ruby более богатым, чем Python, но это не та причина, по которой можно сказать, что Ruby лучше чем Python, здесь опать все исходит из философии этих двух языков. Если выбирать язык программирования исходя из того, на сколько он похож на уже известный вам, то для Perl лучшей парой будет PHP, который по началу и задумывался как более веб-ориентированная надстройка над Perl =)

    2. Да, это называется постфиксная запись If :

    b = 1

    a = b if b > 0

    print a #=> 1

    Постфиксная запись характерна не для всех конструкций, постфиксный if, while и until в виде модификаторов это скорее удобное исключение чем правило... Вот одна не плохая переводная статья в которой есть информация о модификаторах while и until: rubydev.ru/2010/05/ruby-iterators-loops/

  5. #10218 Yaroslav Vorozhko в 15:40, 29 августа 2010:

    Ответить | Цитировать

    >с 99.99% вероятностью, что решение этого человека значительно лучше того, что могли бы >предложить вы

    Это не так, если говорить про кастом потребности. А кастомизация и есть 99% кода который надо написать для того же проекта на ROR.

  6. #10219 Yaroslav Vorozhko в 15:42, 29 августа 2010:

    Ответить | Цитировать

    >Ruby язык общего назначения, а PHP – нет!

    Это в большинству случаев минус, а не плюс.

    Для игр или научной сферы я выбиру C и Python соответсвенно.

  7. #10220 Yaroslav Vorozhko в 15:44, 29 августа 2010:

    Ответить | Цитировать

    >дорогущая ZendStudio

    А что руби программисты набирают текст в блокноте?

    И вам стоит обратить внимание на бесплатные Eclipse и Netbeans.

  8. #10221 Yaroslav Vorozhko в 15:47, 29 августа 2010:

    Ответить | Цитировать

    >PHP –разработчики аргументируют то, что PHP лучше тем, что на PHP написано множество огромных проектов

    Вы не сообщество PHP, поэтому не стоит громких заявлений.

    Мне незачем аргументировать кому то, какой язык я выбрал для программирования.

    После этих строк, дальше читать не стал, все преимущества высосаны из пальца.

  9. #10222 Владимир Мельник в 16:26, 29 августа 2010:

    Ответить | Цитировать

    >>с 99.99% вероятностью, что решение этого человека значительно лучше того, что могли бы >предложить вы

    >Это не так, если говорить про кастом потребности. А кастомизация и есть 99% кода который надо написать для того же проекта на ROR.

    Я немного не понял вашу терминологию: кастомизация, кастом... Судя из ваших слов, фреймворк Rails сокращает количество кода, что пишет программист всего на 1% или я вас не так понял?

    Вы меня наверняка не правильно поняли, и я поясню то, что я хотел сказать при помощи тезисов:

    1. Gem создается одним человеком

    2. У gem'а есть своя история, за которую он притерпевает изменений, кучу оптимизаций, становится булее универсальным.

    3. У gem'а появляется сообщество, которое внедряет свои идеи, качество кода, универсальность и т.д. становятся лучше. по-сути, над gem'ом работает целая команда.

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

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

    б. вы используете более безопасный, удобный, ... код, чем могли бы сами написать

    в. вы получаете поддержку сообщества

    Недостаток: из-за универсальности решение становится несколько избыточным, медленней, чем тот код, который был бы создан исключительно для решения вашей конкретной проблеммы.

  10. #10223 Владимир Мельник в 16:34, 29 августа 2010:

    Ответить | Цитировать

    >>Ruby язык общего назначения, а PHP – нет!

    >Это в большинству случаев минус, а не плюс.

    Для игр или научной сферы я выбиру C и Python соответсвенно.

    Странно, что для научной сферы деятельности вам больше импонирует Python, чем, например, Haskell, который широко используется в научных кругах, а для игр — Си, который больше используется в системном программировании, а не С++, в котором есть ОПП, благодаря чему работа и управление кодом на много удобнее.

    Чесно говоря, большинство ЯП являются языками общего назначение, если универсальность является недостатком, то пожалуй следует использовать один лишь РНР... Либо, создать множество узкопрофильных языков программирования и тогда над одним сколь-нибудь сложным проектом будет работать не 10 человек, а 100, или 500, каждый будет вносить свою маленькую лепту в общее дело на одному лишь ему известном ЯП (здесь еще стоит вспомнить о затратах времени на коммуникации между разработчиками и о том, как весь этот зоопарк содержать).

  11. #10224 Владимир Мельник в 16:41, 29 августа 2010:

    Ответить | Цитировать

    >>дорогущая ZendStudio

    >А что руби программисты набирают текст в блокноте?

    >И вам стоит обратить внимание на бесплатные Eclipse и Netbeans.

    Cкажу чесно, работать в блокноте с кодом Ruby легче, чем с кодом на РНР. Безусловно, для Ruby существует, наверное, не меньшее число платных IDE, но вы специально увели разговор несколько в сторону — это прием софиста. Я не говорил о том, что плохо, что для PHP существуют платные IDE. я говорил о том, что разработкой PHP занимается компания для которой сам PHP не является инструментом, а является лишь продуктом и поток знаний, идей, технологий, новаций ограничен мозгами тех, к примеру, 100разработчиков в ZEND, в то время, как Ruby создается силами всего сообщества. Ruby — демократичный, прогрессивыный язык, в РНР только в 5й!!! версии появилась «полноценная» поддержка ООП.

  12. #10225 Владимир Мельник в 16:46, 29 августа 2010:

    Ответить | Цитировать

    >>PHP –разработчики аргументируют то, что PHP лучше тем, что на PHP написано множество огромных проектов

    >Вы не сообщество PHP, поэтому не стоит громких заявлений.

    >Мне незачем аргументировать кому то, какой язык я выбрал для программирования.

    >После этих строк, дальше читать не стал, все преимущества высосаны из пальца

    1.Тем не менее я не раз сталкивался с речами типа «РНР такой классный, что его выбрали для разработки ..., а что написали крупного на ...». Это свойственно многим начинающим программистам на любом ЯП, но особенно характерна эта черта именно для РНР-программистов. Это можно объяснить желанием убедить себя в правильном выборе инструмента даже самыми нелепыми аргументами.

    2.Тем не менее вы сейчас защищали свой любимый молоток от моих посягательств.

    3. Правильно, эта статья вам бы не помогла.

  13. #10226 Владимир Мельник в 16:53, 29 августа 2010:

    Ответить | Цитировать

    Сегодня вспомнилась одна забавная ситуация: на блоге одного Пайтонита засветилась статья, в которой он сравнивал Ruby и Python. Тучи затянули небо, пошел сильный ливень и только молнии на короткие мгновения освещали тьму... Рубисты и Пайтониты, как вы уже догадались начали холивар по поводу того, что же лучше Python или Ruby. Пост набрал пару сотен комментариев от не самых глупых членов обоих сообществ и если бы все они находились в одной комнате — это было бы самое жестокое и кровавое побоище за всю историю существования вселенной, тем не менее все утихло после одного комментария, который имел приблизительно следующее содержание:

    Ребята, хватит ругаться. Согласитесь, что РНР — sucks!

    Угадайте, какого контекста были все следующие коммментарии?

  14. #10227 Yaroslav Vorozhko в 17:03, 29 августа 2010:

    Ответить | Цитировать

    Какой смысел писать такие статьи?

    Я защищал, потому что я в нем уверен, а так как он еще деньги приносит, то «молоток» золотой.

    А ваша позиция непонятна: вы говорите, что вы не гуру php и я уверен пока не гуру ror, но пытаетесь сравнивать и выступать от имени сообщества.

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

  15. #10228 vanoID в 17:13, 29 августа 2010:

    Ответить | Цитировать

    Владимир Мельник, гостевой пост не удался :)

  16. #10229 Владимир Мельник в 17:21, 29 августа 2010:

    Ответить | Цитировать

    Yaroslav Vorozhko, слово «молоток» было применено не в упрек, а как синоним «инструмент».

    Ждите постов по веб-разработке.

    почему же не удался?=)

  17. #10230 Sam в 17:54, 29 августа 2010: (подписался)

    Ответить | Цитировать

    «Ruby on Rails vs ZendFramework. Сами понимаете … CakePHP, Lithium Framework – жалкие попытки создать Rails на PHP. CI, Kohana, Yii – недоZendFramework.»

    Интересное сравнение, конечно, но в корне неверное. ZF штука очень хорошая, но сравнивать её всё же стоит с gem-ами, а не с RoR. Всё-таки ZF изначально создавался как набор библиотек со слабой связанностью, на основе которого можно построить что угодно… и аналог RoR в том числе.

    CakePHP да, в младенчестве (1.1) был достаточно дубовым клоном RoR с плохой документацией, очень сильной связанностью и кучей багов. Сейчас, насколько знаю, ситуация изменилась.

    Сравнивать CI с ZF — это как-то странно. Совершенно разные весовые категории. Да и CI никогда не пытался быть ZF, он изначально задумывался как простой фреймворк.

    А вот почему Yii поставлен в один ряд с CI, да ещё и назван недо-ZF непонятно совершенно. Видимо, вы его не рассматривали. Кстати, многие вещи из RoR3 были в Yii изначально.

  18. #10233 xoma в 19:19, 29 августа 2010: (подписался)

    Ответить | Цитировать

    Поддержу Sam, Yii очень удобен, если Ruby — сибиоз языков, то Yii — симбиоз PHP (и не только) фреймворков, впитал, так сказать все лучшее.

  19. #10235 Владимир Мельник в 20:56, 29 августа 2010:

    Ответить | Цитировать

    >Сравнивать CI с ZF — это как-то странно. Совершенно разные весовые категории.

    Я об этом и говорил.

    Я не спорю, что Yii хороший фреймворк, который впитал в себя множество всего, но говорить, что Rails что-то взяли из Yii... Yii до недавнего времени был совсем мало кому известен, или я ошибаюсь?

    Дело в том, что РНР сообщество и РНР-фреймворки очень-очень редко играют роль новаторов. в принципе отрицать не буду, но я такими сведениями не владею, по поводу того, что Rails брало что-то из Yii, а Ruby что-то из PHP...

    Давайте не будем разводить холливар по поводу того, какой язык лучше или какой фреймворк лучше. Я поделился не только своим мнением, но и мнением многих весьма опытных программистов, причем не только из сообщества Ruby, но и из сообществ других ЯП. Что интересно, что разработчики на РНР переходят на Ruby, а вот разработчики на Ruby не переходят на РНР, по крайней мере мне таких случаев деволюции не известно. Сообщества Python и Ruby часто обмениваются разработчиками, но в последнее время я замечаю, что все больше и больше людей в равной степени хорошо владеют обеими языками и в равной степени активно их используют.

    Безусловно, РНР отличный инструмент, хотя бы по той причине, что РНР-программист может легко найти себе работу и заработать денег, возможно, это даже основной критерий оценки ЯП.

  20. #10237 Sam в 21:35, 29 августа 2010: (подписался)

    Ответить | Цитировать

    Я не про холивар, а про некоторые неточности в фактах.

    Я не говорил, что Rails заимствовал из Yii, напротив Yii первых версий заимствовал из Rails. В обдуманном заимствовании идей, в случае фреймворка, я не вижу ничего плохого. Хорошие идеи часто приходят умным людям примерно в одно время, некоторым чуть раньше. С некоторыми моментами Rails3 и Symfony2 получилось так, что главному разработчику Yii некоторые идеи пришли раньше. Но т.к. Yii действительно не был в то время сильно известен, вероятность заимствования не очень большая.

    Я нисколько не собираюсь сказать, что RoR чем-то плох. Он очень хорош. Просто « sucks, а Ruby — меч Дао веб-разработки» — это пропаганда, которой пронизана каждая страница документации Ruby (и, кстати, Django тоже). Пропаганда, очень грамотно написанная и продуманная. На неё «ведутся» практически все новые почитатели данных фреймворков и думают, что RoR или Django — «меч Дао веб-разработки» или «серебряная пуля». Правда, какая бы горькая она не была, в том, что пули нет вовсе.

  21. #10238 Yaroslav Vorozhko в 21:42, 29 августа 2010:

    Ответить | Цитировать

    Это смешно, переходить от языка к языку из-за его недоработок.

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

    Кол-во программистов на PHP в тысячи раз больше программистов на руби, поэтому они и заметнее.

    Я как программист свободно владею C/C++, PHP и Perl, я не от кого никуда не переходил.

    Я просто не буду скрипты даминистрирования писать на С, linux демоны писать на PHP, а сайты на Perl.

    Для каждой задачи свой инструмент.

  22. #10239 Владимир Мельник в 21:43, 29 августа 2010:

    Ответить | Цитировать

    Sam, вы правы, почти каждый Getting started пронизан «... its a simple and powerful ...»=) Каждому свой инструмент. Если статья выглядит слишком рекламной виной тому мое поднятое настроение, на самом деле цель — познакомить людей с еще одним языком программирования, возможно Ruby станет для них именно тем ЯП, что они все время искали и не погли найти. Кроме того, полезно знать несколько ЯП.

  23. #10276 Vic в 17:58, 2 сентября 2010:

    Ответить | Цитировать

    почитал. улыбнуло. никаких примеров кода и сравнений конструкций, особенно в контексте сравнения. зато множество громких необоснованных заявлений, грамматических и фразеологических ошибок. больше напоминает речи сектантов о том насколько их секта лучше чем каноническая религия. а после утверждения о том, что бы я ни написал на этом языке — на 99.99% будет значительно хуже того что написал некто, создавший свой собственный gem ... автору место в детском саду с подобным восторженым максимализмом.

    ps в холиваре не участвую, ничего сравнивать не собираюсь.

    pps со своим назначением гостевая статья не справилась — у меня не появилось желания посетить сайт автора. а наоборот...

  24. #10297 Владимир Мельник в 17:46, 4 сентября 2010:

    Ответить | Цитировать

    Vic, представьте, что вы новичек в программировании на Ruby, погрузитесь в это трепетное состояние, или представьте, что вы маститый Ruby-гуру, но столкнулись с проблемой из неизвестной вам области, например с шифрованием данных. И вот, маститый гуру потратит кучу времени на изучение документации об алгоритмах шифрования, напишет работающий код, или оформит его в виде gem'а и затратит на это, допустим, 2 недели и 14 ночей, потому, что работа не должна стоять (изучение документации, пробы пера, написание тестов, тестирование своего решения, правки и т.д. — это все бесполезная работа, заказчику безразлично то, что вы столкнулись с чем-то впервые). Вместо этого, вы можете воспользоваться gem'ом другого разработчика, пусть менее опытного чем вы, но больше разбирающегося в шифровании. Этот gem будет протестирован тысячей других программистов, отполирован до блеска и в интернете можно будет найти несколько статей о том, как его использовать. Вы затратите всего пару дней на знакомство с ним и сократите значительные свое время и нервы. Теперь представьте, что вы пишете не «hello word», а реальное большое приложение, где таких задач как шифрование данных огромное множество. Вместо того, чтобы решать их самостоятельно — вы спользуете чужие, уже множество раз опробованные разработки и экономите колоссальное количество времени.

    P.S. Был бы вам благодарен за указание моих фразеологических ошибок.

    Примеры кода:

    $some_var — переменная из неизвестно откуда...

    @some_var — переменная экземпляра класса

    @@some_var — переменная класса

    $some_var — глобальная переменная

    some_var — локальная переменная

    Some_var — константа

    Из имени понятно, что это за переменная и откуда она.

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

    class String

    def hello

    "Hello " + self + «!»

    end

    end

    «Billy Idol».hello #=> Hello Billy Idol!

    Примеров, где Ruby удобней PHP уйма, об этом можно написать книгу, которая по толщине переплюнет Библию, Коран, Танах и Ламрим вместе взятые... Но есть ли смысл?

  25. #10320 $tar в 14:47, 6 сентября 2010:

    Ответить | Цитировать

    Спасибо за статью. Все довольно понятно и интересно изложено.

  26. #10838 jesus в 1:59, 15 января 2011:

    Ответить | Цитировать

    судя по статье и комментариям, автор — малолетний долбоёб;)

  27. #10900 Сергей в 23:45, 29 января 2011: (подписался)

    Ответить | Цитировать

    >судя по статье и комментариям, автор — малолетний долбоёб;)

    +1

    Выражать мысли это хорошо, но не в такой ужасной манере: ошибок 20 (не считая орфографических)...

  28. #10992 Ruby в 4:22, 19 февраля 2011:

    Ответить | Цитировать

    гг... PHP школота разбушивалась... го дальше Попова смотреть xD

  29. #11696 migli в 13:41, 14 июня 2011:

    Ответить | Цитировать

    слышал что раньше зенд фреймворк был платный, а потом его сделали бесплатным

  30. Что вообще за бред? Лучше, хуже. Во первых нужно не бегать от языка к языку, Возьмите один тот PHP или Ruby и изучайте его. Говнопрограммистом может быть каждый, а вот писать хороший код увы не каждый. И поверьте мне как да заказчик будет вам предлагать заказ, ему будет глубоко пох сколько вы языков знаете, ему главное что бы программер был с мозгами и писал оптимизированный код. Я отдал предпочтение php и в сторону ruby пока что не смотрю. Зачем учить два языка которые предназначены для почти похожих задач? Вы лучше начните изучать C/C++, а то придет к вам заказчик и поставит вам задачу разработать ему базу данных, и все тупик.

  31. #16817 SideWinder в 22:15, 20 июня 2012:

    Ответить | Цитировать

    Странно что нет ни одного коммента про Симфони )

    Попытался перейти с Симфони на Рейлз... так в Рейлзе нет и половины того что есть в Симфони ))

    Руби и Рейлз не ругаю — для меня это всего лишь другой инструмент. Для разных гвоздей — разные молотки.

  32. #18695 Sp-man в 9:56, 11 августа 2012:

    Ответить | Цитировать

    Здравствуйте.

    Я чиатал что PHP появился и развивался на начальных стадиях в большей степени из за того, что не хватало производительности Perl. Эпоха расцвета Perl в сети прошла как таковая. Это были 90, начало 2000 когда достойной конкуренции данному языку не было.

    Теперь насчёт производительности. Поищите в интернете « нагрузочное тестирование» и другое тестирование крупных компаний и авторитетных источников. По производительности выходит следующее:

    Наименее производительный PHP.

    Потом идёт Ruby on Rails.

    Самый производительный Django.

    При этом стоит брать в расчёт что на Ruby on Rails обычно выстаиваются различные ограничения для стабильности работы, и по «дефолту» они включены. На конкурсах по программированию опытные программисты переконфигурировают Ruby и RoR для определённых задач. Таким образом производительность некоторых важных операций повышается, тогда как другие операции (к примеру не задействованные данной в программе) будут выполняться относительно долго и возможно с ошибками.

    Работу PHP также можно увеличивать различными способами, даже сторонними продуктами.

  33. #21768 RoR в 15:51, 30 июля 2013:

    Ответить | Цитировать

    Класс!! вот это статья... вот это комментарии...

    Пусть говорят! =D

  34. #25498 Алексей в 13:19, 5 марта 2014: (подписался)

    Ответить | Цитировать

    Помоему все гайды по руби отпугивают. Человеку с почти нулевым (Pascal) знанием программирования вроде меня просто срется кирпичами при виде этих гайдов. И улыбка дьявольски растяивается при виде фраз «просто» , «это же так легко». Недоступный язык програмирования — так было бы вернее написать. Искал фреймворк, а нарвался на руби, где почитав руководство для новичка понял, что даже в блокноте с нуля было бы проще сделать нормальный сайт с адаптивной версткой чем с помощью руби. В гневе.

  35. #64171 Паша в 23:02, 15 января 2017: (подписался)

    Ответить | Цитировать

    А сейчас как обстоят дела с ruby и рельсами?

    Фрилансеру стоит переходить с пхп на руби?

Добавить комментарий

имя:

e-mail:

сайт:

текст:

Подписаться, не комментируя