Ruby (programski jezik)
- PREUSMJERI Predložak:Drugo značenje2
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
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
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
- ↑ 1,0 1,1 1,2 Cooper, Peter (2009). Beginning Ruby: From Novice to Professional. Beginning from Novice to Professional (2nd ed.). Berkeley: APress. str. 101. ISBN 1-4302-2363-4. "To a lesser extent, Python, LISP, Eiffel, Ada, and C++ have also influenced Ruby."
- ↑ 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. str. 3. ISBN 1-59059-881-4. "It draws primarily on features from Perl, Smalltalk, Python, Lisp, Dylan, and CLU."
- ↑ Intro – D Programming Language 1.0 – Digital Mars
- ↑ Bertels, Christopher (23. veljače 2011.). "Introduction to Fancy". Rubinius blog. http://rubini.us/2011/02/23/introduction-to-fancy/ Pristupljeno 21. srpnja 2011.
- ↑ Bini, Ola. "Ioke". Ioke.org. http://ioke.org/ Pristupljeno 21. srpnja 2011.. "inspired by Io, Smalltalk, Lisp and Ruby"
- ↑ Burks, Tim. "About Nu™". Programming Nu™. Neon Design Technology, Inc.. http://programming.nu/about Pristupljeno 21. srpnja 2011.
- ↑ Lattner, Chris (3. lipnja 2014.). "Chris Lattner's Homepage". Chris Lattner. http://nondot.org/sabre/ 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."
- ↑ COPYING in Ruby official source repository
- ↑ BSDL in Ruby official source repository
- ↑ Archaeopteryx
- ↑ Arduino
- ↑ Gosu