Руби (програмски језик)

Из Википедије, слободне енциклопедије
Руби (програмски језик)
Ruby logo.svg
Појавио се 1995
Аутор(и) Јукихиро Мацумото
Актуелна верзија 2.2.1
Типови променљивих динамички
Имплементације Ruby MRI, YARV, JRuby, Rubinius, IronRuby, MacRuby, HotRuby
Утицаји Перл, Пајтон, Лисп, C++, Smalltalk, Dylan, CLU
Оперативни системи сви значајнији
Лиценца Руби Лиценца
Веб-сајт www.ruby-lang.org
Документација Документација

Руби (енгл. Ruby) је објектно оријентисани програмски језик. У себи комбинује синтаксу инспирисану језицима Перл и Ада, са објектно оријентисаним особинама налик језику Smalltalk (Smalltalk), а дели и неке особине са језицима Пајтон, Лисп, Dylan и CLU. Руби је једнопролазни интерпретирани језик. Његова главна имплементација је слободни софтвер под лиценцом отвореног кода.

Јукихиро „Мац“ Мацумото (Yukihiro Matsumoto) је са развојем овог језика почео у фебруару 1993. године. Први пут је објављен 1995. године, а тренутно је актуелна стабилна верзија 1.9.3-p0 која се може преузети са званичне стране језика. По многим програмерима, Руби слиједи принцип „најмањег изненађења“, чиме мисле да је тај језик ослобођен свих замки и контрадикторности познатих из других језика. Име „руби“ потиче од енглеске ријечи за „рубин“ (енгл. Ruby) што је само алузија на „перл“ (енглески „бисер").

Руби је дуго времена био чисто јапанска појава, гдје је постигао велику популарност, отприлике једнаку као Перл или Пајтон. Документација је постојала само на јапанском. „Мац“ је тек крајем миленијума кренуо са активностима популаризације тог програмског језика и изван Јапана. Веома брзо је прихваћен и убрзо затим су објављени многобројни чланци у стручним часописима као и документација на другим језицима.

Особине[уреди]

  • Једноставна и читљива синтакса
  • „Чисто“ објектно оријентисани језик (слично Smalltalkу)
    • „Све“ је објект
    • Наслеђивање од модула, умјесто вишеструког наслеђивања
    • Уникатне методе (Singleton)
    • Динамична промјена имена и надоградња класа приликом извршења програма
    • Итератори
    • Преписивање оператора
    • Интроспекција (Reflection)
  • Нетипизоване варијабле
  • Обрада изузетака
  • аутоматско ослобађање непотребно заузете меморије (garbage collection)
  • подршка Перлових регуларних израза (још непотпуна)
  • подршка на више оперативних система
  • јединствен интерфејс за приступ базама података
  • аутоматска документација (слично javadoc)
  • могућност и функционалног и процедуралног програмирања
  • либерална лиценца (ГНУ или по жељи)

Руби је потпуно објектно оријентисан. Све променљиве су објекти, што важи, за разлику од Џаве (java), и за примитивне типове.

Примери[уреди]

Класични „Поздрав Свету":

puts "Hello World!"

Литература[уреди]

Спољашње везе[уреди]