🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.ruby
Article #1123

Re: HotRuby - ruby w przeglądarce.

#1123
From: Marcin Mielżyński
Date: Sun, 10 Aug 2008 13:10
59 lines
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-mail
References: <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