Ruby är unik bland objektorienterade skriptspråk. På ett sätt är det ett puristspråk för dem som älskar objektorienterade språk. Allt är utan undantag automatiskt ett objekt, medan detta på andra programmeringsspråk inte är sant.
Vad är ett objekt? Tja, på ett sätt kan du tänka på det när det gäller att bygga en bil. Om du har en plan för det, så är ett objekt det som bygger på den planen. Den innehåller alla attribut som objektet har (dvs märke, modell, färg) och de åtgärder som det kan utföra. Men även som ett rent objektorienterat språk offrar Ruby inte någon användbarhet eller flexibilitet genom att utelämna funktioner som inte uttryckligen är relaterade till objektorienterad programmering.
Rubys arkitekt Yukihiro Matsumoto (känd helt enkelt som "Matz" på webben) utformade språket för att vara enkelt nog för att börja programmerare att använda medan det också är tillräckligt kraftigt för erfarna programmerare att ha alla verktyg de skulle behöva. Det låter motsägelsefullt, men denna dikotomi är skyldig Rubys rena objektorienterade design och Matz noggranna urval av funktioner från andra språk som Perl, Smalltalk och Lisp.
Det finns bibliotek för att bygga alla typer av applikationer med Ruby: XML-parsers, GUI-bindningar, nätverksprotokoll, spelbibliotek och mer. Ruby-programmerare har också tillgång till det kraftfulla RubyGems-programmet. Jämfört med Perls CPAN gör RubyGems det enkelt att importera andra programmerares bibliotek till dina egna program.
Som alla programmeringsspråk har Ruby sina nackdelar. Det är inte ett högpresterande programmeringsspråk. I detta avseende har Pythons virtuella maskindesign en enorm fördel. Om du inte är en fan av den objektorienterade metodiken är Ruby inte för dig.
Även om Ruby har vissa funktioner som faller utanför området för objektorienterade språk, är det inte möjligt att skapa ett icke-trivialt Ruby-program utan att använda de objektorienterade funktionerna. Ruby fungerar inte alltid lika bra som andra liknande skriptspråk i råa datoruppgifter. Med det sagt kommer framtida versioner att ta itu med dessa problem och alternativa implementeringar, till exempel JRuby, är tillgängliga som en lösning för dessa problem.
Ruby används i typiska applikationer för skriptspråk som textbearbetning och "lim" eller mellanprogram. Det är lämpligt för små ad-hoc-skriptuppgifter som tidigare kan ha lösts med Perl. Att skriva små program med Ruby är lika enkelt som att importera de moduler du behöver och skriva en nästan BASIC-liknande "sekvens av händelser" -typ.
Liksom Perl har Ruby också förstklassiga reguljära uttryck, vilket gör att textbearbetningsskript är ett ögonblick att skriva. Den flexibla syntaxen hjälper också till i små skript. Med vissa objektorienterade språk kan du fastna med ord och skrymmande kod, men Ruby lämnar dig fri att helt enkelt oroa dig för ditt skript.
Ruby är också lämplig för större mjukvarusystem. Den mest framgångsrika applikationen är i Ruby on Rails webbram, mjukvara som har fem stora delsystem, många mindre bitar och en mängd supportskript, databasbackend och bibliotek.
För att underlätta skapandet av större system erbjuder Ruby flera lager av fack, inklusive klassen och modulen. Bristen på överflödiga funktioner gör det möjligt för programmerare att skriva och använda stora programvarusystem utan överraskningar.