Re: scripting API v JDK 6 a JRuby
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
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
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
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
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
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
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
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
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
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
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
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