Основы Ruby

Для бэкенда мы сфокусируемся на Ruby, языке, разработанном для того, чтобы программист был счастлив. То, что требует сотен строк кода на Java или C, может занять всего пару строк на Ruby, поскольку он уже содержит множество полезных функций, собранных в удобные для использования методы.

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

Однако, Ruby имеет секретное оружие, благодаря которому любим веб-разработчиками, отдающими предпочтение быстрой итеративной разработке. Фреймворк Ruby on Rails, больше о котором мы расскажем в следующем разделе этого курса, посвященном фреймворкам. Он оптимизирован для быстрого написания кода с минимальной головной болью, что позволяет вам использовать короткие итерации при разработке веб-сайтов. Таким образом, конечный продукт будет лучше удовлетворять клиентские или пользовательские нужды, помогая успешно выполнить вашу первую миссию в качестве инженера.

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

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

Последнее замечание - вы изучите кучу новых терминов и концепций, но не думайте, что они применимы только в Ruby. Большинство из них (методы, классы, объекты и так далее) будут появляться в большинстве других языков, с которыми вы когда-либо встретитесь.

Пункты для размышления

Постарайтесь ответить на предложенные вопросы. После выполнения задания попробуйте ответить на них ещё раз

  • Что такое "интерпретируемый" язык?
  • Что такое IRB?
  • Что такое Объект?
  • Что такое Метод?
  • Что такое Класс?
  • Что такое Блок?
  • Что такое Массив?
  • Что такое Итератор?
  • Что такое Хэш?
  • Что такое библиотека?
  • Что такое гем?

Задания:

  1. Сходите на tryruby.org и выполните быстрые уроки, чтобы опробовать Ruby в действии. Не беспокойтесь о моменте, где предлагается читать из файла, это более глубокий уровень знаний, чем вам нужен прямо сейчас.
  2. Прочтите проект Ruby за 100 минут от Jumpstart Lab. Если вы не можете запустить IRB, вернитесь к Проекту "Установки", который вы уже должны были выполнить.
  3. Погрузитесь немного глубже, прочитав главы 1-10 книги Криса Пайна Учись программировать. Попробуйте выполнить задания в конце каждой главы. Попытайтесь завершить 10 главу, но не расстраивайтесь, если все еще не сможете понять все, о чем там идет речь. Ответы на задания доступны на learntoprogamanswers.blogspot.com
  4. Наконец, покорите Ruby Monk's Introduction to Ruby. Это достаточно полноценный и быстрый курс. Если не чувствуете себя уверенно с Хэшами, Блоками, Модулями и I/O к его завершению... вы такой не первый и не последний. Мы подробнее рассмотрим эти темы в последующих уроках.

Бонусное задание:

Переделайте те же самые задачи из Project Euler, которые вы решали ранее при помощи Javascript, но теперь используйте Ruby (Попробуйте использовать IRB или файл .rb, которые будете запускать из командной строки командой ruby ./yourfilename.rb):

  1. Problem 1: Multiples of 3 and 5
  2. Problem 2: Even Fibonacci Numbers
  3. Problem 3: Largest Prime Factor (помните, что не стоит заморачиваться над грубым решением задач с числами свыше 100,000, иначе вычисление потребует нескольких суток времени...)

Дополнительные ресурсы

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

Поделиться уроком: