Урок 1: «Рубин нужен не только для лазера»


Спрос на рынке труда диктует свои правила. Не так давно Ruby on Rails стала весьма популярной у российских работодателей. А это означает, что я не мог обойти данную платформу стороной.

Естественно, что для того, чтобы создавать сайты на RoR, нужно уметь программировать на самом языке Ruby. К своему неудовольствию, я обнаружил, что литературы, посвященной этому языку крайне мало. Это и побудило меня начать цикл уроков, посвященных программированию на Ruby с последующим переходом на рельсы (on Rails).

Итак, приступим. Для начала программирования нам понадобятся интерпретатор языка Ruby. Да-да, это очередной интерпретируемый язык, чтобы вы знали. А это означает полную переносимость кода. Скачать интерпретатор можете c http://www.ruby-lang.org/en/downloads/.

Рекомендую скачать вам инсталляционную версию под Windows. Кроме самого интерпретатора и весьма убогой среды разработки Interactive Ruby, представляющую собой обыкновенную консольную программу, вам будет доступна еще документация и замечательная книжка на английском языке по Рубину. Скажу честно, книжка просто замечательная и я часто буду прибегать к ее помощи в данной серии уроков.

Итак, запустив Interactive Ruby, мы наберем следующую команду:

puts “Привет программисту на Ruby!”

И нажмем на Enter. У вас должно получиться такое:

Знаю, что данное выражение набило оскомину, но нужно же с чего-то начинать?! Честно говоря, Interactive Ruby я сразу же затер на своем компьютере. Гораздо удобнее использовать какой-нибудь редактор с подсветкой синтаксиса (я использую Notepad ++) и командную строку.

Скрипт на Ruby должен иметь расширение .rb. Тогда в командной строке мы вызовем наш скрипт так:

ruby C:\Hello.rb

На экран выдаст нашу программу. Но так тоже неудобно. Гораздо лучше использовать какую-либо среду разработки с расширением под Ruby. Я использовал и Eclipse, но вам могу посоветовать Net Beans IDE.

Эта среда разработки горячо любима программистами java. Однако ее расширения делают ее очень удобной и для других языков. В частности, моя позволяет мне писать скрипты PHP, Ruby и программы на C++. Вам просто нужно будет указать, что войдет в вашу сборку нет бинса.

Что даст нам Net Beans? Подсветка синтаксиса программы, автозавершение кода по нажатию Ctrl + Space, документацию по функциям и методам и много чего удобного. Так что в данном цикле уроков я буду использовать именно эту среду.

Давайте теперь напишем наш Hello World.rb в Net Beans. Запустим среду и выберем File ->New project -> Ruby – >Ruby Application:

Нажмите Next и введите имя вашего проекта. Я назову проект Lessons, вы же вправе называть его как угодно. Обратите внимание, что NetBeans предлагает в роли платформы Ruby javaшный вариант интепретатора – Jruby. Ничего страшного здесь нет, скрипты будут работать и в обычном интепретаторе Ruby. Однако всегда можно поменять настройки на обычный Ruby, благо NetBeans может сделать это в два клика. Об этом мы поговорим в других уроках.

Теперь нажмите кнопку Finish и среда сгенерирует весь проект.

Как видите, мастер создал шаблон нашего приложения. Наш скрипт находится в файле main.rb. Переименуйте его в hello.rb. Теперь можно нажать на клавишу F6 или на зеленую стрелочку:

И ваш скрипт запустится. Чем Net Beans (впрочем, и Eclipse) мне нравится, так это тем, что в  нижнем окне можно наблюдать ход выполнения программы, что очень удобно для отладки.

Пока все. Мы настроили среду разработки и написали первый скрипт. Урок 2 будет посвящен уже синтаксису языка.

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

Тем не менее, настоятельно все же рекомендую использовать для обучения среду JetBrains RubyMine. Она много чего умеет делать, но, правда, стоит денег. Но эти деньги она окупает с лихвой, как только вы начнете коммерческую разработку. Кроме того, есть куча редакторов с возможностью привязки к интерпретатору Ruby. Это и всем известный Notepad++, и Brackets с расширениями, и Visual  Code от Майкрософта (бесплатный редактор, что удивительно).

