Ruby (programski jezik)

Izvor: Wikipedija
Skoči na: orijentacija, traži
Disambig.svg Za druga značenja, pogledajte Ruby.
Ruby
Ruby logo.svg
Paradigma: više paradigmi: objektno orijentirani, imperativni, funkcijski, refleksivni
Pojavio se: 1995.
Dizajnirao: Jukihiro Macumoto
Razvijatelj: Jukihiro Macumoto, et al.
Posljednje izdanje: 2.1.2 / 9.5.2014.
Disciplina tipiziranja: dinamičko
Glavne implementacije: Ruby MRI, YARV, Rubinius, MagLev, JRuby, MacRuby, RubyMotion, HotRuby, IronRuby, Mruby
Pod utjecajem: Ada,[1] C++,[1] CLU,[2] Dylan,[2] Eiffel,[1] Lua, Lisp,[2] Perl,[2] Python,[2] Smalltalk[2]
Utjecao na: Clojure, D,[3] Elixir, Falcon, Fancy,[4] Groovy, Ioke,[5] Mirah, Nu,[6] potion, Reia, Swift[7]
OS: Višeplatformski
Licencija: Ruby licenca ili BSD licenca[8][9]
Internetska stranica: http://www.ruby-lang.org/

Ruby je dinamički, objektno orijentirani programski jezik koji kombinira sintaksu inspiriranu Perlom s nekim osobinama Smalltalka. Nastao je u Japanu 90-ih (tvorac Yukihiro Matsumoto), ali izvan Japana postaje popularniji tek u 2000.-oj s pojavom knjige na engleskom jeziku, "Programming Ruby".

Opis[uredi VE | uredi]

Ruby je višeplatformski jezik opće namjene i otvorenog koda. Popularne primjene jezika uključuju sistemsku administraciju i izradu internetskih aplikacija, ali od 2006-e programeri polako nalaze i neke netipične primjene kao stvaranje elektroničke glazbe [10], programiranje analognog hardwarea [11] i stvaranje računalnih igara [12]. Glavna implementacija Rubya je u C-u, a druge implementacije nalazimo u Javi (JRuby), Microsoftovoj .NET platformi (IronRuby) te Objective-C (MacRuby). Zbog kvalitete implementacije MacRubyja, ona počinje biti snažna alternativa za stvaranje desktop aplikacija za Mac OS X operativni sustav.

Ruby je daleko najviše populariziran 2005.-e dolaskom Ruby on Rails frameworka za web aplikacije. Zbog toga što se u nekim zajednicama Ruby koristi gotovo isključivo za Rails programiranje, ponekad je lako protumačiti da su ta dva pojma sinonimi. To nije točno; treba razumijeti da je "Ruby on Rails" samo programska podrška napisana u Ruby programskom jeziku.

Primjeri sintakse Rubyja[uredi VE | uredi]

Tipični "hello world" program:

 puts "Hello world!"

Stvaranje i poziv funkcije:

 def hello(name)
  puts "Hello #{name}"
 end
 
 hello("world")

Definicija klase:

 class Person
   # constructor method
   def initialize(name)
     @name = name
   end
   
   def say(text)
     puts "#{@name} says: " + text
   end
 end
 
 # usage:
 frank = Person.new("Frank")
 frank.say("Hello everyone")
 
 # output:
 # => Frank says: Hello everyone

Izvori[uredi VE | uredi]

  1. 1,0 1,1 1,2 Cooper, Peter (2009). Beginning Ruby: From Novice to Professional, 2nd, Berkeley: APress “To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby.” ISBN 1-4302-2363-4
  2. 2,0 2,1 2,2 2,3 2,4 2,5 Bini, Ola (2007). Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java, Berkeley: APress “It draws primarily on features from Perl, Smalltalk, Python, Lisp, Dylan, and CLU.” ISBN 1-59059-881-4
  3. Intro – D Programming Language 1.0 – Digital Mars
  4. Bertels, Christopher (23. veljače 2011.). Introduction to Fancy. Rubinius blog. pristupljeno 21. srpnja 2011.
  5. Bini, Ola. Ioke. Ioke.org. pristupljeno 21. srpnja 2011. “inspired by Io, Smalltalk, Lisp and Ruby”
  6. Burks, Tim. About Nu™. Programming Nu™. Neon Design Technology, Inc.. pristupljeno 21. srpnja 2011.
  7. Lattner, Chris (3. lipnja 2014.). Chris Lattner's Homepage. Chris Lattner. pristupljeno 3. lipnja 2014. “The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.”
  8. COPYING in Ruby official source repository
  9. BSDL in Ruby official source repository
  10. Archaeopteryx
  11. Arduino
  12. Gosu

Vanjske poveznice[uredi VE | uredi]