Proč je Java pomalá a problémová?

Tomas Rehak

Re:Proč je Java pomalá a problémová?
« Odpověď #90 kdy: 18. 12. 2013, 08:22:14 »
Co treba Cassandra? Naprosto nezbytna nosql vec, pro urcitou tridu vyuziti zasadne lepsi nez treba HBase.
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.



Re:Proč je Java pomalá a problémová?
« Odpověď #92 kdy: 18. 12. 2013, 08:36:21 »
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 :))

Re:Proč je Java pomalá a problémová?
« Odpověď #93 kdy: 18. 12. 2013, 08:39:11 »
Díky, Filipe. Ale žádná z těch zmíněných věcí není v té oblasti majoritní hráč, ne?

Re:Proč je Java pomalá a problémová?
« Odpověď #94 kdy: 18. 12. 2013, 09:26:18 »
Díky, Filipe. Ale žádná z těch zmíněných věcí není v té oblasti majoritní hráč, ne?
V případě Jabber serverů jsou myslím tři nejpoužívanější – ejabberd, jabberd a OpenFire (v tomto pořadí). Ty javovské relační databáze se používají hlavně s java aplikacemi, často jako embedded databáze, čímž trochu tvoří svou vlastní oblast. Možná by se daly srovnávat s SQLite. 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.

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áč.

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.


shini

Re:Proč je Java pomalá a problémová?
« Odpověď #95 kdy: 18. 12. 2013, 09:31:56 »
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?

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?:)

Jinak treba Netflix do toho uklada videa, co streamuje.


Re:Proč je Java pomalá a problémová?
« Odpověď #96 kdy: 18. 12. 2013, 09:39:27 »
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?!)

Re:Proč je Java pomalá a problémová?
« Odpověď #97 kdy: 18. 12. 2013, 09:42:34 »
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 :)

Ale spis mi slo o to, ze mi prijde slozitejsi napsat clusterovany, linearne skalovatelny a fault-tolerant jabber server nez nosql. Ale to je muj ciste laicky neinformovany odhad, mozna se mylim.

Pavel Tisnovsky

Re:Proč je Java pomalá a problémová?
« Odpověď #98 kdy: 18. 12. 2013, 09:50:50 »
no kazdopadne je zatim ten dojem z vykladnich skrini ponekud rozpacity...par utilit a klientu,jedna sice prulomova (ale ne po technicke strance) hra, par request/response serveru co spis zatizi I/O a ne CPU...zatim byste me panove nepresvedcili ze se v jave da napsat neco velkeho a vykonneho:-)

A to já bych o něčem pěkném, používaném a stabilním věděl - je to vlastní JVM :-) Za ty roky se to vyvinulo ve výkonnou platformu, nad kterou se staví další jazyky, takže když někdo nechce z nějakého důvodu přímo Javu (jako jazyk), tak má na výběr ze spousty možností (Groovy, Scala, Jython, JRuby mé oblíbené Clojure a pro webisty i Rhino). A navíc je JVM i v určité míře "pluginovatelná", takže když někomu nevyhovují standardní knihovny, výměna/náhrada je věcí několika minut, nevyhovuje několik dodávaných GC? - taktéž lze přidat další, HotSpot je pro embedded příliš rozsáhlý?, fajn dáme JamVM, CACAO atd. atd. A na to, kolik toho JVM poskytuje za služby, to vlastně není až tak velký balíček...

shini

Re:Proč je Java pomalá a problémová?
« Odpověď #99 kdy: 18. 12. 2013, 10:08:22 »
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 :)

Ale spis mi slo o to, ze mi prijde slozitejsi napsat clusterovany, linearne skalovatelny a fault-tolerant jabber server nez nosql. Ale to je muj ciste laicky neinformovany odhad, mozna se mylim.

Skoda, ze to vyvojarum Cassandry nikdo nerekl, nemuseli by se s tim ta leta patlat;).

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:)

Btw zminil tu uz nekdo treba Android? Ten je docela rozsireny;) A ono je to rozlezle i v ruznych televizich, mate to v kazdem Blu-Ray prehravaci..

Re:Proč je Java pomalá a problémová?
« Odpověď #100 kdy: 18. 12. 2013, 10:33:48 »
JVM určitě je jeden z nejvyladěnějších VM. Ale jednak JVM =/= java
Výtky k rychlosti nebo paměťové náročnosti se ovšem mohou týkat výhradně JVM, nikoli Javy jako jazyka. Ostatně Java jako jazyk je vlastně jen assembler pro JVM, takže tam výkonnostně proti samotnému JVM není co zkazit.

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á?)
Stejně ale platí, proč nabízet engine pro prostředí (JVM), které nakonec bude neefektivní a nikdo to nebude používat?

trololol

Re:Proč je Java pomalá a problémová?
« Odpověď #101 kdy: 18. 12. 2013, 10:45:50 »
Btw zminil tu uz nekdo treba Android? Ten je docela rozsireny;) A ono je to rozlezle i v ruznych televizich, mate to v kazdem Blu-Ray prehravaci..

dik za hezky darek, citim se jak kdyby mi bylo 5 let. ted jeste vyjmenovat ty zarizeni, ktere nepouziva jen minula generace, ale i ja :D
/trololol

Re:Proč je Java pomalá a problémová?
« Odpověď #102 kdy: 18. 12. 2013, 11:13:40 »
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.

Taky to snadno může být tradeoff - bude sice náročnější to napsat tak, aby to ty zmíněné vlastnosti mělo, ale potom to bude rychlejší než kdybysme to psali v Erlangu a měli to hotové za měsíc.

Pro jistotu ještě polopaticky: netvrdil jsem, že je Erlang lepší, jenom čistě to, že clusterovatelnost a  fault-tolerance mě nijak nešokuje. To je vše.

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

Re:Proč je Java pomalá a problémová?
« Odpověď #103 kdy: 18. 12. 2013, 11:15:21 »
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.

Re:Proč je Java pomalá a problémová?
« Odpověď #104 kdy: 18. 12. 2013, 11:16:38 »
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.