Ruby

Från Rilpedia

Hoppa till: navigering, sök
Wikipedia_letter_w.pngTexten från svenska WikipediaWikipedialogo_12pt.gif
rpsv.header.diskuteraikon2.gif

Den här artikeln handlar om programspråket Ruby, för information om det typografiska HTML-tillägget, se Ruby (tecken)

Ruby är ett fritt generellt programspråk utvecklat i Japan av Yukihiro "matz" Matsumoto i mitten av 1990-talet. Det är ett tolkat skriptspråk, vilket innebär att koden tolkas direkt vid exekveringen och inte kompileras. Ruby är ett rent objektorienterat programspråk, skapat för att vara så intuitivt som möjligt enligt "principle of least surprise" (ungefärligt översatt principen om minsta möjliga överraskning).

Innehåll

Historia

Matsumoto började utveckla Ruby under tidiga 1993 men släppte det inte officiellt förrän 1995. Han försökte utveckla ett nytt språk som var menat att vara enkelt att förstå för både vana och ovana programmerare. Han skrev en gång att "Ruby ser simpelt ut, men är väldigt komplext på insidan, precis som våra mänskliga kroppar." [1] (Fritt översatt.) Idag är Ruby bland de tio mest populära programspråken i världen, enligt TIOBE Software, och utklassar andra välkända språk som exempelvis Delphi, D, Lisp och Objective-C. [2]

Egenskaper

Ruby har varit välkänt som programspråk i Japan i flera år, vilket har lett till att de flesta delarna av språket är skrivna av just japaner. Först på senare tid har engelskspråkig dokumentation tagits fram, vilket medfört att även resten av världen har kunnat ta del av språket. Rubys användarkrets utanför Japan är relativt liten, men hängiven, men språkets popularitet växer snabbt.

Ruby kan användas på de flesta plattformar, såsom Windows, Unix och GNU/Linux. Det finns förinstallerat i en del versioner av Mac OS X, följer med Cygwin och används även av Watir.

Ruby är skalbart och kan användas till både korta skript samt utveckling av större applikationer. Det är ett utmärkt språk för systemadministration tack vare möjligheter till API-anrop på låg nivå, men passar lika bra för exempelvis webbapplikationer via inbäddning och CGI. Det räknas genom sina egenskaper till de agila programspråken.

Ruby konkurrerar med framför allt Perl och Python; språk som Matsumoto tog inspiration från när han sökte efter en optimal syntax för Ruby. På senare tid har Ruby uppmärksammats genom MVC-webbramverket Ruby on Rails. De mer etablerade webbapplikationsspråken PHP och ASP har på så sätt fått en ny konkurrent. Utvecklargruppen kring Python har även tagit fram ramverken Django och Turbogears, som båda bygger på samma principer som Ruby on Rails. Ruby on Rails hanterar kopplingen till databaser på ett ovanligt smidigt och enkelt sätt.

Programexempel

Ruby är objektorienterat och saknar primitiva datatyper. Till och med heltal är objekt. Kodexemplet nedan visar två olika sätt på vilka man kan skriva ut texten "Hej världen" tio gånger i följd.

  10.times { puts 'Hej världen' }
  puts 'Hej världen' * 10

Heltal kan vara hur stora som helst i Ruby, till skillnad från många andra språk, som C och Java, tack vare att det stöder bignum-aritmetik. Kodexemplet nedan skriver ut texten "Hej världen" 238472058502835 gånger.

  238472058502835.times { print "Hej världen." }

Kodexemplet nedan söker igenom textfilen "hej.txt" efter raden där det står "john doe" och skriver ut den.

  File.open("hej.txt","r").each do |line|
    puts line if (line.chomp == "john doe")
  end

Litteratur

  • Matsumoto (2007), Ruby in a Nutshell, 2nd ed., O'Reilly.
  • Carlson & Richardson (2006), The Ruby Cook Book, O'Reilly.
  • Fulton (2006), The Ruby Way (2nd ed), SAMS.
  • Thomas, Hansson (2005), Agile Web Development with Rails, The Pragmatic Programmers
  • Thomas, Fowler & Hunt (2004), Programming Ruby (2nd ed), Addison-Wesley.

Noter

  1. http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/2773
  2. http://www.tiobe.com/tpci.htm

Externa länkar


Guider

Personliga verktyg