Рубиновому языку 21 год. Его сильное сообщество и принятие сообществом открытого исходного кода поддерживают этот язык устойчивым и улучшающимся. Рубин сильно изменился за эти годы. Он превратился из маленького ребенка в сильного взрослого, каким он является сегодня. Но так не получилось за одну ночь. Давайте посмотрим на жизнь языка программирования Ruby.
Примечание. Эта статья содержит метафоры (от языка к человеку), так что будьте готовы.
Рождение (1993)
Руби родился в 1993 году, задуманный в ходе дискуссии между Юкихиро Мацумото («Мац») и его коллегой. Они обсуждали возможность объектно-ориентированного языка сценариев. Мац заявил в ruby-talk: 00382, что он знает Perl, но ему не очень нравится; что он пах «игрушечным» языком. Он также рассказал, что знает Python, но ему не нравится, потому что это не настоящий объектно-ориентированный язык программирования.
Мац хотел язык, идеально подходящий для его нужд:
- Синтаксически Простой
- Истинно объектно-ориентированный
- Наличие итераторов и замыканий
- Обработка исключений
- Вывоз мусора
- портативный
Осмотревшись вокруг и не найдя подходящего ему языка, Юкихиро Мацумото решил создать свой собственный. Потратив несколько месяцев на написание переводчика, Мэтц, наконец, опубликовал первую публичную версию Ruby (0,95) в различных японских внутренних новостных группах в декабре 1995 года. Вы все еще можете загрузить детскую версию Ruby здесь на свой страх и риск.
Годы малыша
Ruby стал малышом (n .: маленький ребенок, который только начинает ходить), когда Ruby 1.0 был выпущен в декабре 1996 года. Ruby 1.1 вскоре последовал в августе 1997 года, и первая стабильная версия Ruby (1.2) была выпущена в Декабрь 1998 г.
На данный момент Ruby был локализован только для Японии, но вскоре он распространился и на другие части света …
Начальная школа
В 1998 году Matz создал простую английскую домашнюю страницу для Ruby. Тем не менее, Ruby все еще был очень локализован в Японии. Чтобы продвинуть это расширение, был создан первый список рассылки Ruby на английском языке, Ruby-Talk . Рубин начал распространяться за пределы Японии.
Ruby-Talk по-прежнему очень активен сегодня, и вы можете подписаться на него здесь .
В октябре 1999 года Юкихиро Мацумото и Кейджу Ишицука написали первую книгу о языке программирования Ruby: объектно-ориентированный язык сценариев Ruby . Руби начал становиться очень популярным в Японии и быстро распространяться в англоязычных странах.
В 2001 году в 2001 году была выпущена первая английская книга по Ruby, Programming Ruby («Кирка»). Благодаря этой новой информации о Ruby гораздо больше людей смогли выучить язык.
Ruby 1.8 был выпущен в 2003 году. Этот выпуск внес значительные изменения в гибкий язык 10-летней давности. В том числе:
- Duck Typing (выглядит как утка, плавает как утка, крякает как утка: это утка)
- Полностью квалифицированные имена (
Foo::Bar
- Родная поддержка YAML
- WEBrick
- StringIO
- открытая URI
- PP (Pretty Printer для
Hash#inspect
-
ruby -run
ruby -run -e mkdir foo
- И много других мелких особенностей
В 2004 году RubyGems был выпущен для общественности. Хорошие вещи начали происходить дальше …
Мятежный подросток
В 2005 году использование Ruby взлетело. Причина: Ruby on Rails . Эта новая структура изменила историю быстрой веб-разработки. В прошлом Ruby использовался для написания CGI-скриптов, но Ruby on Rails пошёл дальше. Rails имеет структуру Model-View-Controller, которая фокусируется на «соглашении по конфигурации», что отлично подходит для разработки веб-приложений.
Людям это нравилось. Настолько, что сообщество Ruby было почти захвачено платформой Rails. Рубин в свою очередь стал очень популярным.
В марте 2007 года был выпущен Ruby 1.8.6, а в мае 2008 года — 1.8.7. На данный момент Ruby достиг пика. Mac OS X даже начала поставляться с ним в 2007 году. На данный момент Ruby было 15 лет.
Ruby 1.9 (версия для разработки) была выпущена в декабре 2007 года, а затем стабилизировалась 4 года спустя (2011) как Ruby 1.9.3. Ruby 1.9.3 был производственной версией 1.9.2. Эти версии принесли новые изменения в язык, такие как:
- Значительные улучшения скорости
- Новые методы
- Новый синтаксис хэша (
{ foo: 'bar' }
- RubyGems включен
- Новый Socket API (поддержка IPv6)
- Несколько генераторов случайных чисел
- Улучшения регулярных выражений
- Улучшения производительности загрузки файлов
- Test :: Улучшения модуля
- Новая поддержка кодирования
- Больше настроек форматирования строк
- И многое другое
Ruby переходил от мятежного подростка к сильному взрослому, когда ему исполнилось 18 лет с Ruby 1.9.3.
Сильный Взрослый
Ruby 2.0.0 был выпущен в феврале 2013 года и принес много стабилизирующих изменений в язык. Среди них:
- Больше улучшений скорости
- Уточнения (безопасное исправление обезьян)
- Ключевые аргументы
- UTF-8 по умолчанию
- Новый движок регулярных выражений
- Оптимизированная сборка мусора
- Добавление встроенной синтаксической документации (
ri ruby:syntax
В отличие от 1.9.x, которая разбила множество драгоценных камней своими изменениями, 2.0.0 была почти полностью обратно совместима с 1.9.3. Кроме того, Heroku, один из ведущих хостов Ruby / Rails, быстро обновился до 2.0.0, что привело к более раннему, чем обычно, принятию новых и существующих проектов. Язык Ruby был (и есть) в своем золотом веке.
Ruby 2.1.0 был выпущен на Рождество 2013 года. Он внес несколько незначительных изменений в язык. Но самой большой новостью в 2.1.0 было семантическое управление версиями , способ правильно создать версию проекта без случайного нарушения зависимостей.
Ruby 2.1.1 был выпущен в 21 день рождения Ruby (24 февраля 2014 года). Руби теперь по закону разрешено пить в США (не то, что мы бы этого хотели). В этой версии были в основном улучшения скорости и исправления ошибок. Вскоре после 2.1.1, Ruby 2.1.2 был выпущен в мае 2014 года. 2.1.2 содержит больше исправлений и является текущей стабильной версией Ruby.
Будущее
Ruby — отличный язык. Мац хотел язык программирования, который отвечал бы его потребностям, поэтому он создал его. Это вдохновляющая история разработки программного обеспечения: если вы не можете найти то, что вам нравится, запрограммируйте это самостоятельно. С 0.95 до 2.1.2 Руби поражал тех, кто хотел программировать так, как хотел, а не так, как хотел автомат.
Мы не можем знать будущее языка Ruby, но мы можем предсказать его, основываясь на прошлом. Я верю, что язык Ruby и его фантастическое сообщество будут продолжать развивать язык выше и вне того, что другие считают возможным, и проекты, созданные с его использованием, будут делать то же самое.