Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Martin Kuba

Petr Fischer wrote:
To uz davno byt nemusi, ale ja se spis zhrozil. Priznam se, ze jsem to API 
nikdy nevidel, ale to 
ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
mne pekne vydesilo. To pri kazdem volani skriptu instanciuji novy 
ScriptEngineManager? To je prece humus, ne? Kdys jsem tu slysel o scripting 
API, chtel jsem se na nej podivat, jak to vlastne pracuje, ale tento jeden 
radek mne pekne znechutil a odradil.



Pokud dobre koukam a chapu tak engine si pomoci
ScriptEngineManager().getEngineByName(jruby) vytvorim jednou a pak uz
jenom volam eval, eval, eval na skripty retezce a beru a nastavuju si
hodnoty pomoci get/setBindings a musi to frcet ne?


Tak tak, ScriptEngine se pro dany skriptovaci jazyk vytvori jen jednou,
a pak ho volam opakovane.

ScriptEngineManager je pro vytvareni ruznych enginu, takze muzu v jednom
programu pouzivat najednou treba vsech 25 skriptovacich jazyku,
pro ktere v tomto okamziku existuje JSR-223 implementace, jmenovite
(vypis adresaru z  jsr223-engines.tar.gz)

beanshell
browserjs
ejs
freemarker
groovy
jacl
jaskell
java
jawk
jelly
jep
jexl
jruby
jst
judo
juel
jython
ognl
pnuts
scheme
sleep
velocity
xpath
xslt


Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--


smime.p7s
Description: S/MIME Cryptographic Signature


Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Pavel Kolesnikov

Je neco z uvedeneho seznamu kryci nazev pro implementaci PHP? Mam
dojem, ze zrovna PHP bylo jednou z motivaci pro JSR-223

Pavel

On 03/11/06, Martin Kuba [EMAIL PROTECTED] wrote:


ScriptEngineManager je pro vytvareni ruznych enginu, takze muzu v jednom
programu pouzivat najednou treba vsech 25 skriptovacich jazyku,
pro ktere v tomto okamziku existuje JSR-223 implementace, jmenovite
(vypis adresaru z  jsr223-engines.tar.gz)

beanshell
browserjs
ejs
freemarker
groovy
jacl
jaskell
java
jawk
jelly
jep
jexl
jruby
jst
judo
juel
jython
ognl
pnuts
scheme
sleep
velocity
xpath
xslt


Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--





Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Martin Kuba

Pavel Kolesnikov wrote:

Je neco z uvedeneho seznamu kryci nazev pro implementaci PHP? Mam
dojem, ze zrovna PHP bylo jednou z motivaci pro JSR-223


Z tohoto seznamu zadny. Dival jsem se do vsech README, jsou tam
zname jazyky JavaScript, Ruby, Python, Haskell, AWK, Tcl,
par (mne) neznamych jazyku Sleep, JudoScript,
par expression jazyku typu JSP EL, OGNL a podobne,
par sablonovacich jazyku jako Freemarker a Velocity,
a par divnosti typu matematickeho jazyku, spustitelneho XML a dynamicky 
kompilovane Javy.


Po PHP ani stopy. Ale Google nasel cosi o volani nativni
verze PHP pres JNI.

Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--


smime.p7s
Description: S/MIME Cryptographic Signature


Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Tomas Studva
To neviem, ale robim v Jave, aby som nemusel v PHP :). TU je ten zoznam 
https://scripting.dev.java.net/. Mna by zaujimalo, aky je dovod pre 
podporu tychto skriptovacich jazykov? Cital som nieco, ze na prototyping 
(to uznavam, moze byt fajn) a ze ked je tim , kde niektori radi robia v 
niecom inom(to je malichernost).

Ma niekto prakticke skusenosti , ze mu to chybalo?

S tou rychlostou to nemusi byt zle, ak sa to compiluje do bytekodu alebo 
do coho (napr. Kawa kompiluje Scheme a XQuery do Java tried)- mozno to 
nie je v jdk6 ale raz asi bude.


Tomas

Pavel Kolesnikov wrote:

Je neco z uvedeneho seznamu kryci nazev pro implementaci PHP? Mam
dojem, ze zrovna PHP bylo jednou z motivaci pro JSR-223

Pavel




Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Martin Kuba

Tomas Studva wrote:
To neviem, ale robim v Jave, aby som nemusel v PHP :). TU je ten zoznam 
https://scripting.dev.java.net/. Mna by zaujimalo, aky je dovod pre 
podporu tychto skriptovacich jazykov? Cital som nieco, ze na prototyping 
(to uznavam, moze byt fajn) a ze ked je tim , kde niektori radi robia v 
niecom inom(to je malichernost).

Ma niekto prakticke skusenosti , ze mu to chybalo?


Clovek vetsinou nevi, ze mu neco chybi, dokud to nedostane :-)
Pred vynalezem mobilu jsem taky nevedel, ze mi chybi mobil,
a napriklad tedka nevim, ze mi chybi fidibus na vejce, ktery
bude vynalezen az ve 22. stoleti :-)

Zatim se Ruby ucim, ale jedno prakticke vyuziti uz mam.
Schvalne, jak se v Jave ziska seznam vsech souboru v aktualnim
adresari koncicich priponou .rb ? No takhle:

String[] rb = new File(.).list(new FilenameFilter() { public boolean 
accept(File dir, String name) { return name.endsWith(.rb); } });


A jak to udelam s JRuby ? No takhle:

ListString rb = (ListString) 
jruby.eval(Dir.entries('.').grep(/.rb$/));


Par znaku jsem usetril :-)

Makub
--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--


smime.p7s
Description: S/MIME Cryptographic Signature


Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Tomas Studva

Martin Kuba wrote:

Tomas Studva wrote:
To neviem, ale robim v Jave, aby som nemusel v PHP :). TU je ten 
zoznam https://scripting.dev.java.net/. Mna by zaujimalo, aky je 
dovod pre podporu tychto skriptovacich jazykov? Cital som nieco, ze 
na prototyping (to uznavam, moze byt fajn) a ze ked je tim , kde 
niektori radi robia v niecom inom(to je malichernost).

Ma niekto prakticke skusenosti , ze mu to chybalo?


Clovek vetsinou nevi, ze mu neco chybi, dokud to nedostane :-)
Pred vynalezem mobilu jsem taky nevedel, ze mi chybi mobil,
a napriklad tedka nevim, ze mi chybi fidibus na vejce, ktery
bude vynalezen az ve 22. stoleti :-)


:-D

Zatim se Ruby ucim, ale jedno prakticke vyuziti uz mam.
Schvalne, jak se v Jave ziska seznam vsech souboru v aktualnim
adresari koncicich priponou .rb ? No takhle:

String[] rb = new File(.).list(new FilenameFilter() { public boolean 
accept(File dir, String name) { return name.endsWith(.rb); } });

Co je na tom skarede? Nic.


A jak to udelam s JRuby ? No takhle:

ListString rb = (ListString) 
jruby.eval(Dir.entries('.').grep(/.rb$/)); 
Par znaku jsem usetril :-) 
Podla mna je to uplne jedno, ci to napisem v jave alebo v JRuby. Ale 
nebudem splietat dva jazyky dokopy, koli inemu api. Ale narazate na 
rychlost kodenia, ano to je jasne plus pre prototyping. JRuby pochadza 
vyvojovo od Ruby, co je cisty objektovy jazyk a ma par peknych 
konstrukcii, ktore vyplyvaju z objektovaosti. Skoda, ze som este nemal 
cas sa na to blizsie pozret.

Tomas



Re: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Martin Bednář




Quercus is Caucho Technology's fast, open-source, 100% Java
implementation of the PHP language (requires JDK 1.5).
http://www.caucho.com/resin-3.0/quercus/

Martin Kuba napsal(a):
Pavel
Kolesnikov wrote:
  
  Je neco z uvedeneho seznamu kryci nazev pro
implementaci PHP? Mam

dojem, ze zrovna PHP bylo jednou z motivaci pro JSR-223

  
  
Z tohoto seznamu zadny. Dival jsem se do vsech README, jsou tam
  
zname jazyky _javascript_, Ruby, Python, Haskell, AWK, Tcl,
  
par (mne) neznamych jazyku Sleep, JudoScript,
  
par _expression_ jazyku typu JSP EL, OGNL a podobne,
  
par sablonovacich jazyku jako Freemarker a Velocity,
  
a par divnosti typu matematickeho jazyku, spustitelneho XML a dynamicky
kompilovane Javy.
  
  
Po PHP ani stopy. Ale Google nasel cosi o volani nativni
  
verze PHP pres JNI.
  
  
Makub
  






RE: scripting API v JDK 6 a JRuby

2006-11-03 Tema obsahu Podlesak Kamil

 Tomas Studva wrote:
 String[] rb = new File(.).list(new FilenameFilter() { 
 public boolean 
 accept(File dir, String name) { return name.endsWith(.rb); } });
 
 A jak to udelam s JRuby ? No takhle:
 
 ListString rb = (ListString) 
 jruby.eval(Dir.entries('.').grep(/.rb$/));

 Par znaku jsem usetril :-)

 Ale je tam chyba, nemela by byt tecka uvozena lomitkem? :-)

 Jinak scriptovaci jazyky myslim nejsou zas takove prekvapeni.
