Nie bede sie rozpisywal, przeczytajcie sami o tym jak MagLev rozkolysze swiatem Rubiego w najblizszym czasie (po RailsConf).
http://drewblas.com/2008/05/31/railsconf-2008-surprise-of-the-day-maglev/
Generalnie sporo szumu zrobili goście :). Mam nadzieję, że wersja darmowa będzie w miarę użyteczna dla przeciętnego programisty. Jakby nie było jest się z czego cieszyć. To co się dzieje wokół Rubiego przechodzi moje oczekiwania :).
[quote=piachoo]A tu trochę mniej optymistycznie:
http://headius.blogspot.com/2008/06/maglev.html[/quote]
Wiadomo, to w koncu konkurencyjny, komercyjny produkt w stosunku do JRuby.
Z tego co wyczytalem u Avi’ego Bryant’a Gemstone to taki full stack app server + object storage/cache + VM
Pozyjemy, zobaczymy, IMHO zdrowa konkurencja wyjdzie Rubiemu na dobre w dlugim okresie.
Nie mogę się doczekać okazji do wypróbowania od kiedy przeczytałem o tym u Obiego Fernandeza
Headius dobrze pisze, ale sam czasem używa pewnych chwytów. Przykładowo w kilku wypowiedziach podawał że railsy odpalone na jrubym są szybsze niż na mri. A ja mówię, że to jest dalekie od prawdy :). Panowie od MagLev zrobili szum (co widać po różnych wpisach na blogach), ale nie wydaje mi się, że gdyby nie byli pewni sukcesu to by go robili. Jakby nie było my jako końcowi użytkownicy tych implementacji nie mamy na co narzekać. To tylko zdrowa konkurencja. Popatrzmy na inne języki. Perl i PHP mają jedną słuszną implementację. Python ma zdaje się kilka, ale chyba nie ma aż takiej konkurencji wśród implementacji.
No dobrze, reklama, póki co chodzi o rozgłos. Ale uważasz, że jeśli MagLev okaże się klapą (np. wydajność po dojściu do pełnej zgodności znacząco spadnie) to my programiści się nie kapniemy, że coś nie tak? Tym bardziej, że to produkt w sporej mierze komercyjny to raczej muszą mieć coś extra, żeby ludzie za to zapłacili (lepsza wydajność, skalowalność). Przeczytaj sobie komentarz Dr. Nica na blogu headiusa (ten wpis co wkleiłeś). Ja się z tym zupełnie zgadzam. Przecież JRuby i Rubinius bardzo podobnie zaczynali (od wielkiego WOW). Owszem, podejście mimo wszystko mięli trochę inne (wpierw zgodność, potem wydajność), ale buzz robili i robią nadal. Zrobienie buzzu bez późniejszego realnego produktu nic nie da więc nie ma się co martwić, że ktoś nas chce zrobić w bambuko ;-).
Pożyjemy zobaczymy. Niestety chyba trochę zgredzieje na starość i staje się niedowiarkiem Po prostu to brzmi tak dobrze, że aż podejrzanie.
Jak dla mnie też jest to podejrzanie dobre, przy czym nie żeby życzył źle, ale roziwązania oparte o gemstone są też dla innych języków i nie zdobyły z tego co wiem wielkiej popularności.
Bardzo krytyczny głos w temacie:
http://fukamachi.org/wp/2008/06/02/maglev-and-the-naiivety-of-the-rails-community/
Koleś ma sporo racji
A ja myślę, że gościu źle odbiera całe to WOW. Przede wszystkim nie należy MagLev traktować jako zbawienie na całe zło. Nawet jeśli będzie faktycznie taki szybki to i tak nie przeskoczy choćby faktu, że nie odpali tych bibliotek które korzystają z kodu natywnego (extensions). W jednym z wpisów, które przytoczyłem wcześniej autor napisał bardzo mądre słowa: w tym wszystkim chodzi o rozbudowę ekosystemu. Mamy klasyczne MRI (YARV), JRuby (pozwalające na integrację z ekosystemem Javy), IronRuby (to samo ale .NET, lepsza integracja z windows), Rubinius (szczytny cel, jak najwięcej kodu w rubym). MagLev może być ciekawym uzupełnieniem. Możliwość integracji z kodem Smalltalka + rozproszona obiektowa baza danych wbudowana w interpreter. I to coś co już istnieje, napisane w SmallTalku ( http://www.avibryant.com/2008/03/ive-had-a-numbe.html ). Co do wydajności. Oczywiście można powątpiewać, tym bardziej że inni próbują i nie mają tak dobrych tezultatów. To fakt. Ale trzeba wziąć pod uwagę, co podkreśla Avi Bryant, że prace opierają na implementacji SmallTalka, która ma zdaje się koło 30 lat. Zatem masę problemów w kwestii wydajnej implementacji zostało już dawno rozwiązanych. Pewnym dowodem na to mogą być benchmarki z http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=vw&lang2=yarv . Zauważcie, że są tam dostępne 3 implementacje SmallTalka i ta którą podałem dosyć nieźle odbiega od reszty. Wniosek? Na pewno są możliwe tak spore różnice w implementacji. Nie raz czytałem, że Ruby pod względem swojej dynamiki jest bardzo podobny do SmallTalka (niestety nie miałem styczności z nim zbytnio więc wierzę na słowo) i implementatorzy muszą zmierzyć się z bardzo podobnymi problemami.
Podsumowując: nie ma co narzekać. Kolejna opcja poszerzająca ekosystem Rubiego to tylko plus.
Ja mam mieszane uczucia.
Z jednej strony to wszystko brzmi obiecująco. Projekt jest komercyjny co na pewno w pewnym stopniu pomaga w jego rozwijaniu - po zatrudnieniu programistów JRuby w Sun prace nabrały tempa, teraz podobna sytuacja jest z Rubiniusem za sprawą EngineYard. Wiele lat doświadczenia ze SmallTalkiem też na pewno daje pewne nadzieje.
Z drugiej strony Avi Bryant sam napisał u siebie na blogu “gdyby tylko dało się na tym odpalić rubiego…”. Na razie, kiedy zostały zaprezentowane tylko wyniki jakichś mikrobenchmarków i pokazówka z dzieloną pamięcią dla 2 wirtualnych maszyn nie ma tak naprawdę czym się zachwycać.
Nie wiadomo też jak będzie wyglądała licencja i jakie będą ceny…
Będę śledził wiadomości o MagLev, ale na razie bez entuzjazmu