Support us

Why Ruby?

Оставить комментарий
Why Ruby?

Алексей Кудряшов
May 10, 2016
 

"Ruby предназначен для того, чтобы сделать программистов счастливыми."
~ Yukihiro Matsumoto

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

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

Разработчики используют Ruby во множестве областей: в администрировании, прототипировании, научных исследованиях, разработке игр и различных приложений, в написании скриптов и т.д. Cisco, NASA, HP и многие другие компании используют этот язык. Ruby прекрасно себя проявляет на nginx, Apache, а также имеет несколько web-серверов, написанных на самом Ruby.

Ruby – хорошо сбалансированный язык. Он был создан в 1995 году Yukihiro Matsumoto, путём объединения частей разных языков программирования, таких как Perl, Lisp, Smalltalk для формирования нового языка, который был бы естественным, но не простым языком. Этот высокоуровневый объектноориентированый язык программирования, который ещё и полноценно интерпретируем. Интерпретируемый - значит, что код программы хранится в виде обычного текста, который передаётся исполняющему его интерпретатору.

Чистоту и красоту Ruby получает благодаря тому, что программисты стараются следовать нескольким принципам:

Don't repeat yourself. Единожды написав код и положив его в нужное место мы защищаем себя от повторений кода и от ненужной работы.
Conventions over Configuration. Очень многие методы уже написаны и их следует использовать, а в крайних случаях, если умолчания нас не устраивают, мы просто переписываем их под себя. Всё для чистоты и лаконичности кода, и при этом минимум усилий.

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

10.256.round # получим округленное число 10

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

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

Ruby намеренно предоставляет лишь одиночное наследование, в отличие от многих объектно-ориентированных языков. Этот язык даёт нам концепцию модулей (примеси - в Scala, категории - в Objective-C). Модули - это коллекции методов. Классы могут свободно вмешивать модуль и получать все его методы. Например, любой класс, реализующий метод each, может подмешать модуль Enumerable, который добавит много методов использующих each для создания циклов.

class Collection

include Enumerable

end

Ruby был разработан большей частью на GNU/Linux, но обладает высокой переносимостью: есть возможность работать на многих типах UNIX, Mac OS X, Windows/XP/7 и так далее. Ещё один плюс -  Ruby/Rails сейчас дают реализацию практически всех успешных технологий и подходов к программированию, таких как работа с базами данных через ORM (ActiveRecord), шаблоны проектирования (Design Patterns), разработка через тестирование (TDD), полноценная модель реализации концепции MVC, использование JavaScript-framework'а jQuery.

Открытость сообщества является одной из самых важных частей Ruby. Нашёл решение проблемы, написал полезный модуль -  выложи в открытый доступ, помоги другим. На данный момент, благодаря многим людям, у нас есть доступ к тысячам готовых решений разнообразнейших задач. Сейчас не нужно ломать голову над стандартными инструментами share-кнопок в социальных сетях, почтовых рассылок, составления тестовых данных, систем авторизации и аутентификации, комментирования и т.п. -  это создано, протестировано, и прекрасно работает. Даже если вас не устраивает часть библиотеки —  допишите и предложите это сообществу, может быть именно ваша идея так необходима сейчас.

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

Мне нравится Ruby.

Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
Вакансии для Ruby-разработчиков на jobs.dev.by
Вакансии для Ruby-разработчиков на jobs.dev.by
Вакансии для Ruby-разработчиков на jobs.dev.by
Записки из концлагеря, риторика ненависти и Оруэлл: что читает создатель Ruby on Rails
Записки из концлагеря, риторика ненависти и Оруэлл: что читает создатель Ruby on Rails
Записки из концлагеря, риторика ненависти и Оруэлл: что читает создатель Ruby on Rails
Давид Хейнемейер Ханссон — датский программист, автор популярного веб-фреймворка Ruby on Rails, создатель Instiki и по совместительству автогонщик обладает еще и неплохим книжным вкусом. Проект Read This Twice собрал 50 книг, которые вдохновляют Ханссона. А мы выбрали 8 произведений на английском и русском языках, которые можно почитать бесплатно на Букмейт.
Вакансии для Ruby-разработчиков на jobs.dev.by
Вакансии для Ruby-разработчиков на jobs.dev.by
Вакансии для Ruby-разработчиков на jobs.dev.by
Разработчики dev.by ищут рубиста в команду. Присоединяйтесь к нам
Разработчики dev.by ищут рубиста в команду. Присоединяйтесь к нам
Разработчики dev.by ищут рубиста в команду. Присоединяйтесь к нам
1 комментарий

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.