Skip to main content

Почему я решил изучать язык Ruby

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

Свое знакомство с Ruby я начал с написания специальных скриптов для Linux, которые автоматизировали определенные рутинные задачи. Первый мой скрипт парсил логи iptables и заганял определенные ip адреса в ipset. Соответственно я получил автоматическое отсечение всех нежеланных гостей, которые пытались получить доступ к моему серверу. Далее в ход пошли веб скрапперы, автоматизировал настройку определенного оборудования по telnet/ssh. В основном это были серверные скрипты для автоматизации различного рода процессов и упрощения работы.

Почему же я выбрал Ruby? В первую очередь, мне понравилась опрятность кода. Да, именно то как он выглядел, методы получались небольшие и компактные, а итераторы были простыми и понятными. Скорость разработки возросла в разы, стоило только мне изучить основные операторы языка и принципы их применения. Код в Ruby выглядит очень опрятно, нет кучи  непонятных скобочек, точек, запятых и т.д.

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

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

class Numeric
  def plus(x)
    self.+(x)
  end
end

y = 5.plus 6
# y теперь равно 11

В этом участке кода автор заменил операцию «+» на метод plus добавив его прямо во внутренний класс Ruby.

Основную часть крутизны этого языка берут на себя итераторы и блоки. Давайте вспомним немного php:

for(i = 0; i < 10: i++) {

# User code

}
foreach($var as $v){

# User code

}

Вспоминаете такие конструкции? В Ruby это еще проще, только посмотрите:

10.times do |x|

# user code

end
var.each do |x|

# User code

end

Все очень просто и понятно. Условные операторы имеют очень простой синтаксис, а их использование в некоторых случаях похоже на использование тернарных операторов в php.

if var == 1
puts "Hello world"
end
puts "Hello world" if var == 1

Результат выполнения этого кода абсолютно одинаков, однако возможности очень большие, очень удобно использовать такие конструкции. Также в Ruby есть удобный оператор unless, как if только наоборот(если не). И это еще не весь список полезных плюх Ruby. Для описания множества особенностей одной статьи будет недостаточно.

Подведем итог:

  • Интерпритируемый скриптовый язык программирования
  • Переменные не типизированы
  • Все объект
  • Простой и удобный синтаксис
  • Автоматическое управление памятью
  • Открытые классы(Возможность изменять классы в любой момент, даже базовые)
  • Удобные итераторы и блоки
  • Не требует предварительного объявления переменных(не стоит этим злоупотреблять)
  • Поддержка многопоточности независимо от операционной системы
  • Поддержка различных операционных система
  • Система управления пакетами RubyGems — удобная установка сторонних библиотек

Я выделил основные особенности, которые были в свою очередь очень важны для меня в моей работе.

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

На этом у меня все. Если у вас возникнут вопросы, пишите комментарии, дополним, решим, разберемся 🙂

Хорошего вам настроения и успехов в вашем деле.

В статье использовались данные с источников:

https://ru.wikipedia.org/wiki/Ruby

https://www.ruby-lang.org/ru/

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *