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 >
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
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
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: Udalosti klavesnice
Odhliadnuc od toho co som napisal pred chvilou (co je pravda ale s problemom nesuvisi :) ) odporucam zacat s vypismi do konzoly a precitat si tutorial ku udalostiam klavesnice . Navyse v keyReleased nastavujete i na 0 ... DM Dušan Mamrilla wrote / napísal(a): Repaint metoda prekreslenie naplanuje teda nevykona sa okamzite ale az po spracovani predchadzajucich Eventov v EventQueue. Pre okamzite prekreslenie treba pouzit paintImmediately. DM Moody wrote / napísal(a): Dobrý Deň, mali by ste čas sa pozrieť na tento kód: import java.lang.*; import java.applet.*; import java.awt.Graphics; import java.awt.Event; import java.awt.Image; import java.awt.*; import javax.swing.*; public class udalosti extends java.applet.Applet implements java.awt.event.KeyListener { //definujeme premenne int i = 0; public void init() { addKeyListener(this); } //teraz to vypiseme public void paint (Graphics auto) { String s = null; auto.drawString(String.valueOf(i),10,10); } //zachyti stalacenie klavesy public void keyPressed(java.awt.event.KeyEvent e) { //kod klavesy i = e.getKeyCode(); repaint(); } //zachyti uvolnenie klavesy public void keyReleased(java.awt.event.KeyEvent uvolni) { i = 0; repaint(); } public void keyTyped(java.awt.event.KeyEvent ke) { i = ke.getKeyCode(); repaint(); } } Tento kód ma vypísať kód klávesy, ktorú stlačím. Keď stalačím hociaku klavesu, tak mi vypise 0. Prvy krat pracujem s udalosťami klavesnice. Takže tam bude nejaká chyba,ktorú neviem najisť. Ďakujem za odpoveď. Rasťo
Re: Co jde v .NET a nejde v Jave?
No hrůza, většina navržených tříd má jasnou zodpovědnost. Konkrétně rozšířit třídu String na to, aby listovala adresář, je prasárna :-). Ovšem některým programátorům se tento způsob vývoje líbí, nebožák který převezme takový kód. Jakub Petr Fischer wrote: Petr Synek píše v St 01. 11. 2006 v 01:20 +0100: Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema za co stydet (oproti napr. 1.3. verzi). V .NETu mi ale dost chybi moznost si prohlednout zdrojaky knihoven frameworku. Takze opravdu nezbyva nic jineho nez se spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny Boolean.getBoolean(...) ze? :-). Co se tyce core knihoven, tak ty mi prijdou .NET knihovny ponekud vic intuitivni. Napr. string.IsNullOrEmpty() je docela uzitecna staticka metoda tridy String. V Jave musime psat porad dokola "if (s ==null || s.length() = 0)" (i o dost podivnejsi ekvivalenty lze casto potkat) nebo si napsat vlastni externi utilitu (prip. stahnout neco hotoveho z Jakarta Commons). Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, odcitani, staticke helper metody na vytvareni) je ukazka jak ma .NET dobre propracovane nektere knihovny. Kdyz se pak clovek podiva na java.util.Date a ty mraky deprecated constructoru a metod, tak si uvedomi, ze vlastne cely Date je uz dnes jen docela osklivy wrapper nad jednou long promennou a nic vic... Ale neni to rozhodne to co by clovek intuitivne od Date tridy cekal. Pokud chci napriklad vytisknout cas tedy v .NETu "Console.WriteLine(DateTime.Now);" tak v Jave (jsem pres google http://www.rgagnon.com/javadetails/java-0106.html) zjistil ze musim pouzit minimalne tridy Calendar a SimpleDateFormat a provadet s tim docela slusne harakiri. Bez googlu, je toto prace na min. 5 minut. To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v .NETu nahodou mozny rozsirovat existujici tridy o novy metody (muzete si dopsat svoji vlastni metodu do existujici String nebo Date tridy - tedy podobne jako treba ve Smalltalku)? Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku jinej styl OO programovani. Muzete si pak do String tridy dopsat treba funkci getFiles() a pak staci: "c:\data".getFiles() To neni zly ne? :) pf
Re: Udalosti klavesnice
Repaint metoda prekreslenie naplanuje teda nevykona sa okamzite ale az po spracovani predchadzajucich Eventov v EventQueue. Pre okamzite prekreslenie treba pouzit paintImmediately. DM Moody wrote / napísal(a): Dobrý Deň, mali by ste čas sa pozrieť na tento kód: import java.lang.*; import java.applet.*; import java.awt.Graphics; import java.awt.Event; import java.awt.Image; import java.awt.*; import javax.swing.*; public class udalosti extends java.applet.Applet implements java.awt.event.KeyListener { //definujeme premenne int i = 0; public void init() { addKeyListener(this); } //teraz to vypiseme public void paint (Graphics auto) { String s = null; auto.drawString(String.valueOf(i),10,10); } //zachyti stalacenie klavesy public void keyPressed(java.awt.event.KeyEvent e) { //kod klavesy i = e.getKeyCode(); repaint(); } //zachyti uvolnenie klavesy public void keyReleased(java.awt.event.KeyEvent uvolni) { i = 0; repaint(); } public void keyTyped(java.awt.event.KeyEvent ke) { i = ke.getKeyCode(); repaint(); } } Tento kód ma vypísať kód klávesy, ktorú stlačím. Keď stalačím hociaku klavesu, tak mi vypise 0. Prvy krat pracujem s udalosťami klavesnice. Takže tam bude nejaká chyba,ktorú neviem najisť. Ďakujem za odpoveď. Rasťo
Re: Co jde v .NET a nejde v Jave?
Ako som uz spominal, viazat sa da na hocico aj na kolekcie, nie len na datasety. Na kolekcie je to vhodnejsie aj pohodlnejsie, lebo to mozu byt kolekcie biznis objektov. DataSet je vsak mozno rychlejsia volba, neviem. Tomas Petr Synek wrote: Ono to funguje trosku jinak. V .NETu se pouziva DataSet objekt (neco co vzdalene pripomina offline Java 5.0 WebRowSet) a tento objekt muze poskytovat business vrstva a delat centralne prislusne validace. Nic se automaticky do DB nezapisuje, modifikovany offline DataSet je treba nechat explicitne ulozit do DB (a to se muze dit v business vrstve). petr
Re: Co jde v .NET a nejde v Jave?
Pavel Kubal wrote: Eclipse ma 1000x vice pluginu (i kdyz o tom by se dalo polemizovat), ale kolik z nich skutecne funguje s vasi verzi eclipsu?? Prave pluginy jsou podle mne nejvetsi kamen urazu u eclipsu. Jednoduse upgradovat eclipse kvuli tomu, ze dany plugin je jen pro 3.2 a ja mam 3.1.3? Dekuju nechci...bohuzel musim:-( Zabundlovane reseni ala NetBeans, Visual Studio alespon funguji. Ja osobne nemam zadny cas nazbyt, ktery bych mohl venovat rozchazeni pluginu:o) Tak si kupte Bundle od IBM ;-) Jinak s projektem Calisto se i "ciste" Eclipse zlepsilo. A Calisto + JBoss IDE + Spring IDE vetsine lidi staci. Lukas
Re: Co jde v .NET a nejde v Jave?
Eclipse ma 1000x vice pluginu (i kdyz o tom by se dalo polemizovat), ale kolik z nich skutecne funguje s vasi verzi eclipsu?? Prave pluginy jsou podle mne nejvetsi kamen urazu u eclipsu. Jednoduse upgradovat eclipse kvuli tomu, ze dany plugin je jen pro 3.2 a ja mam 3.1.3? Dekuju nechci...bohuzel musim:-( Zabundlovane reseni ala NetBeans, Visual Studio alespon funguji. Ja osobne nemam zadny cas nazbyt, ktery bych mohl venovat rozchazeni pluginu:o) P. - Original Message - From: Tomas Studva To: Java Sent: Thursday, November 02, 2006 11:58 AM Subject: Re: Co jde v .NET a nejde v Jave? Zdravim,berte to trochu s rezervou, nemam s web aplikaciami privela skusenosti. S java web app vobec, ale s .NET ano. Ale inak robim v jave :). To o com sa bavime mi pride ako Data Binding v .NET. To je mozno jedna z vyhod .Net: ide o deklaraivne programovanie, kde sa deklaruje vazba gui na kolekcie(je to nejaky interface, cize kludne na hocico, co ho implementuje) z controlera.To teda nezarucuje viac vrstvovost, ale ani ju nevylucuje. Mna deklarativne programovanie zo zaciatku stvalo, lebo ked sa viazu data zlozitejsieho charakteru, je to o to zlozitejsie to napisat. Toto viazanie sa da robit aj klasicky, z kodu, a v mnohych pripadoch sa to tak aj robi. V tomto deklarativnom style sa da pracovat s objektami. Vo viste je viazanie prepracovanejsie, hlavne ho podporuje viacej nastrojov, napr. dizajner aplikacie(nie len web) dizajnuje GUI, konkretnu obrazovku pre konkretne data, ktore sa budu cucat z DB, nezavisle na ostatnych, staci ze vie signaturu dat, a editr mu plne pomaha. Potom sa to uz iba zviaze s logiko, ktoru kodili programatori => oddelenie dizajnerskej a programatorskej prace(uz vobec nerobi GUI) Ak chcem MVC, tak si mozem architekturu vybudovat sam, nic ine nepotrebujem, proste 3 alebo 4 vrstvy. Mne ako jedna z vyhod pride hlavne atributove(typ deklarativneho) programovanie, co ma byt buducnost, tu sa mi zda ze je to o inom ako AOP, totiz ja iba hovorim ake vlastnosti chcem a zvysok sa vygeneruje za mna frameworkom A teraz este nieco k C# vs Java C# je vyspelejsi jazyk + udalosti su riesene lepsie, netreba ziaden design pattern napr, viac classov v jednom subore + out specifikacia argumentov metody - pretazovanie operatorov properties namiesto getterov - no neviem, toto ma tiez stvalo, problem je ze ked getter ma inu visibility ako setter, to sa v property neda Structs - struktury, lightweight not object struktura + indexovanie poli a kolekcii - velke plus, ide napr: children[5] + je to menej ukecany jazykIDE eclipse vs Visual Studio v oblasti pisania kodu jednoznacne vyhrava eclipse, proste som si este stale nezvykol na vs eclipse ma 1000 krat viac pluginov vs pluginy az tak moc nepotrebuje, uz ma skoro vsetko co trebaTomasOto 'tapik' Buchta wrote: On Thursday 02 November 2006 09:21, Petr Synek wrote: bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss Seam. No to je prave trosku potiz. V pripade automatickeho update dat musite osetrit par veci, jako je napriklad kvalita dat, konzistence dat paralelne upravovanych ruznymi lidmi, pristupova prava,... Neco podobneho delaly sveho casu Delphi, ze primo zobrazovaly data z DB a umoznovaly je primo v te DB menit. Pak se ale programator musel hookovat vsude mozne, jenom aby zmeny prosly opravdu jenom tam, kde mely. Kvalitne navrzeny model neco takoveho krasne a jednoduse osetri... !DSPAM:4549d00218389035412915!
Re: Co jde v .NET a nejde v Jave?
Ono to funguje trosku jinak. V .NETu se pouziva DataSet objekt (neco co vzdalene pripomina offline Java 5.0 WebRowSet) a tento objekt muze poskytovat business vrstva a delat centralne prislusne validace. Nic se automaticky do DB nezapisuje, modifikovany offline DataSet je treba nechat explicitne ulozit do DB (a to se muze dit v business vrstve). petr __ > Od: [EMAIL PROTECTED] > Komu: Java > Datum: 02.11.2006 09:32 > Předmět: Re: Co jde v .NET a nejde v Jave? > >On Thursday 02 November 2006 09:21, Petr Synek wrote: >> bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma >> rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku >> dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss >> Seam. > >No to je prave trosku potiz. V pripade automatickeho update dat musite osetrit >par veci, jako je napriklad kvalita dat, konzistence dat paralelne >upravovanych ruznymi lidmi, pristupova prava,... > >Neco podobneho delaly sveho casu Delphi, ze primo zobrazovaly data z DB a >umoznovaly je primo v te DB menit. Pak se ale programator musel hookovat >vsude mozne, jenom aby zmeny prosly opravdu jenom tam, kde mely. Kvalitne >navrzeny model neco takoveho krasne a jednoduse osetri... > >-- >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: Co jde v .NET a nejde v Jave?
Zdravim, berte to trochu s rezervou, nemam s web aplikaciami privela skusenosti. S java web app vobec, ale s .NET ano. Ale inak robim v jave :). To o com sa bavime mi pride ako Data Binding v .NET. To je mozno jedna z vyhod .Net: ide o deklaraivne programovanie, kde sa deklaruje vazba gui na kolekcie(je to nejaky interface, cize kludne na hocico, co ho implementuje) z controlera.To teda nezarucuje viac vrstvovost, ale ani ju nevylucuje. Mna deklarativne programovanie zo zaciatku stvalo, lebo ked sa viazu data zlozitejsieho charakteru, je to o to zlozitejsie to napisat. Toto viazanie sa da robit aj klasicky, z kodu, a v mnohych pripadoch sa to tak aj robi. V tomto deklarativnom style sa da pracovat s objektami. Vo viste je viazanie prepracovanejsie, hlavne ho podporuje viacej nastrojov, napr. dizajner aplikacie(nie len web) dizajnuje GUI, konkretnu obrazovku pre konkretne data, ktore sa budu cucat z DB, nezavisle na ostatnych, staci ze vie signaturu dat, a editr mu plne pomaha. Potom sa to uz iba zviaze s logiko, ktoru kodili programatori => oddelenie dizajnerskej a programatorskej prace(uz vobec nerobi GUI) Ak chcem MVC, tak si mozem architekturu vybudovat sam, nic ine nepotrebujem, proste 3 alebo 4 vrstvy. Mne ako jedna z vyhod pride hlavne atributove(typ deklarativneho) programovanie, co ma byt buducnost, tu sa mi zda ze je to o inom ako AOP, totiz ja iba hovorim ake vlastnosti chcem a zvysok sa vygeneruje za mna frameworkom A teraz este nieco k C# vs Java C# je vyspelejsi jazyk + udalosti su riesene lepsie, netreba ziaden design pattern napr, viac classov v jednom subore + out specifikacia argumentov metody - pretazovanie operatorov properties namiesto getterov - no neviem, toto ma tiez stvalo, problem je ze ked getter ma inu visibility ako setter, to sa v property neda Structs - struktury, lightweight not object struktura + indexovanie poli a kolekcii - velke plus, ide napr: children[5] + je to menej ukecany jazyk IDE eclipse vs Visual Studio v oblasti pisania kodu jednoznacne vyhrava eclipse, proste som si este stale nezvykol na vs eclipse ma 1000 krat viac pluginov vs pluginy az tak moc nepotrebuje, uz ma skoro vsetko co treba Tomas Oto 'tapik' Buchta wrote: On Thursday 02 November 2006 09:21, Petr Synek wrote: bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss Seam. No to je prave trosku potiz. V pripade automatickeho update dat musite osetrit par veci, jako je napriklad kvalita dat, konzistence dat paralelne upravovanych ruznymi lidmi, pristupova prava,... Neco podobneho delaly sveho casu Delphi, ze primo zobrazovaly data z DB a umoznovaly je primo v te DB menit. Pak se ale programator musel hookovat vsude mozne, jenom aby zmeny prosly opravdu jenom tam, kde mely. Kvalitne navrzeny model neco takoveho krasne a jednoduse osetri...
Re: Co jde v .NET a nejde v Jave?
P.S.: To o cem mluvite s tim propojenim dat s tabulkou to je prace RCP Spring RCP to resi presne tak jak si prejete, ale jde v tom o trochu dal. Pouziva Formularovi Model, ktery automaticky generuje (kdez chcete), nebo vas necha si ho nagenerovat sam, kdyz chcete v nem provest upravy. Tudiz do ruky dostavate silu obou pristupu, ne jen jednoho. Jasne, ale Spring RCP je pro desktopove aplikace. Ve Spring MVC si musite controller napsat sam. Jinak jsem chtel rici, ze MVC urcite neni bullshit, jenom jde o to, jakym zpusobem psat bezbolestne ten controller ;-) -- S pozdravem Roman "Dagi" Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: Co jde v .NET a nejde v Jave?
Myslim, ze JAVA znamena programovaci jazyk, zakladni API a komunitu kolem toho. Stejen tak jako ostatni programovaci jazyky. Takze tak se na to divejte. Ja programuji v Delphi a JAVA. Ceska komunita kolem Delphi je silnejsi nez JAVA, Delphi jako nastroj je daleko vyspelejsi, nez napr. Eclipse, ale protoze Delphi je placene i komunita kolem neho vydava prevazne placene komponenty a frameworky. To byl duvod proc jsem nakonec presel na JAVA, api je daleko mensi a kompaktnejsi, tudiz lepe pruhledne. K frameworkum mam zdrojove kody ve kterych se da (narozdil od tech Delphovych) dobre vyznat. Nesnazte se tedy odtrhavat komunitu od programovaciho jazyka jako takoveho. P.S.: To o cem mluvite s tim propojenim dat s tabulkou to je prace RCP Spring RCP to resi presne tak jak si prejete, ale jde v tom o trochu dal. Pouziva Formularovi Model, ktery automaticky generuje (kdez chcete), nebo vas necha si ho nagenerovat sam, kdyz chcete v nem provest upravy. Tudiz do ruky dostavate silu obou pristupu, ne jen jednoho. Lukas "benzin" Benda ([EMAIL PROTECTED]; http://benzin.bloguje.cz) Java a Delphi programator PHP a JavaScript skrypter Tvurce databazovych aplikaci A "cestinarsky" ignorant ad 1) Ano TableModel si muze tahat veci i od nekud jinud, ale toto vy musite rucne nejak osetrit, musite to proste naprogramovat. ad 2) Prave by bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss Seam. petr __ Od: [EMAIL PROTECTED] Komu: Java Datum: 02.11.2006 08:59 Předmět: Re: Co jde v .NET a nejde v Jave? 1. Table model neni nutne plnit, ten si veci muze jenom pretahovat od nekud jinud, od sveho modelu. To jste to mozna jenom nepouzil spravne. 2. Neni mi jasne proc je to vyhoda .NET, kdyz naprogramuju model, ktery si bude data tahat primo z Hibernate entit, pak mam to same co v .NET, ne? 3. Nehledal jsem, ale nedivil bych se, kdyby to uz nekdo udelal za me ... :-)) To je vyhoda Javy ... Petr Synek napsal(a): Myslim ze to neni nic proti MVC. Je to jen zjednoduseni ve smyslu jako by JTable mohl pouzivat primo Hibernate entity aniz by bylo nutne predtim rucne plnit javax.swing.table.TableModel z Entit. S tim ze se zaroven automaticky zjisti jmena a typy sloupcu (a samozrejme ze je take mozne dodatecne toto implicitni mapovani sloupcu upravit, pokud nevyhovuje). Podobne jednoduse by snad mohl fungovat JBoss Seam pro JSF (viz. http://www.onjava.com/pub/a/onjava/2006/03/15/jboss-seam.html), ale jeste jsem si to cele nestihl precist. petr __ Od: [EMAIL PROTECTED] Komu: Java Datum: 01.11.2006 10:13 Předmět: Re: Co jde v .NET a nejde v Jave? Napr. GUI nebo Web prvky pracuji primo s datovmi objekty (ADO.NET), takze vetsinou odpada rucni plneni "Model" objektu z Entit, tedy vice mene odpada rucni prehazovani kupy dat tam a zase zpet (i kdyz napr. Jakarta BeanUtils lrecos v tomhle smeu v Jave take zjednodusuji, ale v .NETu tohle funguje implicitne a automaticky). No to bych zrovna jako vyhodu moc nepovazoval. To je pak o tom, ze se vsechno toci okolo GUI, ktere zobrazuje i "drzi" data, coz neni dobry pristup (rozhodne to neni podle MVC, ale on Microsoft nikdy MVC moc nebral vazne). Pokud MVC chci pouzit, pak musim data z modelu kopirovat do GUI :-(( Me se naopak i u desktopovych aplikaci striktni pouziti MVC vzdy vyplatilo, i kdyz i trivialni aplikace to znamena vic prace, ale prehlednost kodu a jeho rozsiritelnost jednoznacne hovori ve prospech tohoto reseni. (pravda nikdy jsem si GUI neklikal, protoze me to prislo hrozne omezujici ) Abych se ale vyjadril k tematu, vse je to o tom, ktera platforma "vyhraje". To je ta spravna volba Navic jde i o filosofickou otazku, ktera podle me trochu zanikla ... chcete mit volnost a nebo jasne danou cestu, podle toho si vyberte. P.S. Uz je .NET dostatecne stabilni, aby jej Microsoft nemenil pod rukama jako se stalo mezi verzi 1.X a 2.0 ... to je argument pro Javu, mozna ... -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
RE: Udalosti klavesnice
> Tento kód ma vypísať kód klávesy, ktorú stlačím. Keď stalačím hociaku > klavesu, tak mi vypise 0. Prvy krat pracujem s udalosťami klavesnice. > Takže tam bude nejaká chyba,ktorú neviem najisť. Zkus si upravit kód následovně (pak to začne chodit): public class Udalosti extends java.applet.Applet implements java.awt.event.KeyListener { //definujeme premenne int kp, kr, kt; public void init() { addKeyListener(this); } //teraz to vypiseme public void paint (Graphics auto) { auto.drawString("KP=" + kp + ", KR=" + kr + ", KT=" + kt , 10,10); } //zachyti stalacenie klavesy public void keyPressed(java.awt.event.KeyEvent ke) { //kod klavesy kp = ke.getKeyCode(); repaint(); } //zachyti uvolnenie klavesy public void keyReleased(java.awt.event.KeyEvent ke) { kr = ke.getKeyCode(); repaint(); } public void keyTyped(java.awt.event.KeyEvent ke) { kt = ke.getKeyChar(); repaint(); } } -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.409 / Virus Database: 268.13.22/512 - Release Date: 01.11.06 st
Re: Co jde v .NET a nejde v Jave?
Oto 'tapik' Buchta napsal(a): On Thursday 02 November 2006 09:21, Petr Synek wrote: bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss Seam. No to je prave trosku potiz. V pripade automatickeho update dat musite osetrit par veci, jako je napriklad kvalita dat, konzistence dat paralelne upravovanych ruznymi lidmi, pristupova prava,... To je o necem jinem, Seam te odsitini od nutnosti psani controlleru. To ze mas nad databazi porad nejakou objektovou vrstvu entit (domain model) plati. Stejne tak plati, ze mas business service vrstvu tvorenou session beanami. Jednou z vlastnosti Seamu je, ze tyhle session beany umi vystavit do "JSF kontextu". Vsechny problemy, ktere jsi vyjmenoval tak muzes v pohode resit na urovni business vrstvy... -- S pozdravem Roman "Dagi" Pichlik /* http://www.sweb.cz/pichlik/ Blog pro kodery */ __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: Co jde v .NET a nejde v Jave?
On Thursday 02 November 2006 09:13, Rastislav Siekel wrote: > Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy > neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si > potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa > zmení na No to prave ze problem je, kdyz String je final class ;-) Samozrejme ze udelat si fasadu nad Stringem neni problem, ale zase z toho neni String. Proste za runtime rozsirit final tridu je jedinym resenim. Ale priznam se, ze milerat se teto moznosti vzdam ve prospech citelnosti kodu. > new MyString("c:\data").getFiles() > > čo mi nepríde príliš veľká obeť. > > To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte > minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými preťaženými > operátormi - nikdy neviete, čo vlstne to plus spraví. > > Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak > potrebujete urobiť "rýchlo" zmenu už staršieho projektu (t.j. asi v 90% > času života aplikácie) - nevyhovujú. Naprosty souhlas. -- 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: Co jde v .NET a nejde v Jave?
Nastesti nic takoveho v Jave ani v .NETu udelat nejde. petr __ > Od: [EMAIL PROTECTED] > Komu: "'Java'" > Datum: 02.11.2006 09:13 > Předmět: RE: Co jde v .NET a nejde v Jave? > >Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy >neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si >potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa >zmení na > >new MyString("c:\data").getFiles() > >čo mi nepríde príliš veľká obeť. > >To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte >minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými preťaženými >operátormi - nikdy neviete, čo vlstne to plus spraví. > >Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak potrebujete >urobiť "rýchlo" zmenu už staršieho projektu (t.j. asi v 90% času života >aplikácie) - nevyhovujú. > >Rastislav "Bedo" Siekel > > >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of Petr Fischer >> Sent: 1. novembra 2006 13:33 >> To: Java >> Subject: Re: Co jde v .NET a nejde v Jave? >> >> >> Petr Synek píše v St 01. 11. 2006 v 01:20 +0100: >> > Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o >> > moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core >> J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak >> konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema >> za co stydet (oproti napr. 1.3. verzi). >> > V .NETu mi ale dost chybi moznost si prohlednout zdrojaky >> knihoven frameworku. Takze opravdu nezbyva nic jineho nez se >> spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na >> google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout >> do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny >> Boolean.getBoolean(...) ze? :-). >> > >> > Co se tyce core knihoven, tak ty mi prijdou .NET knihovny >> ponekud vic >> > intuitivni. >> > Napr. string.IsNullOrEmpty() je docela uzitecna staticka >> metoda tridy String. V Jave musime psat porad dokola "if (s >> ==null || s.length() = 0)" (i o dost podivnejsi ekvivalenty >> lze casto potkat) nebo si napsat vlastni externi utilitu >> (prip. stahnout neco hotoveho z Jakarta Commons). >> > >> > Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a >> > jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, >> odcitani, staticke helper metody na vytvareni) je ukazka jak >> ma .NET dobre propracovane nektere knihovny. >> > Kdyz se pak clovek podiva na java.util.Date a ty mraky >> deprecated constructoru a metod, tak si uvedomi, ze vlastne >> cely Date je uz dnes jen docela osklivy wrapper nad jednou >> long promennou a nic vic... Ale neni to rozhodne to co by >> clovek intuitivne od Date tridy cekal. >> > Pokud chci napriklad vytisknout cas tedy v .NETu >> "Console.WriteLine(DateTime.Now);" tak v Jave (jsem pres >> google http://www.rgagnon.com/javadetails/java-0106.html) >> zjistil ze musim pouzit minimalne tridy Calendar a >> SimpleDateFormat a provadet s tim docela slusne harakiri. Bez >> googlu, je toto prace na min. 5 minut. >> > >> >> To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v >> .NETu nahodou mozny rozsirovat existujici tridy o novy metody >> (muzete si dopsat svoji vlastni metodu do existujici String >> nebo Date tridy - tedy podobne jako treba ve Smalltalku)? >> Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku >> jinej styl OO programovani. >> >> Muzete si pak do String tridy dopsat treba funkci getFiles() a pak >> staci: >> >> "c:\data".getFiles() >> >> To neni zly ne? :) >> >> pf >> >> >> >> >> > > >
Re: Co jde v .NET a nejde v Jave?
On Thursday 02 November 2006 09:21, Petr Synek wrote: > bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma > rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku > dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss > Seam. No to je prave trosku potiz. V pripade automatickeho update dat musite osetrit par veci, jako je napriklad kvalita dat, konzistence dat paralelne upravovanych ruznymi lidmi, pristupova prava,... Neco podobneho delaly sveho casu Delphi, ze primo zobrazovaly data z DB a umoznovaly je primo v te DB menit. Pak se ale programator musel hookovat vsude mozne, jenom aby zmeny prosly opravdu jenom tam, kde mely. Kvalitne navrzeny model neco takoveho krasne a jednoduse osetri... -- 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: Co jde v .NET a nejde v Jave?
ad 1) A nebo si to na netu najit ... ja jsem si neco podobneho udelal kdysi pred lety udelal ... , ale dneska verim to naprogramovat nemusite, ze si to staci najit na netu. To ze to mate v .NET primo, vcetne ADO.NET a v Jave si to musite najit, to preci neni nic proti nicemu ... To pak muzeme rikat, ze .NET je lepsi nez Java protoze ma ADO.NET a java nic takoveho nema, protoze vse se dodava zvlast ad 2) To ze to cini Seam je fajn, ale takovych projektu je vsude fura ... podobne veci dela eclipse, sun ... Petr Synek napsal(a): > ad 1) Ano TableModel si muze tahat veci i od nekud jinud, ale toto vy musite > rucne nejak osetrit, musite to proste naprogramovat. > ad 2) Prave by bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable > nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel > starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl > fungovat JBoss Seam. > > petr > __ >> Od: [EMAIL PROTECTED] >> Komu: Java >> Datum: 02.11.2006 08:59 >> Předmět: Re: Co jde v .NET a nejde v Jave? >> >> 1. Table model neni nutne plnit, ten si veci muze jenom pretahovat od > nekud jinud, od sveho modelu. To jste to mozna >> jenom nepouzil spravne. >> >> 2. Neni mi jasne proc je to vyhoda .NET, kdyz naprogramuju model, ktery > si bude data tahat primo z Hibernate entit, pak >> mam to same co v .NET, ne? >> >> 3. Nehledal jsem, ale nedivil bych se, kdyby to uz nekdo udelal za me ... > :-)) To je vyhoda Javy ... >> Petr Synek napsal(a): >>> Myslim ze to neni nic proti MVC. >>> Je to jen zjednoduseni ve smyslu jako by JTable mohl pouzivat primo > Hibernate entity aniz by bylo nutne predtim rucne plnit > javax.swing.table.TableModel z Entit. S tim ze se zaroven automaticky > zjisti jmena a typy sloupcu (a samozrejme ze je take mozne dodatecne toto > implicitni mapovani sloupcu upravit, pokud nevyhovuje). >>> Podobne jednoduse by snad mohl fungovat JBoss Seam pro JSF (viz. > http://www.onjava.com/pub/a/onjava/2006/03/15/jboss-seam.html), ale jeste > jsem si to cele nestihl precist. >>> petr >>> >>> >>> __ Od: [EMAIL PROTECTED] Komu: Java Datum: 01.11.2006 10:13 Předmět: Re: Co jde v .NET a nejde v Jave? > Napr. GUI nebo Web prvky pracuji primo s datovmi objekty (ADO.NET), >>> takze vetsinou odpada rucni plneni "Model" objektu z Entit, tedy vice > mene >>> odpada rucni prehazovani kupy dat tam a zase zpet (i kdyz napr. Jakarta >>> BeanUtils lrecos v tomhle smeu v Jave take zjednodusuji, ale v .NETu > tohle >>> funguje implicitne a automaticky). No to bych zrovna jako vyhodu moc nepovazoval. To je pak o tom, ze se >>> vsechno toci okolo GUI, ktere zobrazuje i "drzi" data, coz neni dobry pristup (rozhodne to neni podle MVC, ale on >>> Microsoft nikdy MVC moc nebral vazne). Pokud MVC chci pouzit, pak musim data z modelu kopirovat do GUI :-(( Me se naopak i u desktopovych aplikaci striktni pouziti MVC vzdy >>> vyplatilo, i kdyz i trivialni aplikace to znamena vic prace, ale prehlednost kodu a jeho rozsiritelnost jednoznacne hovori > ve >>> prospech tohoto reseni. (pravda nikdy jsem si GUI neklikal, protoze me to prislo hrozne omezujici ) Abych se ale vyjadril k tematu, vse je to o tom, ktera platforma >>> "vyhraje". To je ta spravna volba Navic jde i o filosofickou otazku, ktera podle me trochu zanikla ... chcete mit > volnost >>> a nebo jasne danou cestu, podle toho si vyberte. P.S. Uz je .NET dostatecne stabilni, aby jej Microsoft nemenil pod > rukama >>> jako se stalo mezi verzi 1.X a 2.0 ... to je argument pro Javu, mozna ... -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic >>> >>> >> -- >> Jiří Mareš (mailto:[EMAIL PROTECTED]) >> ČSAD SVT Praha, s.r.o. (http://www.svt.cz) >> Czech Republic >> > > > -- Jiří Mareš (mailto:[EMAIL PROTECTED]) ČSAD SVT Praha, s.r.o. (http://www.svt.cz) Czech Republic
Re: Co jde v .NET a nejde v Jave?
ad 1) Ano TableModel si muze tahat veci i od nekud jinud, ale toto vy musite rucne nejak osetrit, musite to proste naprogramovat. ad 2) Prave by bylo pekne, kdybych mohl vytvorit jen Hib. Entity a JTable nejak rict ze ma rovnou pouzivat tyto entity (a tudiz bych uz se nemusel starat o prekladku dat z Entit do TableModelu). A takhle by snad nejak mohl fungovat JBoss Seam. petr __ > Od: [EMAIL PROTECTED] > Komu: Java > Datum: 02.11.2006 08:59 > Předmět: Re: Co jde v .NET a nejde v Jave? > >1. Table model neni nutne plnit, ten si veci muze jenom pretahovat od nekud jinud, od sveho modelu. To jste to mozna >jenom nepouzil spravne. > >2. Neni mi jasne proc je to vyhoda .NET, kdyz naprogramuju model, ktery si bude data tahat primo z Hibernate entit, pak >mam to same co v .NET, ne? > >3. Nehledal jsem, ale nedivil bych se, kdyby to uz nekdo udelal za me ... :-)) To je vyhoda Javy ... > >Petr Synek napsal(a): >> Myslim ze to neni nic proti MVC. >> Je to jen zjednoduseni ve smyslu jako by JTable mohl pouzivat primo Hibernate entity aniz by bylo nutne predtim rucne plnit javax.swing.table.TableModel z Entit. S tim ze se zaroven automaticky zjisti jmena a typy sloupcu (a samozrejme ze je take mozne dodatecne toto implicitni mapovani sloupcu upravit, pokud nevyhovuje). >> >> Podobne jednoduse by snad mohl fungovat JBoss Seam pro JSF (viz. http://www.onjava.com/pub/a/onjava/2006/03/15/jboss-seam.html), ale jeste jsem si to cele nestihl precist. >> >> petr >> >> >> __ >>> Od: [EMAIL PROTECTED] >>> Komu: Java >>> Datum: 01.11.2006 10:13 >>> Předmět: Re: Co jde v .NET a nejde v Jave? >>> Napr. GUI nebo Web prvky pracuji primo s datovmi objekty (ADO.NET), >> takze vetsinou odpada rucni plneni "Model" objektu z Entit, tedy vice mene >> odpada rucni prehazovani kupy dat tam a zase zpet (i kdyz napr. Jakarta >> BeanUtils lrecos v tomhle smeu v Jave take zjednodusuji, ale v .NETu tohle >> funguje implicitne a automaticky). >>> No to bych zrovna jako vyhodu moc nepovazoval. To je pak o tom, ze se >> vsechno toci okolo GUI, ktere zobrazuje i "drzi" >>> data, coz neni dobry pristup (rozhodne to neni podle MVC, ale on >> Microsoft nikdy MVC moc nebral vazne). Pokud MVC chci >>> pouzit, pak musim data z modelu kopirovat do GUI :-(( >>> >>> Me se naopak i u desktopovych aplikaci striktni pouziti MVC vzdy >> vyplatilo, i kdyz i trivialni aplikace to znamena vic >>> prace, ale prehlednost kodu a jeho rozsiritelnost jednoznacne hovori ve >> prospech tohoto reseni. (pravda nikdy jsem si >>> GUI neklikal, protoze me to prislo hrozne omezujici ) >>> >>> Abych se ale vyjadril k tematu, vse je to o tom, ktera platforma >> "vyhraje". To je ta spravna volba Navic jde i o >>> filosofickou otazku, ktera podle me trochu zanikla ... chcete mit volnost >> a nebo jasne danou cestu, podle toho si vyberte. >>> P.S. Uz je .NET dostatecne stabilni, aby jej Microsoft nemenil pod rukama >> jako se stalo mezi verzi 1.X a 2.0 ... to je >>> argument pro Javu, mozna ... >>> >>> -- >>> Jiří Mareš (mailto:[EMAIL PROTECTED]) >>> ČSAD SVT Praha, s.r.o. (http://www.svt.cz) >>> Czech Republic >>> >> >> >> > >-- >Jiří Mareš (mailto:[EMAIL PROTECTED]) >ČSAD SVT Praha, s.r.o. (http://www.svt.cz) >Czech Republic >
RE: Co jde v .NET a nejde v Jave?
Samozrejme, že je to zlé, pretože keď sa pozriete na cudzí program, nikdy neviete, čo za String tam je použitý. Nehľadiac na to, že definovať si potomka String-u a doplniť mu tam tú metódu nie je problém a volanie sa zmení na new MyString("c:\data").getFiles() čo mi nepríde príliš veľká obeť. To už potom smrdí C-čkovým typedef (pri použití 2 knižníc v projekte máte minimálne 3 názvy pre int - skúsenosť z praxe), alebo C-čkovými preťaženými operátormi - nikdy neviete, čo vlstne to plus spraví. Aby som nevyvolal flame - tieto možnosti sú naozaj mocné, ale ak potrebujete urobiť "rýchlo" zmenu už staršieho projektu (t.j. asi v 90% času života aplikácie) - nevyhovujú. Rastislav "Bedo" Siekel > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Petr Fischer > Sent: 1. novembra 2006 13:33 > To: Java > Subject: Re: Co jde v .NET a nejde v Jave? > > > Petr Synek píše v St 01. 11. 2006 v 01:20 +0100: > > Co se tyce dokumentace, tak v .NET podle mne neni dokumentace zas o > > moc lepsi nez v Jave (kdyz se budeme bavit zejmena o core > J2SE knihovnach). Snad jen je v MSDN o neco vic prikladu jak > konkretni tridu pouzit, ale myslim ze ani Java 1.5 uz se nema > za co stydet (oproti napr. 1.3. verzi). > > V .NETu mi ale dost chybi moznost si prohlednout zdrojaky > knihoven frameworku. Takze opravdu nezbyva nic jineho nez se > spolehnout pouze na dokumentaci (coz nebyva idealni) nebo na > google (to ale zbytecne zdrzuje). V Jave lze primo nahlednout > do zdrojaku (napr. podivat se co vlastne vraci ten zatraceny > Boolean.getBoolean(...) ze? :-). > > > > Co se tyce core knihoven, tak ty mi prijdou .NET knihovny > ponekud vic > > intuitivni. > > Napr. string.IsNullOrEmpty() je docela uzitecna staticka > metoda tridy String. V Jave musime psat porad dokola "if (s > ==null || s.length() = 0)" (i o dost podivnejsi ekvivalenty > lze casto potkat) nebo si napsat vlastni externi utilitu > (prip. stahnout neco hotoveho z Jakarta Commons). > > > > Dale napr. prace s datumem (DateTime) a casovym usekem (TimeSpan) a > > jakym zpusobem se tyto 2 tridy dokonale doplnuji (scitani, > odcitani, staticke helper metody na vytvareni) je ukazka jak > ma .NET dobre propracovane nektere knihovny. > > Kdyz se pak clovek podiva na java.util.Date a ty mraky > deprecated constructoru a metod, tak si uvedomi, ze vlastne > cely Date je uz dnes jen docela osklivy wrapper nad jednou > long promennou a nic vic... Ale neni to rozhodne to co by > clovek intuitivne od Date tridy cekal. > > Pokud chci napriklad vytisknout cas tedy v .NETu > "Console.WriteLine(DateTime.Now);" tak v Jave (jsem pres > google http://www.rgagnon.com/javadetails/java-0106.html) > zjistil ze musim pouzit minimalne tridy Calendar a > SimpleDateFormat a provadet s tim docela slusne harakiri. Bez > googlu, je toto prace na min. 5 minut. > > > > To me pripomina jednu vec, i kdyz bych nerad mlzil. Neni v > .NETu nahodou mozny rozsirovat existujici tridy o novy metody > (muzete si dopsat svoji vlastni metodu do existujici String > nebo Date tridy - tedy podobne jako treba ve Smalltalku)? > Chapu, ze nekomu to pride jako prasarna, ale je to jen trosku > jinej styl OO programovani. > > Muzete si pak do String tridy dopsat treba funkci getFiles() a pak > staci: > > "c:\data".getFiles() > > To neni zly ne? :) > > pf > > > > >