5836
Vývoj / Re:Proč je Java pomalá a problémová?
« kdy: 18. 12. 2013, 14:24:14 »Záleží na tom, čemu říkáte operační systém.Java OS, JNode, JX, ...
Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.
Záleží na tom, čemu říkáte operační systém.Java OS, JNode, JX, ...
Úvodní dotaz takový určitě nebyl.Mně právě přesně takový přišel: "I cizí "velké" java aplikace mi dělají problémy více, než jiné (jdownloader, eclipse, android) pády, záseky, lagy... " -- já jsem to pochopil jako "proč když vidím, že je něco napsané v javě, očekávám, že to bude obrovský moloch s velkými nároky na paměť, nevyrovnaným výkonem atd.?" Ne že bych s tím souhlsail nebo na to uměl odpovědět (žádnou javovou aplikace pravidelně nepoužívám ani na serveru nespravuju), ale pochopil jsem ten dotaz takhle. Navíc to slýchávám od adminů celkem často...
A pokud by se o tom diskutovalo, tak se přece nediskutuje o programovacím jazyce, ale o platformách a architekturách.Aniž bych do javy viděl, předpokládám, že JVM je taková obdoba cpu instrukční sady a java je prostě jazyk nad tou sadou. Takže jazyk je určitě limitovaný sadou, ale ne naopak - tj. pokud by byla pravda, že aplikace v javě jsou naprd, neplyne z toho, že je naprd JVM, protože můžou (aspoň teoreticky) existovat jazyky, které nad JVM budou v celkovém dojmu pracovat líp.
you wish... https://news.ycombinator.com/item?id=5118070To je dobrá připomínka - proč vlastně všchny "JVM-only" operační systémy zkrachovaly. Čistě pocitově mi to přijde podobné jako u toho Looking Glass - prostě se ukázalo, že java na tyhle věci vhodná není. Ale to je fakt jenom úplně laický neinformovaný odhad zvnějšku.
Jenže tenhle typ výkonu je úplně něco jiného, než o čem se tu celou dobu diskutujeJá jsem tu diskusi pochopil tak, že lidi zajímá celkový "dojem z aplikace" a ne srovnávání nějakých abstraktních algoritmů v ideálních podmínkách...
Všechny jsou stejně rychlé nebo pomalejší, než Java, a všechny jsou paměťově stejně náročné nebo náročnější než Java. Ono opravdu těžko vykouzlíte něco rychlejšího než assembler pro danou instrukční sadu. Jediná instrukce JVM, která nemá obraz v Javě, je invokedynamic, která se objevila až ve verzi 7. Jinak veškerý kód z těch jiných jazyků nad JVM můžete přeložit zpět do Javy – a tím se těžko zpomalí.Výkon aplikací ale není jenom o hrubém výkonu, ale taky o tom, jak je to napsané. Např. proto, že se to dá líp nebo hůř paralelizovat. A to už s jazykem souvisí setsakramentsky...
pamatam si, na odporucanie kupit akcie GM par dni pred krachom s odporucanim (stali temer nic), ze je to skvela investicna prilezitostTo je nějaký omyl, ne? IPO GM proběhlo koncem roku 2010 a za ty tři roky udělaly cca 20%.
No, ted jsem zrovna cetl, ze se behem mene nez 2 tydnu s padem BTC "vyparilo" 5 miliard USD zainvestovanych do teto meny...To je nesmyslná interpretace založnená na virtuální realitě jménem tržní kapitalizace.
Výtky k rychlosti nebo paměťové náročnosti se ovšem mohou týkat výhradně JVM, nikoli Javy jako jazyka.Tahle teze se velmi lehce vyvrátí - stačí porovnat tyhle parametry u různých jazyků nad JVM.
A vazne radost s tim neco delat nebo nedejboze v tom neco menit:)No když někdo Erlang neumí, tak to asi je velkej opruz, to je jasný. Ale jinak v tom nevidím problém - napsal jsem do ejabberd několik pluginů a neměl jsem s tím sebemenší problém, naopak - fungovalo a funguje to skvěle a bylo to hotové cca za den.
Skoda, ze to vyvojarum Cassandry nikdo nerekl, nemuseli by se s tim ta leta patlat;).Opravdu jsem neměl v úmyslu se bavit tímhle tónem. Ale dobře: není to dobrý argument, protože pro volbu javy si určitě umíme představit i jiné než čistě technologické argumenty, že jo. Např. že když to bude v javě, bude to víc lidí chtít používat, snadněji se najdou vývojáři, CIO k tomu budou vstřícnější, bude se to líp integrovat atd. atd.
Ad jabber, v Jave je napsany +-druhy nejpouzivanejsi server, prvni je v erlangu. A vazne radost s tim neco delat nebo nedejboze v tom neco menit:)Je dobré vidět kontext: http://www.process-one.net/images/uploads/IMtrends_stats_by_domain.png
Nejjednodussi? Prijde vam, ze bazmek, co se dokaze clusterovat po celem svete mezi radou datacenter, linearne skalovat, zotavovat se z poruch atd atd je nejaka jednoducha hracka?Abych rekl pravdu, tak tyhle vlastnosti me nijak zvlast neohromuji, mj. proto, ze aplikaci s takovymi vlastnostmi zvladne napsat zacatecnik v Erlangu za den

