Язык Ruby
Идеалы создателя языка Ruby
Ruby - это язык тщательного баланса. Его создатель, Юкихиро «Мац» Мацумото, соединил части своих любимых языков (Perl, Smalltalk, Eiffel, Ada и Lisp), чтобы создать новый язык, который сбалансирует функциональное программирование с императивным.
Он часто говорил, что пытается сделать Ruby естественным, а не простым, таким, чтобы он отражал жизнь.
О росте популярности Ruby
С момента своего выхода в 1995 году Ruby привлек внимание преданных кодеров по всему миру. В 2006 году Ruby достиг массового признания. В крупнейших городах мира появились активные группы пользователей, а конференции, посвященные Ruby, заполнились до отказа.
Ruby-Talk, основной список рассылки для обсуждения языка Ruby, в 2006 году вырос до 200 сообщений в день. В последние годы этот показатель снизился, так как в связи с ростом численности сообщества дискуссии переместились из одного центрального списка в множество более мелких групп.
Ruby входит в первую десятку большинства индексов, оценивающих рост и популярность языков программирования в мире (например, индекс TIOBE). Во многом этот рост объясняется популярностью программного обеспечения, написанного на Ruby, в частности веб-фреймворка Ruby on Rails.
Кроме того, Ruby совершенно бесплатен. Не только бесплатен, но и свободен для использования, копирования, модификации и распространения.
Восприятие всего как объекта
Вначале Мац рассматривал другие языки в поисках идеального синтаксиса. Вспоминая свои поиски, он говорит: Мне нужен был скриптовый язык, более мощный, чем Perl, и более объектно-ориентированный, чем Python2.
В Ruby все является объектом. Каждый бит информации и кода может быть наделен собственными свойствами и действиями. В объектно-ориентированном программировании свойства называются переменными экземпляра, а действия - методами. Чисто объектно-ориентированный подход в Ruby чаще всего демонстрируется на примере кода, который применяет действие к числу.
5.times { print "We *love* Ruby -- it's outrageous!" }
Во многих языках числа и другие примитивные типы не являются объектами. Ruby следует влиянию языка Smalltalk, предоставляя методы и переменные экземпляра всем своим типам. Это облегчает работу с Ruby, так как правила, применяемые к объектам, распространяются на весь Ruby.
Пример кода
# Ruby knows what you
# mean, even if you
# want to do math on
# an entire Array
cities = %w[ London
Oslo
Paris
Amsterdam
Berlin ]
visited = %w[Berlin Oslo]
puts "I still need " +
"to visit the " +
"following cities:",
cities - visited