Article View: pl.comp.lang.ruby
Article #1123Re: HotRuby - ruby w przeglądarce.
From: Marcin Mielżyński
Date: Sun, 10 Aug 2008 13:10
Date: Sun, 10 Aug 2008 13:10
59 lines
2942 bytes
2942 bytes
Jan Słupicki pisze:
> Link: http://hotruby.yukoba.jp/
>
> Jest kilka projektów implementacji Ruby jako języka skryptowego
> zastępującego JavaScript w stronach HTML ale ten wygląda najbardziej
> sensownie. Gościu wpadł na pomysł używania YARV-a do kompilacji skryptu
> a w JavaScripcie napisał maszynę wirtualną. Czyli kod Ruby jest wysyłany
> na serwer gdzie jest dosłownie kilkuwierszowy skrypt który kompiluje
> kod a potem odsyła go w formacie JSON - sprytne.
> Największym zaskoczeniem dla mnie była prędkość wykonania. Okazuje się
> że VM w JavaScripcie bije na głowę Ruby 1.9 ! (przynajmniej na Firefoxie
> 3). Autorzy FF 3 zrobili tu naprawdę świetną robotę - dla porównania
> puściłem benchmarka na IE 7 i był ponad 50 razy wolniejszy !.
Projekt ma już z pół roku i jestem ciekaw jak pociągnęli kompatybilność
- podobnie xruby bił wszystkich na głowę, tylko że miał tyle
optymalizacji wprowadzających niekompatybilności w rubym, że w zasadzie
nie można go było nazwać implementacją rubiego, ze względu na chociażby:
# pilnowanie widzialności czy obecności metody na każdym callsite
10.times do |i|
Fixnum.instance_eval{private :+}
i + i rescue begin
Fixnum.instance_eval{public :+}
puts i
break
end
end
# brak możliwości implementacji jakichkolwiek optymalizacji domknięć i
bindingów
def foo
a = 1
binding
end
puts eval "a", foo
# wszechobecny protokół duck-typing
o = Object.new; def o.to_str;"foo";end
puts "blah" + o
i wiele innych...
>
> W tej chwili HotRuby to tylko zabawka i "proof of concept" bo
> ma bardzo ograniczoną implementację biblioteki standardowej. Jednak
> jest to bardzo ciekawa zabawka.
>
> Zastanawiam się do czego to się może przydać ?
>
podobnie: http://www.ruby-php.org/
W przyszłości inną alternatywą dla rubiego w przeglądarkach może być
ironruby/dlr/silverlight czy jruby/consumer jre (w odpowiedzi na ciężkie
applety)
lopex
Technical Details
Message-ID:
<g7mpbo$d5v$1@news.onet.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mailReferences:
<g7ktqt$t3s$1@news.onet.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not-for-mail From: Marcin Mielżyński <lopx@gazeta.pl> Newsgroups: pl.comp.lang.ruby Subject: Re: HotRuby - ruby w przeglądarce. Date: Sun, 10 Aug 2008 15:10:13 +0200 Organization: Onet.pl Lines: 59 Message-ID: <g7mpbo$d5v$1@news.onet.pl> References: <g7ktqt$t3s$1@news.onet.pl> NNTP-Posting-Host: chello089076107159.chello.pl Mime-Version: 1.0 X-Trace: news.onet.pl 1218373816 13503 89.76.107.159 (10 Aug 2008 13:10:16 GMT) X-Complaints-To: usenet@news.onet.pl NNTP-Posting-Date: Sun, 10 Aug 2008 13:10:16 +0000 (UTC) X-Sender: 5Da2qcG7AWj7WISFX859Php/OS6q4VnB In-Reply-To: <g7ktqt$t3s$1@news.onet.pl> User-Agent: Thunderbird 2.0.0.16 (Windows/20080708) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit