Ruby вчера и сегодня

История языка Ruby началась в 1993 году, когда Якихиро Мацумото (Yukihiro Matsumoto) a.k.a Matz взялся за реализацию собственного скриптового языка, который бы был таким же мощным и удобным, как Perl, и более объектно-ориентированным, чем Python. Первая общедоступная версия 0.95 увидела свет в 1995 году. После этого Ruby быстро получил широкое распространение в Японии — это легко объяснимо происхождением языка и отсутствием языкового барьера между первыми пользователями Ruby и его создателем. За период с 95 по 2002 год в Японии вышло около двадцати книг о Ruby, и Ruby стал в этой стране более популярным языком, чем Python.

После 2000 года началось распространение Ruby по всему миру. Этому способствовало появление англоязычных книг, в первую очередь [1] и [3]. До 2004 года Ruby не был широко известен в Европе и США, и по популярности значительно уступал там Perl и Python. Однако благодаря своим качествам и большому количеству поддерживаемых платформ Ruby медленно, но верно умножал ряды своих приверженцев (среди которых в это время оказался и автор этих строк). Настоящий же всплеск интереса к Ruby спровоцировало появление Ruby-On-Rails (RoR) [5] — небольшого фреймворка для разработки Web-приложений. RoR стал для Ruby т.н. killer application, катализатором, благодаря которому сейчас Ruby получает признание во всем мире.

Влияние RoR на популярность Ruby неоднозначно. С одной стороны, благодаря RoR Ruby завоевывает причитающееся ему признание. Но с другой, складывается впечатление, что Ruby — это RoR, а RoR — это и есть Ruby. К счастью, это не так. Ruby — это динамически типизированный язык программирования, который начинал свою историю как скриптовый, но со временем превратился в более серьезный инструмент. Поэтому здесь рассказывается, в первую очередь, именно о языке Ruby, а RoR упоминается лишь по мере необходимости.

На момент написания этих строк язык Ruby находится на очень интересном этапе своего развития. До версии 1.8 он развивался, сохраненяя совместимость с предыдущими версиями. Но некоторое время назад разработчики Ruby, во главе с Якихиро Мацумото, решили, что для дальнейшего движения вперед следует отказаться от 100% совместимости. Поэтому сейчас разработка Ruby разделилась на две ветви: поддержка стабильной версии 1.8.* (текущей версии Ruby) и создание новой версии 1.9.*, которая является предтечей следующей версии языка Ruby 2. Здесь описывается Ruby 1.8.*.

© Psylive