Урок 1: «Рубин нужен не только для лазера»
Внимание! Уроки начинал писать еще в 2012 году, когда на RoR был хайп. Сейчас RoR не востребован от слова «совсем». Вакансий крайне мало в российском сегменте. За границей на него спрос еще остался, но он затухает. Язык довольно-таки интересный, но, спрос на него будет неуклонно падать.Так что имейте это в виду (октябрь 2019 года)
Спрос на рынке труда диктует свои правила. Не так давно Ruby on Rails стала весьма популярной у российских работодателей. А это означает, что я не мог обойти данную платформу стороной.
Естественно, что для того, чтобы создавать сайты на RoR, нужно уметь программировать на самом языке Ruby. К своему неудовольствию, я обнаружил, что литературы, посвященной этому языку крайне мало. Это и побудило меня начать цикл уроков, посвященных программированию на Ruby с последующим переходом на рельсы (on Rails).
Итак, приступим. Для начала программирования нам понадобятся интерпретатор языка Ruby. Да-да, это очередной интерпретируемый язык, чтобы вы знали. А это означает полную переносимость кода. Тем не менее, нужно сразу оговориться об особенностях этого интерпретатора. Изначально сам Ruby был заточен под .nix системы и у него было крайне много проблем в Windows, особенно при использовании onRails. Сейчас ситуацию в Windows изменили в лучшую сторону, но, тем не менее, все же советую для коммерческой разработки использовать виртуальную машину с Ubuntu или Mint, если вы сидите под виндовс. В дальнейшем, когда мы закончим основы самого языка и накачаем мышцы для перехода на onRails, то лично я уже буду отталкиваться от никсовой системы, хотя и буду показывать, как многое можно сделать в Windows. Тем не менее, имейте в виду эту особенность платформы.
К счастью, Ruby обзавелся русским комьюнити. Скачать интерпретатор языка вы сможете с https://www.ruby-lang.org/ru/downloads/. К слову сказать, раньше интерпретатор для Windows поставлялся вместе с достаточно хорошей книжкой по языку Руби. Теперь книги уже нет, но сам сайт стал гораздо удобнее и обзавелся внятной документацией и многими «плюшками». Крайне рекомендую поизучать данный сайт. Для тех же, кто сидит на маках и линуксах, там описано, как установить систему нужные гемы (пакетные библиотеки ruby). В рамках основ Ruby я на этом останавливаться не буду, так как уверен, что 90% читателей этих уроков работают на Windows.
Скачав и установив Ruby на свой компьютер, вы получите в довесок irb — интерактивный интерпретатор ruby. На самом деле, полезная штука при вводе небольших команд для проверки, как все срабатывает, но и серьезные программы также обрабатываются через него.
Запустить irb можно либо набрав одноименную команду в командой строке или же найти соответствующий ярлык в папке с программами.
Итак, запустив Interactive Ruby, мы наберем следующую команду:
puts “Привет программисту на Ruby!”
И нажмем на Enter. У вас должно получиться такое:
Знаю, что данное выражение набило оскомину, но нужно же с чего-то начинать?! Тем не менее, не стоит злоупотреблять русским текстом. Интерпретатор этого не любит и у вас будут выводиться всякие «квакозябры», если вы это не вбиваете в самом irb.
Для написания и отладки скриптов Ruby лучше использовать специализированные редакторы или IDE. Можно использовать RubyMine от JetBrains, но он платный. Подойдет для написания и SublimeText, однако он обладает вышеназванным недостатком лично я в дальнейших уроках буду использовать бесплатный редактор кода MS Visual Studio Code. Он бесплатный, кроссплатформенный и при помощи различных расширений из него можно сделать практически полноценную студию разработки своих программ на Ruby.