В общем, не важно то, на чем вы набираете текст. Не зацикливайтесь на NetBeans, тем более, он сейчас скорее мертв, чем жив. Тоже самое и с Eclipse


Дополнение от 22.04.2018

Этот цикл уроков я начал в 2012 году. Не зная, сколько просуществует блог, старался писать обобщенно по языку, ведь конструкции не будут изменяться в разных версиях языка.

К сожалению, на тот момент трафик не рос на сайте, уроки просто воровались и я их бросил в том же году. Сейчас, по прошествии шести лет хотелось бы именно дополнить этот начальный урок (не исправить, так как для Windows суть не сильно меняется).

  1. Так как ко мне на блог заходили, в основном, виндузятники, то просто и начал писать для них уроки. Но имейте в виду, что Ruby попросту не приспособлен для Windows и имеет массу известных проблем. Хоть сам язык вы и изучите, но при переходе на Рельсы от винды придется отказываться, имейте это в виду. Так что лучше под виртуальной машиной завести nix систему.
  2. Ruby очень легкий язык. Причем, даже не ожидал встретить в 2012 году  такой простой язык, хотя Swift его и переплюнул потом. Но имейте в виду, что на него спрос только на Рельсы и он не настолько обширный, как хотелось бы. По сравнению с традиционным PHP, рубисты отстают на два порядка. Для диверсификации рисков, настоятельно рекомендую прокачивать скиллы в Frontend и для кучи изучить в отличном объеме PHP.
  3. Запомните одну вещь — в интернете развелась куча «лекторов», транслирующие видео в ютьюбе. Кто-то откровенно отвратительный, кто-то нормальный. Но обращайте внимание на дату публикации урока. Слишком все меняется быстро.  И смотреть уроки мало — нужно выполнять задания и практиковаться. К сожалению, человек так устроен, что попросту игнорирует часть информации. В итоге вы распылите массу времени, но ничему толком не научитесь.
  4. Литература. Она нужна, но нужна как букварь, не более. К сожалению, по книгам можно изучить только азы. Кроме того, литература быстро устаревает. Как по мне, гораздо лучше изучать что-либо по туториалам. Потом проще будет и на документацию перейти. Из блогов можете найти какой-то типа моего, где пытаются в виде самоучителей дать информацию, но потом подобный подход будет обречен. Нужно будет искать сообщества и даже использовать Хабр, так как именно на нем размещают полезные посты, если это не переводы.
  5. Запишитесь на курсы. Но курсы нужны именно серьезные, а не типа «Введите gems в терминале добейте следующий код». Курсы будут дорогими (меньше 50 килорублей они не будут стоить), но если там есть куча ДЗ с проверкой и дедлайнами, размещение нескольких проектов на Гитхабе и обучение многим методологиям, то вы дойдете минимум до уровня джуна и спокойно отобьете затраты за месяц-два работы (при условии, что занимаетесь, а не ленитесь). Не слушайте никого по поводу самоучек. Если бы все становились спецами по книжкам и видео, то вузы бы просто закрыли за ненадобностью. Для тех, кому это дорого   можно посоветовать https://www.codecademy.com/en/tracks/ruby. Но нужно знать английский. Хотя его все равно придется изучить, иначе вы просто будете неконурентноспособны.
  6. На Руби повлиял Питон. Они настолько похожи, что изучить после Руби Питон можно будет за неделю. А там освоить Джанго и уже выбирать, что больше нравится.
  7.  Ну и заглядывайте на этот блог, так как после 6 лет кидания из крайности в крайность,  теперь я уже полностью вернулся в разработку. Кроме того, в силу своего преклонного возраста на дату дополнения (мне почти 33), российский рынок труда для меня просто ограничен. Как раз на блоге буду писать еще и о том, как правильно фрилансить и работать удаленно.

 

Следующий урок >>

Яндекс.Метрика