V případě Jabber serverů jsou myslím tři nejpoužívanější – ejabberd, jabberd a OpenFire (v tomto pořadí).S tím, že AFAIK ejabberd má zdaleka největší podíl.
Samozřejmě je to jiná liga, než velké databáze typu Oracle nebo PostgreSQL – ale tam je to do jisté míry dané také tím, že ty databáze jsou starší, než Java, a lidé, kteří tyhle databáze programují, se najednou nerozhodnou, že začnou s novou databází na zelené louce a v jazyce, který do teď neznali.Tak nějak jsem nad tím taky uvažoval. A přesně o tohle mi šlo - nikomu nestojí za to velké věci přepisovat do Javy, protože by tím nic nezískal.
NoSQL není jedna oblast, těch majoritních hráčů je tam spousta. A skoro co nová implementace, to nový jazyk nebo jejich kombinace… Ale HBase/Cassandra je podle mne ve své „podoblasti“ majoritní hráč.Ok, díky za osvětlení, v téhle oblasti se nijak zvlášť nepohybuju. Jak jsem se teď zběžně díval na benchmarky, zakopl jsem o HyperDex, kterej jsem do té doby neznal. Pokud jsou benchmarky korektní, vypadá to docela impozantně. Až na to, že u těchhle věcí strašně záleží na use case (velikost dat vs. velikost paměti, typy transakcí, typy dat...) Nějak komplexně a korektně se to asi porovnat nedá...
No a když už se to zmínily relační databáze, Jabber a NoSQL, zmíním jedno prostředí, kde se tohle všechno dá používat – Google App Engine, hostované aplikace se tam píší v Javě (nebo jiných jazycích pro JVM) nebo Pythonu.JVM určitě je jeden z nejvyladěnějších VM. Ale jednak JVM =/= java, jednak to bude určitě do velké míry marketingové rozhodnutí spíš než technické (proč by nabízeli engine pro jazyky, které nikdo nepoužívá?) a pokud to tak je, tak uvidíme, jestli se třeba v budoucnu nezmění... (dart?!)
Co treba Cassandra? Naprosto nezbytna nosql vec, pro urcitou tridu vyuziti zasadne lepsi nez treba HBase.Ok, tak nosql bysme meli. To je nejjednodussi z tech veci, co jsem zminil. A dalsi?
To totiz neni tim chlapci, ze by ty veci neexistovaly, ale tim, ze ze svych pozic bastlicu utilit v bashi a homepagi v PHP tak daleko nedohlednete.To mluvis o kom? Ja PHP neumim, takze prosim neprecenovat! Zustanme jenom u bastlicu utilit v bashi
Asi byste měl nejprve sám vyjmenovat pár takových aplikací napsaných v C++ nebo čemkoli jiném. Ať víme, kam míříte. Zatím je to totiž takové „uhodněte, na co myslím“, vůbec není jasné, co myslíte tím „velké a výkonné“.Přijde mi to taky jako trošku přihlouplá debata, ale je fakt, že jsem třeba zatím neslyšel* o úspěchu nějakého v-javě-napsaného RDBMS, nosql, jabber serveru, voip... Bohužel ani Looking Glass se po několika letech nepodařilo rozběhat k aspoň jakés-takés spokojenosti...