Скачать Visual Studio Code вы можете с https://code.visualstudio.com/. Установка простая абсолютно для всех поддерживаемых операционных систем. Добавление расширений для работы с Ruby не должно вызвать проблем и находится в соответсвующем пунке меню редактора. Для тех, кто все же не хочет тратить время на поиск всех этих пунктов, рекомендую просмотреть вводный видеоурок, где я также рассказываю, как подготовить среду для разработки своих скриптов.
Скачав и установив Visual Studio Code, теперь можно создать новый файл и вбить в нем текст:
puts "Hello! I'm Ruby!"
И сохранить его с расширением .rb и названием Hello. В моем примере я поместил его в корень диска C и могу его теперь вызвать в Windows так:
ruby C:\Hello.rb
Или же можно все эти скрипты запускать в том же Visual Studio Code (если вы его настроили правильно) и RubyMine. Тут вопрос удобства.
Пока все. Мы настроили среду разработки и написали первый скрипт. Урок 2 будет посвящен уже синтаксису языка.
Вводное занятие по Ruby. Это будет самое длинное видео в этой серии уроков. Расписал полезные моменты по минутам для улучшения навигации
Дополнение от 22.04.2018
Этот цикл уроков я начал в 2012 году. Не зная, сколько просуществует блог, старался писать обобщенно по языку, ведь конструкции не будут изменяться в разных версиях языка.
К сожалению, на тот момент трафик не рос на сайте, уроки просто воровались и я их бросил в том же году. Сейчас, по прошествии шести лет хотелось бы именно дополнить этот начальный урок (не исправить, так как для Windows суть не сильно меняется).
- Так как ко мне на блог заходили, в основном, виндузятники, то просто и начал писать для них уроки. Но имейте в виду, что Ruby попросту не приспособлен для Windows и имеет массу известных проблем. Хоть сам язык вы и изучите, но при переходе на Рельсы от винды придется отказываться, имейте это в виду. Так что лучше под виртуальной машиной завести nix систему.
- Ruby очень легкий язык. Причем, даже не ожидал встретить в 2012 году такой простой язык, хотя Swift его и переплюнул потом. Но имейте в виду, что на него спрос только на Рельсы и он не настолько обширный, как хотелось бы. По сравнению с традиционным PHP, рубисты отстают на два порядка. Для диверсификации рисков, настоятельно рекомендую прокачивать скиллы в Frontend и для кучи изучить в отличном объеме PHP.
- Запомните одну вещь — в интернете развелась куча «лекторов», транслирующие видео в ютьюбе. Кто-то откровенно отвратительный, кто-то нормальный. Но обращайте внимание на дату публикации урока. Слишком все меняется быстро. И смотреть уроки мало — нужно выполнять задания и практиковаться. К сожалению, человек так устроен, что попросту игнорирует часть информации. В итоге вы распылите массу времени, но ничему толком не научитесь.
- Литература. Она нужна, но нужна как букварь, не более. К сожалению, по книгам можно изучить только азы. Кроме того, литература быстро устаревает. Как по мне, гораздо лучше изучать что-либо по туториалам. Потом проще будет и на документацию перейти. Из блогов можете найти какой-то типа моего, где пытаются в виде самоучителей дать информацию, но потом подобный подход будет обречен. Нужно будет искать сообщества и даже использовать Хабр, так как именно на нем размещают полезные посты, если это не переводы.
- Запишитесь на курсы. Но курсы нужны именно серьезные, а не типа «Введите gems в терминале добейте следующий код». Курсы будут дорогими (меньше 50 килорублей они не будут стоить), но если там есть куча ДЗ с проверкой и дедлайнами, размещение нескольких проектов на Гитхабе и обучение многим методологиям, то вы дойдете минимум до уровня джуна и спокойно отобьете затраты за месяц-два работы (при условии, что занимаетесь, а не ленитесь). Не слушайте никого по поводу самоучек. Если бы все становились спецами по книжкам и видео, то вузы бы просто закрыли за ненадобностью. Для тех, кому это дорого можно посоветовать https://www.codecademy.com/en/tracks/ruby. Но нужно знать английский. Хотя его все равно придется изучить, иначе вы просто будете неконурентноспособны.
- На Руби повлиял Питон. Они настолько похожи, что изучить после Руби Питон можно будет за неделю. А там освоить Джанго и уже выбирать, что больше нравится.
- Ну и заглядывайте на этот блог, так как после 6 лет кидания из крайности в крайность, теперь я уже полностью вернулся в разработку. Кроме того, в силу своего преклонного возраста на дату дополнения (мне почти 33), российский рынок труда для меня просто ограничен. Как раз на блоге буду писать еще и о том, как правильно фрилансить и работать удаленно.