Что такое Ruby

Ruby

Привет всем читателям Wp-Mysite!!!

Сегодня знаковая дата, по наставлению своего кума начал изучать язык программирования  Ruby.

Ruby (от англ. ruby — рубин) — динамический, рефлективный, интерпретируемый высокоуровневый язык для  объектно-ориентированного программирования. Обладает многими возможностями: строгой динамической типизацией, независимой от операционной системы реализацией многопоточности, сборщиком мусора и другое. Язык имеет сходство по синтаксису с языкам Eiffel и Perl, а по объектно-ориентированному подходу — к Smalltalk. Многое взятоиз Lisp, Клу, Python и Dylan. Интерпретатор языка полностью свободный.

История создания языка

Создателем Ruby является Юкихиро Мацумото (Matz), который будучи еще студентом очень интересовался языками программирования, но идея  о разработке своего собственного языка пришла ему значительно позже.

С началом  февраля 1993 года Мацумото начал разработку Ruby и в 1995 году он вышел в свет.

На подобии языка Perl (pearl — «жемчужина») было принято решение назвать новый язык (ruby — «рубин»). Также были позаимствованы некоторые  многие особенности синтаксиса и семантики Perl.

Как всегда целью нового языка автор видел в создании «настоящего объектно-ориентированного», которое будет лёгкое в разработке.

Первая версия Ruby в Японии стала популярной с момента появления в 1995 году, но пока документация оставалась только  на японском языке  его  распространение было не большим. Лишь в 1997 году, когда  появилось описание Ruby на английском языке, а вскоре в 1998 году был открыт форум «ruby-talk» начался активный рост известности языка в остальном мире.

На данный момент было издано уже несколько книг на разных языках и в том числе на русском.

Популярность Ruby сделала его доступным в дистрибутивах ОС Linux, Mac OS X и других операционных системах.

Философия

Мацумото, фанат объектно-ориентированного программирования, мечтал о языке, более мощном, чем Perl, и более объектно-ориентированном, чем Python. Основное назначение Ruby — создание простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса.

Язык следует принципу «наименьшей неожиданности»: программа должна вести себя так, как ожидает программист. Однако в контексте Ruby это означает наименьшее удивление не при знакомстве с языком, а при его основательном изучении. Сам Мацумото утверждает, что целью разработки была минимизация неожиданностей при программировании для него, но после распространения языка он с удивлением узнал, что мышление программистов похоже, и для многих из них принцип «наименьшей неожиданности» совпал с его принципом.

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

Одной из основных целей разработки было освобождение программистов от рутинной работы, которую вычислитель может выполнять быстрее и качественнее. Особое внимание, в частности, уделялось будничным рутинным занятиям (обработка текстов, администрирование), и для них язык настроен особенно хорошо.

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

Принципы программирования и устройства языка иногда выделяются в термин «Путь Ruby» (англ. Ruby Way). Хэл Фултон выделяет такие принципы, как «просто, но не слишком просто», «принцип наименьшего удивления», вторичность скорости работы программы, динамичность, простые строгие правила, выполнение которых не доходит до педантизма, потребность создавать полезные и красивые программы как причина программирования. В целом они не имеют точной формулировки и иногда этот термин используется для критики .

 

You can leave a response, or trackback from your own site.

Leave a Reply

Яндекс.Метрика Каталог сайтов OpenLinks.RU Участник ePochta Blog Rating