Groovy jsem pouzival uz pred vic nez rokem a je to hodne podobne 
Ruby (ale mnohem vic javove).

 
 Makub
 -- 
 ~~
 Supercomputing Center Brno Martin Kuba
 Institute of Computer Scienceemail: [EMAIL PROTECTED]
 Masaryk University http://www.ics.muni.cz/~makub/
 Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
 --
 

--
Kamil podlesh Podlesak


scripting API v JDK 6 a JRuby

2006-11-02 Tema obsahu Martin Kuba
Hraju si s novym scripting API v JDK 6.0 a mam potrebu se podelit o 
zazitky :-) Za skriptovaci jazyk jsem si zvolil JRuby.


Co mne prijde genialni je volne michani trid z Java a z Ruby.
Konkretne si muzu v Jave nadefinovat interface, v Ruby ho implementovat
jako Ruby tridu, a tu vratit zpatky do Javy:

--- MujJavaInterface.java ---
package cz.cesnet.meta.jruby;

public interface MujJavaInterface {
String mojeMetoda(Long num);
}


 mujruby.rb ---

class MojeImplClass  Java::cz.cesnet.meta.jruby.MujJavaInterface
 def mojeMetoda(num)
return Ja jsem metoda z Ruby, num=+num.to_s()
 end
end


--- kod nekde 

ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
jruby.eval(new BufferedReader(new FileReader(mujruby.rb)));

MujJavaInterface mji =
 (MujJavaInterface) jruby.eval(MojeImplClass.new);
String s = mji.mojeMetoda(1l);


Ze to jde opacne (z Javy do Ruby) jsem cekal, koneckoncu v kazdem 
browseru se daji z JavaScriptu volat Java tridy, ale tohle mne nadchlo.


Makub

--
~~
Supercomputing Center Brno Martin Kuba
Institute of Computer Scienceemail: [EMAIL PROTECTED]
Masaryk University http://www.ics.muni.cz/~makub/
Botanicka 68a, 60200 Brno, CZ mobil: +420-603-533775
--


smime.p7s
Description: S/MIME Cryptographic Signature


Re: scripting API v JDK 6 a JRuby

2006-11-02 Tema obsahu Honza

Ahoj,

ruby jako jazyk zboznuju a tohle me fakt potesilo. Vypada to moc dobre. 
Javovska aplikace uz nemusi byt tak uplne javovska? ;-)


Dalsi otazka je, jak to bude rychle? :(

Honza

Martin Kuba napsal(a):
Hraju si s novym scripting API v JDK 6.0 a mam potrebu se podelit o 
zazitky :-) Za skriptovaci jazyk jsem si zvolil JRuby.


Co mne prijde genialni je volne michani trid z Java a z Ruby.
Konkretne si muzu v Jave nadefinovat interface, v Ruby ho implementovat
jako Ruby tridu, a tu vratit zpatky do Javy:

--- MujJavaInterface.java ---
package cz.cesnet.meta.jruby;

public interface MujJavaInterface {
String mojeMetoda(Long num);
}


 mujruby.rb ---

class MojeImplClass  Java::cz.cesnet.meta.jruby.MujJavaInterface
 def mojeMetoda(num)
return Ja jsem metoda z Ruby, num=+num.to_s()
 end
end


--- kod nekde 

ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
jruby.eval(new BufferedReader(new FileReader(mujruby.rb)));

MujJavaInterface mji =
 (MujJavaInterface) jruby.eval(MojeImplClass.new);
String s = mji.mojeMetoda(1l);


Ze to jde opacne (z Javy do Ruby) jsem cekal, koneckoncu v kazdem 
browseru se daji z JavaScriptu volat Java tridy, ale tohle mne nadchlo.


Makub



Re: scripting API v JDK 6 a JRuby

2006-11-02 Tema obsahu Oto 'tapik' Buchta
On Thursday 02 November 2006 20:22, Honza wrote:
 Ahoj,

 ruby jako jazyk zboznuju a tohle me fakt potesilo. Vypada to moc dobre.
 Javovska aplikace uz nemusi byt tak uplne javovska? ;-)

