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]
Web 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 web 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 February 2011). Introduction to Fancy. Rubinius blog. pristupljeno 2011-07-21
  5. Bini, Ola. Ioke. Ioke.org. pristupljeno 2011-07-21 “inspired by Io, Smalltalk, Lisp and Ruby”
  6. Burks, Tim. About Nu™. Programming Nu™. Neon Design Technology, Inc.. pristupljeno 2011-07-21
  7. Lattner, Chris (2014-06-03). Chris Lattner's Homepage. Chris Lattner. pristupljeno 2014-06-03 “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]