Psal jsem docela dost v .NET. Ted zrovna pisu projekt v Jave. Podle mych zkusenosti je .NET super pro typicke MS prostredi. Takova spoluprace s Officem (a ten uzivatel business aplikaci vetsinou taky pouziva) je opravdu snadna.Kdyz ale pisu server, ktery ma byt rychly a real time obsluhovat dost klientu asi nedokazu predstavit jinou kombinaci nez UNIX (treba zrovna Solaris) a JAVA (V C pod UNIXem je to zase moc pracne).Toto je spis otazka do diskuze:Kdyz jsem si napsal takovou serverovou aplikaci v .NET a poradne pouzival thready, nezdalo se mi, ze by byly spravne organizovane z hlediska priorit, konzumace a uvolnovovani prostredku atd. Zkousel jsem to na Win2000 (predtim i na WinNT). Ono to mozna bude spis otazka operacniho systemu, ale aplikace vyvinuta v .NET jinde nebezi :)Meli jste podobne problemy?
... uz to svinstvo neber ...
Kdyz se chci pobavit, tak si vyhledam tvuj clanek, ale stejne ho nikdy nedoctu do konce ...
Nevim, jestli ti ti drogy plati M$ nebo kdo, ale tvoje zaujatost vuci vsemu anti-Windowsovskemu, anti-DotNetimu a anti-M$ tomu nasvedcuje.
Prober se a bud trochu objektivni. Proste produkty programujou lidi. Lidi delaj chyby. Kazdy vetsi softwarehouse ma problemy s tim, jak ukocirovat kvalitu svych produktu, protoze dobrejch programatoru neni zas az tak moc a prave proto ukocirovat velkej projekt neni zadna sranda.
Nekdy me az zarazi tupost a vulgarita lidi. Tyhle mam nejradsi, bud se naparuji v parte a nebou delaji ze sebe vseznalce a bouchace, kdyz se mohou schovat za anonymitu netu. Kdyby neco takoveho bylo o MS, tak se tu tahle luza bude vyzivat v nadavkach a bude vsechny zminky pokladat za objektivni. Kdyz ale najednou nekdo rejpne do jejich konceptu, uz je to lez, podvrh apod. Zkratka luze byla a vzdy zustane jen luzou, bezpaterni, bez moralky, bez slusnosti.
Az Vam pane naroste pater, zkuste se postavit a trosku narovnat a rici tohle panu Holcikovi do oci. Zatim jste jen naprosty hulvat a zbabelec.
Neviem aky maju kdejaki amateri alebo profesionali nazor, moj nazor je, ze java ako platforma rulez Ulahcuje a zrychluje tvorbu aplikacii, automaticky znizuje pocet chyb v programe a urychluje ich detekciu. Presiel som z c na c++ a nakoniec na javu a naspet ist nechcem, poklial mi nebude treba nieco extra rychle alebo nativne. Keby som to chcel zhrnut, najlepsie to vystihuje toto: Mam viac dovery v software napisany v jave ako v c. To bol moj nazor a nechcem sa vyjadrovat k clanku, kedze podla mna je jeho vyznam zhola nulovy. Kedze som nejaky ten rok v IT, viem ako to chodi pri vyvoji a co sa vsetko premelie vo firme interne ... a co vyjde na povrch externe.
cetl jsem dosti studii a me osobni zkusenosti to potvrzuji, ze RAD je jeste vice R v .NET nez za J2EE. Samozrejme ted uplne ignoruju Forte ci Netbeans ci jak se to vubec jmenuje, to by pak javovy vyvoj "R" vubec nebyl , ta firma nedokaze pro sve vyvojare dodat pouzitelne IDE
Nechcete nam tady nahodit jeste par zdrojovych kodu, ktere prave nejaky vyvojar ze Sunu vypotil? Ve Win XP si muzete zvolit Javu jakou chcete (treba od MS kdyz se vam ta od Sunu nelibi). A krome toho, co je zadarmo, to nekomentuju, a uz vubec bych se neodvazil dat sem nejake interni informace. p.s. Neverim, ze tohle podepsal Holcik dobrovolne a ze byl pri smyslech. Ja osobne si myslim, ze mu nekdo zacpal hubu prachama.
Já nevím,jak se Vám jezdí na vašem Solarisu,ale já měl Javu 250 péráka a nemůžu si stěžovat.To co vy jste za život najezdili,já na ní odcouval!Nedám na ní dopustit a vy už se taky na ten Solaris vyserte!(Solaris? To je nová mašina od Kawasaki?)
AhojJsem Sunovsky zamestnanec, takze si nasledujici preberte jak chcete.1) Pravost clanku - kontroloval jsem nektera jmena a ty sedi, neboli Julian Taylor je zamestnanec Sunu. Pouzita terminologie je rovnez typicka pro Sun - napr. ARC. Minimalne to tedy napsal clovek znaly firmy.2) Popisovane problemy - kazda chyba ma prirazenou nejakou prioritu a zavaznost. Je tedy mozne, pro chyby v kategorii nizka priorita, nizka severita, cekat na bugfix ponekud dele. Neboli, situace je stejna jako pri vyvoji kazdeho velkeho software.3) Memory consumption - problem je, ze vetsina lidi meri spotrebu virtual memory, nikoliv resident set size (RSS). A dale, pro zakladni IO operace se v Solarisu pouzivaji pametove mapovane soubory, takze kdyz otevrete 10MB soubor, tak spotreba virtualni pameti vzroste okamzite o 10 MB, skutecna spotreba pameti stoupne jen o malo. Podobne je to s vyhrazenou pameti pro jednotlive thready. Pri implementaci Javy se dale pouzivaji nektere triky jako stranky hlidajici preteceni (kazdy pokus o r/w/x takoveto stranky vyvola trap). Temito strankami se obklada kde co - opet se to projevi na spotrebe virtual memory ale v zadnem pripade na spotrebe fyzicke pameti.4) Solaris 7 - Solaris 8 - drive se pod pojmem spotrebovana pamet rozumela RSS, v Solarisu 8 je to virtualni pamet5) Rozdil mezi Solarisem na SPARC/Intel; Java uz neni ciste interpretovana zalezitost, nejpouzivanejsi metody se prekladaji primo do nativnich instrukci procesoru. SPARC je 64 bitovy RISC, coz typicky prinasi vetsi velikost prelozeneho kodu.6) Rozdil mezi RSS na SolSPARC a Windows - tak tady nevim, mam dojem ze Solaris interne pouziva 8kB stranky, coz u mensich programu (vetsi fragmentace pameti) muze vest k vetsi RSS nez na Windows.7) Ultra 10 je vskutku velmi stary hardware
Áá, zaměstnanec SUNu, tak to se budu moci zeptat na to kam bude SUN expandovat v následujicích letech. Mám rád UNIX, mám rád RISCy, Java mi přijde jako zajímavá věc, ale když to vyvážím věcma jako .NET, Linux, IA apod. začínám mít pocit, že SUNu se dostane do letargie v níž je nyní Novell nebo SGI a nebo IBM s mainframe. Tím nechci říci, že uvedené věci jsou lepší než produkce SUNu, ale tak nějak se přirozeně musí snižovat podíl na trhu vzhledem k poměru výkon/cena ....
Pokud vas zajimaji Sunovske technologie, zaregistrujte se na www.sun.cz na Sun Forum 2003, 20. unora v hotelu Hilton v Praze.Strucna odpoved je, ze chceme expandovat v oblasti datovych center, storage, software a sluzeb. Co se tyka Linuxu, tak dodavame Linuxove/Solaris x86 servery. .NET je konkurence Jave, takze zadne plany s nim nemame. Nekteri lide zde psali, ze se jim s .NETem dela lip nez v Jave. To je ciste otazka vyvojarskych nastroju a nesmime zapomenout, ze Microsoft licencne kazdeho zavazuje kod vytvoreny pomoci Visual Studia pouzivat jen a pouze na Microsoftich platformach, t. zn., ze projekt Mono (open source .NET) vam zde nepomuze. IA64 neni procesor vhodny pro Sunovsky hardware, spotreba elektriny pro napajeni a chlazeni multi procesorovych serveru by byla obrovska. Dalsi problemy jsou s coherency protokolem, prekladaci a ISA. Mam dojem, ze nekde jsem videl clanek, ze Linus Torvalds nema rad IA64 a ze podobne smysleji inzenyri z Microsoftu.Vice se lze dozvedet, popripade prodiskutovat, na vyse zminem Sun Foru.
Možná bych měl lepší otázku, v čem je SUN nyní jednička? Napadá mě podíl na trhu RISC počítačů, pak už nic.
Sun proste NEMA PRACHY . Jejich akcie zklamali L.Ellisona (kdo z Vas vi, ze MS/Oracle/Sun sli na trh ve stejny den a zatimco u MS se hodne slavilo, u Oracle mene, u Sunu moooc ne uz v den uvedeni na trh a od te doby to take neni moc slavne, skoro se tu tesim na clanek o delistovani z trhu .
Skoro si myslim, ze SW divize je z velke casti (ci cela) cross-financovana z HW divize a myslim, ze marketingova bublina kolem Javy je jiz take dosti splaskla.
BTW: Nedavno jsem mel s kolegy krasnou debatu kdo pouziva Entity beany jako takove a kdo vubec nekdy pouzil CMP. Jej, to se tu ani snad neda citovat
PRACHY jsou jiste problem.Co se tyka nepouzitelnosti CMP u entity EJB, tak uz me nekolik lidi presvedcovalo, ze je to podstatne pomalejsi nez obycejne JDBC. Prvni problem je, ze tato technologie neni u nekterych app serveru jeste dotazena, druhy problem je, ze vetsina lidi neumi napsat dobry benchmark, neboli, pise tak zvane mikro benchmarky, ktery je do 10s hotov.Nicmene specjappserver2001/2 benchmark stresuje hodne napriklad cachovaci a prefetchovaci strategie EJB containeru.Takze - zkuste si ten benchmark prepsat do cisteho JDBC a porovnat ho s verzi s CMP, napr. na app servru od Oracle.
A to jste me ani nepokaral za to jmeno!!!. L.Ellison je preci Oracli clovek, takze se omlouvam. Vas sef Scott McNeally , ktery ac nerad bude vzdy max cislo 3
Uvdene chyby su viac-menej nevyznamne:1. Nemaju vplyv na rychlost (iba na spotrebu RAM)2. Na 90% sa prejavuju iba v JAVA aplikaciach s GUI (Swing, AWT). Solaris sa ale pouziva predovsetkym ako server a bezia na nom serverside aplikacie (napr. SUN ONE AS).3. SUN to tak ci tak nebude opravovat. Myslim, ze uz preskupil sily do vyvoja vlastneho Linuxu a bude sa snazit optimalizovat vykon Linuxu (a JAVA na nom) na Sparcoch.
vykonostni nekompatibilita jednotlivych implementaci JVM opravdu existuje
muj znamy, ktery delal primo pro sun na Forte4J mi vypravel o obrovskych rozdilech ve vykonu a narocnosti stejne aplikace
v podstate to s platformi nezavislosti vypadalo tak, ze nektera funkcnost se provadela jinak na solarisu a jinak na windows, aby se doahlo podobne vykonosti (neco jako if(widows)...else if(solaris) ... else if ... )
to samozrejme nehani javu jako platformu, jen lenost sunovych programatoru. sun je dobry v tom prichazet s novymi technologiemi, ale s jejich implementaci ma obcas potize
Pro pripomenti - jsem Sunovsky zamestnanecCo se tyka tech if/else tak je to do jiste miry pravda. Co si vzpominam tak vetsinou se vztahuji k rozdilnemu chovani XWindows, potazmo window manageru, a MS Windows. Rozdily jsou ve zpracovavani focusu, inicializaci fontu, atd. S tim toho ovsem Java moc nenadela.Co se tyka "obrovskych" performance rozdilu, tak tech si na srovnatelnem hardware nejsem vedom.
O pravosti clanku bych dost pochyboval, nedovedu si predstavit, ze by jakakoliv firma, pokud by k tomu nebyla vyslovene dotlacena, na sebe zverejnila neco podobneho. Pokud by inzenyri ze Sunu napsali takovyto clanek, urcite by byl uverejnen maximalne dovnitr firmy a velmi dusledne by se drzel pod poklickou. Je to podvrh.
Ale dyť je to právě primárně směřováno dovnitř firmy, jen to uniklo ven. Proto je to taky na internal memos, nikoli external memos. Jistě, máte plné právo tomu nevěřit, nicméně ten text je orientován skutečně více konkrétně na jednotlivé problémy se zřejmou snahou Javě pomoci, nikoli jí uškodit.
K tématu bych nic ani neměl, ale prý je dobrým zvykem ověřovat pravost informací ze dvou nezávislých zdrojů, který byl ten druhý?
Popravdě řečeno, dělat technologický bulvár je zajímavá myšlenka, svého času to dělal svět na modro. Jen přemýšlím zdali je to důsledek úpadku duchovního nebo ekonomického.
fuck j mi dost lito lidi, ktery se naucili jeden programovaci jazyk, v nem delaji vsechno, at je to cokoli, a vsechny ostatni technologie jsou tudiz podle nich naprosto k nicemu a je to ztrata casu alespon neco si o nich precist, kdyz uz nejsou schopni se je naucit.Musi to bejt dost tezkej zivot, s klapkama na ocich a na usich.
Kdybyste opravdu o jave nebo .netu neco vedel, tak byste asi brzo zjistil, ze nabizeji to nejkomplexnejsi a nejlepsi reseni pro stavbu business aplikaci. Lidi, kteri delaji v jave/netu se k tomu pravdepodobne odhodlali po nejakych jinych (spatnych) zkusenostech s jinymi frameworky.Klapky na ocich i usich mate vy
v tomhle s vami souhlasim, rad bych vedel, v cem ten pan pise business aplikace.. Predpokladam, ze v PHP a s MySQL
To je dobry, Ultra 10 byla trhu urcite uz 98 a nikdy to nebyl server.Ukazte mi 5 let stary zelezo, na kterem vubec pobezi .NET Clanek je asi podvrh, protoze nam ve firme na srovnatelnem zeleze funguje Java srovnatelne rychle (Ultra 60 ~ Pentium III 1GHz).
Článek může být velmi snadno podvrh, není zveřejněn na serveru Sun, ale na serveru, který se zabývá zveřejňováním tajných dokumentů, takže mu to mohl klidně někdo od konkurence dohodit jako údajnou bombu.
Nicméně jsou tam nepříjemné podrobnosti. Např.:
Why is the UltraSPARC III/Solaris 8 system using a lot more memory than a UltraSPARC II/Solaris 7 system (with every other thing being equal)?
NOTE: The response to this e-mail was to suggest moving to a different build of Java 1.2.2 since the indicated build on Solaris 8 had a known bug; it should be noted, however, that the 9GB memory footprint for Solaris7 is still unusually large.
Takže jaký máte systém?
Nebo tohle:
Among the various incompatibilities across minor releases are:a) In JDK 1.1 Class.fields() returns only public variables. In 1.2, protected and private variables are returned.b) Swing table sizing calculation changed from Java 1.3 to 1.4.c) Swing JFrame launch behavior changed significantly from Java 1.2.2 to Java 1.3.1.Each of these examples is simple, but they demonstrate the general problem that people cannot program for a particular release of Java and expect that their programs will continue to run. This is a serious problem now, but has the potential to become a show-stopper as technology such as auto-update advances.
Musím říci, že jsem se setkal s problémem, kdy se poměrně velká aplikace napsaná v Javě dala spustit až po návratu ke starší verzi JVM. Na druhé straně - ta aplikace funguje a je použitelná - jako i spousta jiných aplikací napsaných v Javě. Java prostě má problémy (nemalé), ale běžně se používá a funguje (dobře).
To byste museli používat tu aplikaci TogetherJ. Jedná se asi o CASE nástroj a zřejmě ne moc efektivní. Viz:
The largest program in that list is TogetherJ. From the standpoint of resource requirements, TogetherJ does much of what Rational Rose does but Rational Rose appears to function in less than 250M. Startup time is effected as well. For example, on an Ultra10 TogetherJ requires 5 minutes to load and start. SMC, Sun's flagship system admin console, takes between one and two minutes to reach the point that it can be used.
Teď jsem si ten článek prošel celý a ty závady mi nepřipadají až tak zásadní.
No já tohle četl již včera na Slashdotu a v diskuzi pod tím se docela často objevoval názor, že by mohlo jít o podvrh.
S Javou na Solarise pracujem uz niekolko rokov a s kludnym svedomim mozem povedat ze ziaden velky problem nevidim takych rozmerov ako sa ho tu snazi pan Holcik preznetovat nevidim.
Tohle je pouze drobný problém Javy, který bude v reálném čase vyřešen. Ta má několik poněkud větších problémů. Myslím, že příjde čas pro J3SE, které nebude muset být zpětně kompatibilní (např. Windows byl takový krok ku prospěchu). Některé třídy jsou totiž navržené opravdu špatně. Stále je to ovšem výborný stav oproti technologii .NET
"Stále je to ovšem výborný stav oproti technologii .NET"Něco konkrétnějšího by nebylo? Co jsem se zatím většinou setkal s lidmi pracujícími v Javě, kteří byli schopni překročit své ego (typu vše od MS je shit), tak jsou na .NET vesměs pozitivní reakce... Sám v Javě nedělám, v C# jo, takže osobně nemůžu soudit.
buvarif(document.layers){document.captureEvents(Event.MOUSEUP);}document.onmouseup=PrxOMUp;
jsme jeden z nich ...hooodně dlouho jsem nadával - obecně nemám MS rád ...upřimně - dělá se mi v NETu líp než v JAVĚ - musím říci bohužel
Ale jistěže bylo: nepřenositelnost.Neřekl jsem, že je .NET shit. Je mladší a tak se mohl vyvarovat mnoha chyb a nepřesností v návrhu, které jsou do této doby v Javě.
Pokud bude J3EE zpětně nekompatibilní, jak píšete, tak se zruší přenositelnost mezi starými a novými aplikacemi. To jest bude nutné je upravit/přepsat. To je také přenositelnost, která se ztratí.Někdy mám pocit, že stejná věc v Javě je výhoda a vítaná změna, zatímco v .net je to něco, co je nutné zkritizovat. Sláva objektivitě.
a budete tuhle kravinu rikat az bude Java slavit 10 let?
Nevím, co máte konkrétně na mysli.
Vezmete si kolik let je Jave a jake problemy se s ni resi a jsou castecne zminene i v tom dokumentu Pak vam to snad dojde co mam na mysli
:))) vida ,ze pan Holcik ma krapet mizerne znalosti - ad1) solaris ultra 10 je nejslabsi WORKSTATION (tudiz stoco vam stoji na stole) ,tery sun dodavaad2) oni nadavaji protoze chcou tam c++ - coz je trosicku o necem jinem :))))))))
Von Sun jeste Ultra10 prodava?
TO, ze je Ultra10 nejslabsi workstation ovsem furt nic nemeni na skutecnosti, ze to sezralo 900MB pameti
Takze je tu sance pro .NET na Solarisu ? Konecne by byl pokoj
Mono?
Ale: neuveritelna spotreba pameti je zpusobena (mimo jine) pouzivanim garbage collectoru. .NET pouziva garbage collector take takze se asi zadny zazrak cekat neda.
hlavni problem je Sun a java. java je shit a sun podela co muze..net rox
To samozrejme pravda neni. Java samozrejme ma garbage collector! Ale pouzivani garbage collectoru je jen pro amatery!
Mozna by si stacilo ten prispevek poradne precist: "... .NET pouziva garbage collector take, takze...".Jinak teda nevim jak v Jave, ale v .NET podle meho nepouzivat GC v podstate ani nejde. I kdyz se vyvola obj.Dispose(); (tam kde to jde...), pripadne obj = null; tak to jeste neznamena, ze je ten objekt okamzite uvolnen z pameti. GC si sam rozhodne, kdy ho uvolni (max. tak udelat GC.Collect();). Pochybuju taky, ze by to Java mela resene jinak. Takze se rad necham poucit, jak se lze pouzivani GC vyhnout, kdyz je "jen pro amatery"...
Je to vlastne naopak, v Jave se bez GC ani nehnete, presne jak rikate nastaveni reference na null objekt nezrusi jen oznaci ze jde o objekt urceny ke zniceni a GC sam rozhodne kdy udela destroy
naopak v .NET (kde je GC take) jde psat i unmanaged kod (samozrejme plnohodnotne pouze v C++), ktery s normalnim managed kodem bude spolupracovat ale ktery nebude vyuzivat GC
vyhybat se GC je podle me hloupost, samozrejme pokud nekdo pise real time aplikace tak GC je velmi nevhodny, ale to snad proboha nikdo nepise v jave nebo .netu
no a pokud nekdo pise klasickou komercni aplikaci (business application aby bylo jasno v terminech) tak naopak vyhody GC jsou velmi zadane (zkraceni vyvoje, mensi nachylnost k chybam jako memory leak atd)
Ahoj neda mi to abych nereagoval. Jiz nekolikrat jsem se setkal s tzv. "Bussines application" v jave. Melo to spolecnou jednu vlastnost, zralo to neuveritelnym zpusobem pamet a neefektivne to pristupovalo k systemovym zdrojum. Nechi rikat ze za to mohla java jako takova ale Java + BFU + Marketing + $ je smrtelna kombinace. Obcas si v zertu rikam ze Javu vymyslely a pres Sun procaply firmy co vyrabej pameti a XML zase firmy co produkujou disky ))
No ja si myslim, ze velke aplikace bez garbage collectoru psat nejdou. Pisu v C++ a pouzivam zde reference counting. Ten je velmi efektivni a rychly. Jeho nevyhodou je nemoznost pouzivat cykly referenci (napr. obousmerny seznam). To ovsem resi garbage collector. Vetsinu objektu lze smazat rovnou bez behu GC. Proste na nej reference neukazuji. Tam kde jsou cykly musi vyuzit lepsi logiku. IMHO nelze ve vetsich aplikacich, ktere pisou ruzne subjekty nepouzivat GC. Zvlast v .NET. Vyhodou je, ze nemusite resit vlastnictvi objektu. Napr. v CORBA kdyz predavate data jinemu objektu musi vzdy vyuzit kopii. Pri pouziti GC to system resi sam a je to efektivnejsi.
V Perlu se to vetsinou resi prez takzvane "weak references". Proste odkaz ktery nezvysuje reference count. Samozrejme musite si dat pozor na to, ze takovyhle odkaz muze byt zcistajasna "undef". (Coz v Perlu neznamena pad systemu ale maximalne vyhozeni zachytitelne vyjimky.) No a samozrejme na to musite myslet pri vytvareni te cyklicke struktury
Jinak naprosty souhlas, psat cokoli vetsiho bez GC je prace pro vrahy. (Doufam, ze to nejaky zavily Ceckar nebude chtit potvrdit.)
Promiňte, chtěl jsem napsat něco konkrétního za těch několik týmů, které znám a které nepovažují GC za amaterismus, ale nutný krok k rychlému a spolehlivému vývoji rozsáhlých aplikací(to že je už i v .NETu o něčem svědčí) ...ale asi jen řeknu: Ivane, Ivane ty jsi ale piča(typ: ...jsi prográmátor přes 30 a programuješ v Cčku)
B.
K tematu JAVA versus NET se nevyjadruji. Jen bych poznamenal, ze se da programovat i ve 30 letech (mam 27). Znam totiz par kolegu, kterym to i po 30 docela mysli.
JW
mě je přes 30 ...a jsem celkem úspěšný programátor a myslím že mi to i myslí ...to měla být kombinace "30+Cčko" ...osobně neznám normálního člověka, který po 30 programuje ještě v C(++) ...ale ty co znám by v klidu prohlásili že "GC je pro amatéry" B.
mě je přes 30 ...a jsem celkem úspěšný programátor a myslím že mi to i myslí ...to měla být kombinace "30+Cčko" ...osobně neznám normálního člověka, který po 30 programuje ještě v C(++) ...ale ty co znám by v klidu prohlásili že "GC je pro amatéry"
Nazor, ze Garbage Collector je jen pro amatery, muze rict jen amater! Zadnej clovek neni neomylnej a dyz udela chybu pri praci s dyn. pameti, tak je to nekdy na zblazneni. Zkus si naprogramovat neco vetsiho, ty CHYTRAKU a uvidis.
Tak si ho vypni ty hňupe (ono to totiž nejde).
"pro amatery" - zajimave je, ze vetsinou ti co vykrikuji tyhle nesmysly delaji ty nejprisernejsi aplikace A pokud si myslis ze GC je jen o autmatickem uvolnovani pameti, tak si o tom prosimte nejdriv neco precti.
Potvrďte prosím přezdívku, kterou jsme náhodně vygenerovali, nebo si zvolte jinou. Zajistí, že váš profil bude unikátní.
Tato přezdívka je už obsazená, zvolte prosím jinou.