Изучение Ruby и Ruby on Rails
Впервые о Ruby услышал летом 2010 года, но это было лишь упоминание. В то время я снова писал на Perl и все пытался вернуться к PHP, ну или хотя бы как-то состыковать их, что отчасти у меня получилось - написал модуль на Perl с возможностью вызова функций PHP, так же из PHP можно было вызывать функции Perl. Но это так, лирическое отступление.
В том же 2010 году я все-таки сменил место работы и начал уже вплотную работать с PHP, писать сайты уже с использованием архитектуры MVC. На переход от просто PHP к использованию фреймворк ушло примерно месяца 2-3. К чему я все это? К тому, что к началу изучения Ruby я уже имел опыт разработки на множестве языков программирования, а до изучения Ruby on Rails я уже вник в архитектуру MVC. Осенью 2010 года попробовал написать приложение на Ruby on Rails (насколько я помню, версия 3.1), но как-то быстро оставил эту идею - понял, что лучше бы сначала изучить Ruby.
Летом 2011 увидел и сразу купил книгу "Язык программирования Ruby" (Флэнаган Д., Мацумото Ю.) - прекрасное описание языка! Во время поездок на работу (Екатеринбург-Первоуральск) стал читать, изучать. Но, естественно, это было лишь теоретическое ознакомление - времени на практику практически не было, да и на той работе шансов перейти на Ruby не было никаких. Я не считаю за практику какие-то мелкие эксперименты. Язык сразу понравился, много моментов было, когда я поистине испытывал восхищение и радость - как здорово, что это есть, что это реализовано именно так. К тому времени уже сформировалось стойкое стремление начать использовать этот язык.
Осенью 2011 сменил работу. Но в перерыве между 2-мя работами было время, за которое я успел написать свою админку на PHP. Изучение Ruby как-то так и оставалось на академическом уровне. Хотя тогда уже начал пробовать Ruby on Rails с помощью пособия Изучение Rails на Примерах. Не всегда все работало, не всегда так, как надо, но тем не менее я не останавливался. Сразу выскажу свое мнение практически обо всех книгах по изучению Ruby on Rails - описание и использование практики использования тестов очень сильно отвлекает от основного материала и даже мешает пониманию. Лично я практически сразу стал пропускать тексты, которые касались различных тестов, что на самом деле очень облегчило мое изучение Ruby on Rails - в конце-концов я хотел изучить RoR, а не технику написания и использования тестов. Конечно, очень расстраивает отсутствие хорошей документации по Ruby on Rails (о чем я как раз в то время написал статью, которую затем перенес на свой сайт), но все же я продолжал потихоньку грызть этот камень разработки, все более приближаясь к своей цели - приходило понимание, уверненность, многое стало получаться.
С началом новой работы пришлось переписывать некоторые сайты, было много новых разработок, так что пришлось ненадолго забыть о Ruby и переключиться на работу, продолжить использование знакомого PHP, так как на тот момент это было более целесообразно и эффективно.
В конце весны 2012 я решил заново перечитать книгу и взяться основательно за изучение Ruby. Не покидало ощущение, что я что-то недопонимаю, многое подзабыл. Как говорится, чтобы быть кузнецом - надо ковать! Перечитал книгу уже с маркером - отмечал все важные детали для себя. Установил Ruby (1.9.2) на сервер, начал тренироваться, эксперементировать, заново написал приложение Ruby on Rails по шагам. Кстати, как-то вовремя я все это начал, я считаю, так как уже состоялся переход от версии 1.8 к 1.9, и как мне известно, было внесено немало изменений в синтаксис языка - но все эти изменения только улучшили Ruby. Своему начальнику я уже неоднократно говорил о своем стремлении перейти на Ruby и Ruby on Rails, описал все достоинства и приемущества. Еще очень кстати вышла в свет книга "Гибкая разработка веб-приложений в среде Rails. 4-е изд" (С.Руби, Д.Томас, Д.Хэнссон) - хорошее пособие по изучению Ruby on Rails.
И вот летом 2012 я был уже во всеоружии, был готов перейти на RoR, сделать наконец-то этот шаг вперед и вверх. Огромное спасибо моему начальнику - предоставил мне целый месяц, за который я на практическом опыте влился в среду RoR, осуществил долгожданный переход - практикой послужило написание админки Ruby on Rails - очень хороший практический опыт и с пользой - есть основа уже для написания сайтов конкретно на Ruby on Rails. После этого я полностью переключился на Ruby on Rails и очень доволен - на самом деле здесь все гораздо более красивее и проще делается.
По ощущениям могу сказать. Сначала сложно, порой непонятно что-то, порой просто не знаешь где, что и как. Порой это вызывает расстройство, растерянность. Как же так? В PHP это есть, а тут такого нет!... Все в Ruby есть и даже больше! Надо только привыкнуть, освоится в этом языке, а потом становится все проще и легче. Очень радует наличие просто огромного количества библиотек. И самое главное - проявить настойчивось в изучении Ruby - осилит дорогу идущий!
Документация:
Ruby on Rails (официальный сайт Ruby on Rails)
Ruby on Rails русская версия (очень рекомендую)
На тему Ruby on Rails