To uz davno byt nemusi, ale ja se spis zhrozil. Priznam se, ze jsem to API 
nikdy nevidel, ale to 
ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
mne pekne vydesilo. To pri kazdem volani skriptu instanciuji novy 
ScriptEngineManager? To je prece humus, ne? Kdys jsem tu slysel o scripting 
API, chtel jsem se na nej podivat, jak to vlastne pracuje, ale tento jeden 
radek mne pekne znechutil a odradil.

 Dalsi otazka je, jak to bude rychle? :(

 Honza

 Martin Kuba napsal(a):
  Hraju si s novym scripting API v JDK 6.0 a mam potrebu se podelit o
  zazitky :-) Za skriptovaci jazyk jsem si zvolil JRuby.
 
  Co mne prijde genialni je volne michani trid z Java a z Ruby.
  Konkretne si muzu v Jave nadefinovat interface, v Ruby ho implementovat
  jako Ruby tridu, a tu vratit zpatky do Javy:
 
  --- MujJavaInterface.java ---
  package cz.cesnet.meta.jruby;
 
  public interface MujJavaInterface {
  String mojeMetoda(Long num);
  }
 
 
   mujruby.rb ---
 
  class MojeImplClass  Java::cz.cesnet.meta.jruby.MujJavaInterface
   def mojeMetoda(num)
  return Ja jsem metoda z Ruby, num=+num.to_s()
   end
  end
 
 
  --- kod nekde 
 
  ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
  jruby.eval(new BufferedReader(new FileReader(mujruby.rb)));
 
  MujJavaInterface mji =
   (MujJavaInterface) jruby.eval(MojeImplClass.new);
  String s = mji.mojeMetoda(1l);
 
 
  Ze to jde opacne (z Javy do Ruby) jsem cekal, koneckoncu v kazdem
  browseru se daji z JavaScriptu volat Java tridy, ale tohle mne nadchlo.
 
  Makub

-- 
Oto 'tapik' Buchta, [EMAIL PROTECTED]
Senior Engineer, Systinet, Mercury Division
http://www.mercury.com

-- 
Oto 'tapik' Buchta, [EMAIL PROTECTED]
http://www.buchtovi.cz

__
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email 
__


Re: scripting API v JDK 6 a JRuby

2006-11-02 Tema obsahu Petr Fischer
Oto 'tapik' Buchta píše v Čt 02. 11. 2006 v 20:59 +0100:
 On Thursday 02 November 2006 20:22, Honza wrote:
  Ahoj,
 
  ruby jako jazyk zboznuju a tohle me fakt potesilo. Vypada to moc dobre.
  Javovska aplikace uz nemusi byt tak uplne javovska? ;-)
 
 To uz davno byt nemusi, ale ja se spis zhrozil. Priznam se, ze jsem to API 
 nikdy nevidel, ale to 
 ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
 mne pekne vydesilo. To pri kazdem volani skriptu instanciuji novy 
 ScriptEngineManager? To je prece humus, ne? Kdys jsem tu slysel o scripting 
 API, chtel jsem se na nej podivat, jak to vlastne pracuje, ale tento jeden 
 radek mne pekne znechutil a odradil.

Pokud dobre koukam a chapu tak engine si pomoci
ScriptEngineManager().getEngineByName(jruby) vytvorim jednou a pak uz
jenom volam eval, eval, eval na skripty retezce a beru a nastavuju si
hodnoty pomoci get/setBindings a musi to frcet ne?

pf

 
  Dalsi otazka je, jak to bude rychle? :(
 
  Honza
 
  Martin Kuba napsal(a):
   Hraju si s novym scripting API v JDK 6.0 a mam potrebu se podelit o
   zazitky :-) Za skriptovaci jazyk jsem si zvolil JRuby.
  
   Co mne prijde genialni je volne michani trid z Java a z Ruby.
   Konkretne si muzu v Jave nadefinovat interface, v Ruby ho implementovat
   jako Ruby tridu, a tu vratit zpatky do Javy:
  
   --- MujJavaInterface.java ---
   package cz.cesnet.meta.jruby;
  
   public interface MujJavaInterface {
   String mojeMetoda(Long num);
   }
  
  
    mujruby.rb ---
  
   class MojeImplClass  Java::cz.cesnet.meta.jruby.MujJavaInterface
def mojeMetoda(num)
   return Ja jsem metoda z Ruby, num=+num.to_s()
end
   end
  
  
   --- kod nekde 
  
   ScriptEngine jruby = new ScriptEngineManager().getEngineByName(jruby);
   jruby.eval(new BufferedReader(new FileReader(mujruby.rb)));
  
   MujJavaInterface mji =
(MujJavaInterface) jruby.eval(MojeImplClass.new);
   String s = mji.mojeMetoda(1l);
  
  
   Ze to jde opacne (z Javy do Ruby) jsem cekal, koneckoncu v kazdem
   browseru se daji z JavaScriptu volat Java tridy, ale tohle mne nadchlo.
  
   Makub
 
 -- 
 Oto 'tapik' Buchta, [EMAIL PROTECTED]
 Senior Engineer, Systinet, Mercury Division
 http://www.mercury.com