В середине 90-х японский программист Юкихиро Мацумото опубликовал объектно-ориентированный язык Ruby. Первоначально используемый почти исключительно в Японии, язык сценариев с тех пор зарекомендовал себя как популярная альтернатива лидерам отрасли PHP, Python и т. д. И есть причина успеха программы: на этапах разработки Мацумото поставил перед собой цель: обеспечить, чтобы программирование всегда доставляет удовольствие, и поэтому он включил в Ruby лучшие аспекты других языков. В качестве интерпретируемого скриптового языка код выполняется интерпретатором. Это означает, что он имеет небольшой недостаток по сравнению с скомпилированными скриптами. В то же время этот аспект делает Ruby более динамичным и гибким. Код Ruby не зависит от платформы из-за того, что существуют специальные интерпретаторы для всех операционных систем.
В 2005 году интерес к языку Руби резко возрос в тандеме с Ruby on Rails, веб-фреймворком, написанным на Руби. Rails часто приписывают повышение осведомленности о Ruby. А 24 февраля 2022 года отмечают праздник 29-летнего языка программирования Руби.
Ruby был описан как мультипарадигмальный язык программирования: он допускает процедурное программирование: определение функций и переменных вне классов делает их частью корневого, самого объекта, с объектной ориентацией. Это означает, что все является объектом или функциональное программирование. Это имеет анонимные функции, замыкания и продолжения; все операторы имеют значения, а функции возвращают последнее вычисление. Он поддерживает самоанализ, рефлексию и метапрограммирование, а также поддержку потоков на основе интерпретатора. Ruby поддерживает динамическую типизацию и параметрический полиморфизм.
Руби - динамичный, объектно-ориентированный, рефлексивный язык программирования, ориентированный на простоту и производительность. Язык имеет элегантный синтаксис, который легко читать и легко писать, динамическую систему типов и автоматическое управление памятью. Известный своим синтаксическим сахаром, Ruby создан для счастья разработчиков. Он был создан японским инженером-программистом Юкихиро Мацумото (известным как Matz) как язык сценариев общего назначения для его повседневной работы. Сочетание элементов Perl, Smalltalk и Scheme в простом, но мощном синтаксисе.
Ruby был задуман 24 февраля 1993 года. В сообщении 1999 года в списке рассылки ruby-talk Юкихиро Мацумото описывает некоторые из своих ранних идей о языке:
Я говорил со своим коллегой о возможности объектно-ориентированного языка сценариев. Я знал Perl, но он мне не нравился, потому что от него пахло игрушечным языком.
Объектно-ориентированный язык казался многообещающим. Тогда я знал Python. Но мне это не нравилось, потому что я не думал, что это настоящий объектно-ориентированный язык - объектно-ориентированные функции казались дополнением к языку. Будучи языковым маньяком и поклонником объектно-ориентированного программирования в течение 15 лет, я хотел объектно-ориентированный, простой в использовании язык сценариев. Я искал, но не мог найти. Поэтому я решил сделать это.
О первом публичном выпуске Ruby 0.95 было объявлено в японских внутренних группах новостей 21 декабря 1995 года. Впоследствии за 2 дня были выпущены еще 3 версии Руби. Выпуск совпал с запуском списка рассылки ruby-list на японском языке, который был первым списком рассылки для нового языка.
Как и Perl, Ruby справляется с обработкой текста. Как и в Smalltalk, все в Руби является объектом, есть блоки, итераторы, метаклассы и другие полезные вещи. Вы можете использовать Руби для написания серверов, экспериментов с прототипами и повседневных задач. Будучи полностью интегрированным объектно-ориентированным языком, Ruby масштабируется. К 2000 году Руби был более популярен в Японии, чем Python. Но по мере создания и выпуска веб-фреймворка Ruby on Rails он рос, далеко за пределами Японии. Сегодня Ruby on Rails считается надежной веб-платформой и стал пионером множества отличных практик в веб-разработке. Так же многие сайты написаны на Ruby on Rails, например GitHub, Airbnb, Groupon и т. д.
Существуют различные реализации Руби. JRuby (Ruby на JVM), Ruby MRI (CRuby) и IronRuby (Ruby для .NET и Silverlight) являются одними из самых популярных.
Благодаря жесткой зависимости между компонентами и модулями Ruby on Rails подходит для стандартных веб-приложений. Однако когда речь идет о приложении с некоторыми уникальными функциями, настройка может быть сложной задачей.
Язык имеет расширяемость. У нас есть язык Руби, но мы можем добавить много вещей, таких как библиотеки классов, чтобы расширить возможности языка. Язык Ruby позволяет сделать его еще сильнее, добавляя классы, например, добавляя объекты. Вторая вещь, которая является частью этого, это блоки. Блок каким-то образом является формой функции более высокого порядка, но Ruby предоставляет вещи изящным способом, который формирует то, что вы можете расширить метод, добавив блоки. Важное в языке Руби - сообщество. Мы не можем жить без программистов. Руби не просто язык, и технология; сообщество является самым важным для языка.