Introducció
Ruby és un llenguatge de programació dinàmic, reflexiu i orientat a objectes, creat per Yukihiro "Matz" Matsumoto a mitjans dels anys 90. És conegut per la seva simplicitat i elegància, així com per la seva filosofia de disseny que prioritza la felicitat del programador i la productivitat.
Característiques Clau de Ruby
- Orientat a Objectes: Tot en Ruby és un objecte, incloent-hi els tipus de dades primitius com els números i les cadenes de text.
- Sintaxi Clara i Concisa: Ruby té una sintaxi que és fàcil de llegir i escriure, la qual cosa el fa accessible tant per a principiants com per a programadors experimentats.
- Dinamisme: Ruby és un llenguatge dinàmic, el que significa que moltes de les seves decisions es prenen en temps d'execució.
- Reflexió: Ruby permet inspeccionar i modificar el seu propi codi durant l'execució.
- Garbage Collection: Ruby gestiona automàticament la memòria, alliberant espai que ja no és necessari.
- Gran Comunitat i Ecosistema: Ruby té una comunitat activa i un gran nombre de biblioteques i gemmes (paquets de codi reutilitzable) que faciliten el desenvolupament de projectes.
Filosofia de Disseny
La filosofia de Ruby es pot resumir en els següents punts:
- Principi de la Mínima Sorpresa: El llenguatge està dissenyat per comportar-se de la manera que els programadors esperen, minimitzant les sorpreses.
- Productivitat i Felicitat del Programador: Ruby està dissenyat per ser un llenguatge agradable i productiu per als programadors.
- Flexibilitat: Ruby permet als programadors modificar i estendre el llenguatge segons les seves necessitats.
Història de Ruby
- 1993: Yukihiro Matsumoto comença a treballar en Ruby.
- 1995: La primera versió pública de Ruby és llançada.
- 2003: Ruby 1.8 és llançat, introduint moltes millores i establint-se com una versió popular.
- 2007: Ruby 1.9 és llançat, amb millores significatives en el rendiment i noves característiques.
- 2013: Ruby 2.0 és llançat, continuant amb millores en el rendiment i la funcionalitat.
- Actualitat: Ruby continua evolucionant amb versions regulars que introdueixen noves característiques i millores.
Exemples de Codi
A continuació, es mostra un exemple senzill de codi en Ruby per il·lustrar la seva sintaxi clara i concisa:
# Definició d'una classe en Ruby class Salutacio def initialize(nom) @nom = nom end def dir_hola puts "Hola, #{@nom}!" end end # Creació d'un objecte de la classe Salutacio salutacio = Salutacio.new("Món") salutacio.dir_hola # Sortida: Hola, Món!
Exercici Pràctic
Exercici 1:
- Crea una classe anomenada
Persona
amb un mètodeinitialize
que accepti un nom i una edat. - Afegeix un mètode
presentar
que imprimeixi una presentació de la persona, per exemple: "Hola, em dic Joan i tinc 30 anys."
Solució:
class Persona def initialize(nom, edat) @nom = nom @edat = edat end def presentar puts "Hola, em dic #{@nom} i tinc #{@edat} anys." end end # Creació d'un objecte de la classe Persona persona = Persona.new("Joan", 30) persona.presentar # Sortida: Hola, em dic Joan i tinc 30 anys.
Conclusió
Ruby és un llenguatge de programació potent i flexible que prioritza la simplicitat i la felicitat del programador. Amb una sintaxi clara i una comunitat activa, és una excel·lent opció tant per a principiants com per a desenvolupadors experimentats. En els següents mòduls, explorarem com configurar l'entorn de desenvolupament i començarem a escriure els nostres primers programes en Ruby.
Curs de Programació en Ruby
Mòdul 1: Introducció a Ruby
Mòdul 2: Conceptes Bàsics de Ruby
Mòdul 3: Treballant amb Col·leccions
Mòdul 4: Programació Orientada a Objectes en Ruby
- Classes i Objectes
- Variables i Mètodes d'Instància
- Variables i Mètodes de Classe
- Herència
- Mòduls i Mixins
Mòdul 5: Conceptes Avançats de Ruby
- Blocs, Procs i Lambdas
- Metaprogramació
- Gestió d'Excepcions
- Entrada/Sortida de Fitxers
- Expressions Regulars
Mòdul 6: Introducció a Ruby on Rails
- Què és Ruby on Rails?
- Configuració de l'Entorn Rails
- Creació d'una Aplicació Simple en Rails
- Arquitectura MVC
- Rutes
Mòdul 7: Proves en Ruby
- Introducció a les Proves
- Proves Unitàries amb Minitest
- Desenvolupament Basat en Comportament amb RSpec
- Mocking i Stubbing
Mòdul 8: Millors Pràctiques en Ruby
- Estil de Codi i Convencions
- Refactorització
- Optimització del Rendiment
- Millors Pràctiques de Seguretat