Dzisiaj jest 18 maja 2025 r.
Chcę dodać własny artykuł
Reklama

Ruby (język programowania)

Chcę dodać własny artykuł

Ruby: Wprowadzenie

Ruby to interpretowany, obiektowy i dynamicznie typowany język programowania stworzony przez Yukihiro Matsumoto w 1995 roku. Jego składnia jest inspirowana takimi językami jak CLU, Eiffel, Lisp, Perl, Python i Smalltalk.

Rozwój języka

Pierwsza wersja Ruby, 0.95, została wydana 21 grudnia 1995 roku. Od tego czasu język przeszedł wiele aktualizacji:

  • Ruby 1.0: 25 grudnia 1996
  • Ruby 1.2: grudzień 1998
  • Ruby 1.4: sierpień 1999
  • Ruby 1.6: wrzesień 2000

W 2000 roku Ruby zyskał popularność w Japonii, a w 2003 roku przyczynił się do tego framework Ruby on Rails. Kolejne wersje, takie jak Ruby 2.0 w 2013 roku i Ruby 3.0 w 2020 roku, wprowadzały znaczące usprawnienia, w tym zwiększenie wydajności oraz nowe modele współbieżności.

Cechy Ruby

  • Automatyczne odśmiecanie pamięci, wprowadzone w wersji 2.1.
  • Wszystko w Ruby jest obiektem, co eliminuje podział na prymitywy i obiekty.
  • Możliwość nadpisywania metod w klasach singleton.
  • Wysoka przenośność między platformami.
  • Interaktywny REPL dostępny poprzez IRB.

Składnia

Składnia Ruby jest podobna do Perl i Python. Definicje klas sygnalizowane są przez słowa kluczowe, a bloki kodu mogą być definiowane na różne sposoby. W Ruby zmienne instancji są zawsze prywatne i dostępne za pomocą metod dostępowych.

Licencja i implementacje

Ruby jest dostępny jako otwarte oprogramowanie na licencji GPL i innych. Główna implementacja Ruby, znana jako CRuby lub MRI, jest napisana w C. Istnieją również inne implementacje, takie jak:

  • JRuby – działający na Wirtualnej Maszynie Javy.
  • TruffleRuby – skoncentrowany na wydajności, oparty na GraalVM.

Nierozwijane implementacje

  • MagLev – skoncentrowany na wydajności, ale obecnie nierozwijany.
  • Rubinius – interpreter, którego celem jest napisanie jak największej części w Ruby, bez GIL.

Ruby, dzięki swojej elastyczności i bogatym funkcjom, pozostaje jednym z popularniejszych języków programowania, szczególnie w kontekście tworzenia aplikacji internetowych.