Opublikowane przez Jarosław Zabiełło
Sat, 21 Nov 2009 03:43:00 GMT
Gdy ok 1.5 roku pisałem o szumie i nadziejach związanych z MagLev’em, trudno było przewidzieć ile czasu zajmie dostosowanie wirtualnej maszyny Smalltalka do pracy z kodem bajtowym Ruby’ego. Dziś (właściwie to jakieś 2 godziny temu) oficjalnie ogłoszono że jest dostępna publicznie pierwsza wersja alpha. Z tego, co podaje dokumentacja, to Maglev jeszcze nie działa tam gdzie są wymagane rozszerzenia w C, ale w przykładach widać, że działa Sinatra, Rack, RubyGems czy interaktywna konsola. Najciekawsza jest transakcyjna, przezroczysta pamięć stała MagLev’a, bo to zupełnie zmienia styl myślenia i pracy z danymi. Może będzie można w końcu zapomnieć o przestarzałych ORM’ach i RDBMS? (technologia baz relacyjnych pochodzi z lat 70-tych, jest wolna i przestarzała).
Ruby everywhere – czyli najważniejsze implementacje Ruby’ego:
- Ruby 1.8 MRI – implementacja w języku C (najstarsza)
- Ruby Enterprise Edition – implementacja w C, mniejsze zużycie pamięci, używana głównie z Passengerem
- Ruby 1.9 – implementacja w języku C, używa wirtualnej maszyny YARV
- JRuby – implementacja w języku Java, wirtualna maszyna Javy (JVM)
- IronRuby – implementacja w języku C# (środowisko .NET)
- Maglev – implementacja w języku Smalltalk, wirtualna maszyna Smalltalka (Gemstone)
- MacRuby – implementacja w języku Objective-C dla systemu Mac OS-X
- Rubinius – implementacja Ruby w… Ruby (z loaderem w C++)
- BlueRuby – Ruby działający w SAP Web Application Server (ABAP Virtual Machine)
Zobacz też State of Ruby VMs: Ruby Renaissance
Tagi gemstone, jruby, maglev, ruby, smalltalk | 9 comments
Opublikowane przez Jarosław Zabiełło
Tue, 17 Mar 2009 03:09:00 GMT
Po początkowym szumie wokół Magleva, sprawa na jakiś czas przycichła i wiele osób powątpiewało czy jego twórcom uda się spełnić to co zapowiadali. Gdyby im się udało, Ruby uzyskałby fantastyczną platformę. Dojrzałą i szybką (rozwijana od ponad 20 lat i sprawdzoną w zastosowaniach komercyjnych) wirtualną maszynę Smalltalka z wbudowanym mechanizmem wydajnej, przezroczystej, transakcyjnej persistent memory (nie wiem jak to oddać po polsku, a każdym razie rozwiązanie wygodniejsze nawet od obiektowej bazy danych, coś w stylu javowej Terracoty). Aktualnie kod Maglev’a jest cały czas w fazie alpha, ale na drugi kwartał roku 2009 zapowiada jest już wersja beta. To, co cieszy to rosnąca, coraz większa zgodność Maglev’a z Ruby Specs.
Tagi maglev, ruby | 5 comments
Opublikowane przez Jarosław Zabiełło
Sat, 14 Jun 2008 17:11:00 GMT
Gemstone to komercyjna, rozwijana od ponad 20 lat, bardzo szybka maszyna wirtualna dla języka Smalltalk. Jest używana od lat w zastosowaniach biznesowych, m.in. w instytucjach finansowych. W odróżnieniu od innych Gemstone to coś więcej niż tylko maszyna wirtualna. Gemstone posiada wbudowany mechanizm bardzo wydajnego, transakcyjnego zapisu obiektów, chodzi to obsługę obiektów rzędu setek i tysięcy miliardów (lub informacji o wielkości 17 petabajtów). MagLev to smalltalkowy GemStone S64 VM z dodanym bytecodem pozwalającym na uruchamianie Rubiego. W różnych benchmarkach MagLev jest szybszy od Rubiego MRI od 7 do ponad 100 razy i osiąga szybkość zbliżoną do czystego C. Dodatkowo daje przezroczysty, wydajny zapis obiektów Rubiego w sposób znacznie wygodniejszy od tego co oferują relacyjne bazy danych. Czyżby wkrótce można było pokusić się o napisanie odpowiednika Zope w Rubim pracującym pod wydajną, wirtualną maszyną Smalltalka?
Czytaj dalej...
Tagi gemstone, maglev, rails, ruby, smalltalk, vm | 6 comments