Notebook pro vývojáře v Javě

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #60 kdy: 01. 10. 2016, 20:53:13 »
Cílem programátora není psát rozsáhlé molochy. Nejsem placen za řádky, ale za výsledek. Když je má aplikace 100× rychlejší než aplikace konkurenta, tak jsem spokojen dvojnásobně.

Vy mozna, ale zakaznik zaplati treba za 10x vice hodin, nez kdyby to nekdo udelal v Jave. Navic podle dost lidi  ve velkych aplikacich je Java pomalejsi pouze o 0-1x nez C++, ale za vyvoj Javovske verze zakaznik zaplati zlomek penez (vyviji se velmi rychle, skoro vse je standardizovane, zajete nastroje, Java programatori na kazdem rohu) a je to pak snazsi na udrzbu (tusim ze u C++ byly problemy s konvencemi - knihovnami a programatory a napr. stylem pointeru, vse slo resit [a resilo se] mnoha zpusoby v jedne code base; v Jave mate zajete velke knihovny, ktere se pouzivaji na ty molochy, v C++ myslim takoveho nic ani neni). Pokud zvolite spatny nastroj (PHP, C, assembler) a sice dosahnete vyssiho vykonu, ale za cenu napr. o rad vice hodin, tak jste spokojen vy, ne nutne zakaznik. Co tak sleduji vyvoj projektu v Jave, tak vykon se resi spise spravnym navrhem, vhodnymi knihovnami, nastavenim db, optimalizaci dotazu a velmi vyjmecne se meri kazda instrukce a spada se k optimalizaci na urovni bytekodu. Nikdy jsem nevidel, ze by to nekdo resil prepisem do C++. IMO to bude tim, ze takovy vykon potrebuje jen par gigantu na planete, vetsina malych a strednich firem si vystaci s tim, ze to funguje a kdyztak poridi silnejsi zelezo za par supu, protoze se proste nevyplati to cpat do optimalizaci na urovni SW.

Jenže já toho výkonu nedosahuji přepisem do C++ nebo Javy. Dělám to formou objektového návrhu. Už použitím samotného objektového přístupu se aplikace významně zrychlí. Zrychlení nebývá mým cílem, ale dostavuje se tak nějak automaticky právě použitím vhodné architektury. Tím, že mám ten kód výrazně kratší než kdyby byl v Javě, mám aplikaci hotovou dříve.


javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #61 kdy: 01. 10. 2016, 20:57:11 »
Náročné aplikace nikdy v Perlu nenapíšeš, takže je ti úplně jedno, kdy se co začne zpomalovat.
Tím bych si nebyl tak jistý. FlowViewer je psaný jako sada perlových CGI skriptů. Bohužel rychlost nad větším množstvím dat celkem upadá (konkrétně FlowGrapher Analysis s velkým časovým rozsahem).

Ta pomalost může mít spoustu důvodů. Nejspíš bude problém na straně databáze. CGI skript by měl zpracovávat jen tolik dat, kolik se zobrazí.

Určitě, DB to zabila :D



http://blog.carlesmateo.com/2014/10/13/performance-of-several-languages/

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #62 kdy: 01. 10. 2016, 20:59:01 »
Tím, že mám ten kód výrazně kratší než kdyby byl v Javě, mám aplikaci hotovou dříve.

To zase asi ve snu. Java má jedny z nejlepších knihoven vůbec, které v PHP budeš mít až tak za 5 let.

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #63 kdy: 01. 10. 2016, 21:00:02 »
Pokud opravdu vyvijite na takove plecce, tak silne doporucuji se poohlednou po necem, co je z tohoto desetileti (nedavno jsem instaloval xubuntu na notebook s CPU, u ktereho zacal prodej pred 15 lety, a mel 4GB pameti!).

Jenže to často vyvíjím pro zákazníky, kteří ani ty 4 GB nemají. Nemůžu pro ně dělat něco, co jim na jejich mašinách nepojede. Za to by mi nezaplatili.

Re:Notebook pre Java Vyvojara
« Odpověď #64 kdy: 01. 10. 2016, 21:00:32 »
Náročné aplikace nikdy v Perlu nenapíšeš, takže je ti úplně jedno, kdy se co začne zpomalovat.
Tím bych si nebyl tak jistý. FlowViewer je psaný jako sada perlových CGI skriptů. Bohužel rychlost nad větším množstvím dat celkem upadá (konkrétně FlowGrapher Analysis s velkým časovým rozsahem).

Ta pomalost může mít spoustu důvodů. Nejspíš bude problém na straně databáze. CGI skript by měl zpracovávat jen tolik dat, kolik se zobrazí.
Máte pravdu, návrh v tom také bude mít prsty.
Databáze je kolekce souborů s flows z NetFlow kolektoru, nad kterými se spouští céčkové utility. Ty jsou brzděné jen rychlostí IO (cache kromě souborové není). Horší je pak zpracování do grafu.


Re:Notebook pre Java Vyvojara
« Odpověď #65 kdy: 01. 10. 2016, 21:00:50 »
to je šulín... jsem ho do ted jen podezrival, ale on se priznal - tvari se, ze neco vyviji a pritom pracuje se 2GB RAM - to staci stezi na prohlizec a IDE. Zbytek te omacky jen svedci o tom jaky je asocial ktery navic uctuje zakaznikum vlastni neefektivitu pouzivanim obskurnich nastroju. Kite ty dneska davas teda bomby.
Děkuji za možnost editace příspěvku.

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #66 kdy: 01. 10. 2016, 21:04:59 »
Určitě, DB to zabila :D
http://blog.carlesmateo.com/2014/10/13/performance-of-several-languages/

Tím, že někdo udělá test na nějaké cykly, jasně upřednostní imperativní jazyky, jakým je např. Java. Vsadil bych se, že v testu nebyl použit ani jeden objekt, proto jsou ty výsledky zcela nesmyslné.

gl

Re:Notebook pre Java Vyvojara
« Odpověď #67 kdy: 01. 10. 2016, 21:06:39 »
Určitě, DB to zabila :D

To je hodně debilní benchmark, který není v rozporu s tím, co jsem psal. Pokud potřebuješ smyčku o 10 * 32000 * 32000 krocích pro vygenorování jedné stránky, tak děláš něco špatně. A psát takovou smyčku v bashi? LOL

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #68 kdy: 01. 10. 2016, 21:08:08 »
Určitě, DB to zabila :D
http://blog.carlesmateo.com/2014/10/13/performance-of-several-languages/

Tím, že někdo udělá test na nějaké cykly, jasně upřednostní imperativní jazyky, jakým je např. Java. Vsadil bych se, že v testu nebyl použit ani jeden objekt, proto jsou ty výsledky zcela nesmyslné.

Přesně. Chudák objektový Bash, vůbec se nedostal ke svému :D

neruda

Re:Notebook pre Java Vyvojara
« Odpověď #69 kdy: 01. 10. 2016, 21:11:44 »
Každé fórum má čas od času nějakého stálého retardovaného kašpara, který se časem vyčerpá a zmizí.
Tady je to teď "javaman".

noef

  • *****
  • 897
    • Zobrazit profil
    • E-mail
Re:Notebook pre Java Vyvojara
« Odpověď #70 kdy: 01. 10. 2016, 21:13:23 »
Pokud opravdu vyvijite na takove plecce, tak silne doporucuji se poohlednou po necem, co je z tohoto desetileti (nedavno jsem instaloval xubuntu na notebook s CPU, u ktereho zacal prodej pred 15 lety, a mel 4GB pameti!).

Jenže to často vyvíjím pro zákazníky, kteří ani ty 4 GB nemají. Nemůžu pro ně dělat něco, co jim na jejich mašinách nepojede. Za to by mi nezaplatili.

Ehm, co je to za logiku? Podle tohoto tvrzeni by muselo platit:

Protoze pri vyvoji front-endu pouzivam 16GB pameti tak to znamena, ze vysledny JavaScript pro stranku bude vyzadovat 16GB pameti.

To jako myslite vazne? WTF?

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #71 kdy: 01. 10. 2016, 21:14:30 »
Každé fórum má čas od času nějakého stálého retardovaného kašpara, který se časem vyčerpá a zmizí.
Tady je to teď "javaman".


Jen Kit s bráchou jsou tu navždy!

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #72 kdy: 01. 10. 2016, 21:17:26 »
Určitě, DB to zabila :D
http://blog.carlesmateo.com/2014/10/13/performance-of-several-languages/

Tím, že někdo udělá test na nějaké cykly, jasně upřednostní imperativní jazyky, jakým je např. Java. Vsadil bych se, že v testu nebyl použit ani jeden objekt, proto jsou ty výsledky zcela nesmyslné.

Přesně. Chudák objektový Bash, vůbec se nedostal ke svému :D

Bash na cykly vůbec není stavěný, proto v takovém testu logicky propadl. Síla Bashe je v něčem úplně jiném - používá se jako lepidlo mezi drobnými utilitkami, kterých je v linuxových systémech hromada a které jsou rychlé.

Bash má k OOP blíž než Java.

javaman ((

Re:Notebook pre Java Vyvojara
« Odpověď #73 kdy: 01. 10. 2016, 21:19:03 »
Jako třeba Systemd :D

Java je normální objektový jazyk a Bash k tomu asi blíže bude mít těžko :D Ale to bude zase nějaká specialita! Povídej!

Kit

Re:Notebook pre Java Vyvojara
« Odpověď #74 kdy: 01. 10. 2016, 21:22:07 »
Pokud opravdu vyvijite na takove plecce, tak silne doporucuji se poohlednou po necem, co je z tohoto desetileti (nedavno jsem instaloval xubuntu na notebook s CPU, u ktereho zacal prodej pred 15 lety, a mel 4GB pameti!).

Jenže to často vyvíjím pro zákazníky, kteří ani ty 4 GB nemají. Nemůžu pro ně dělat něco, co jim na jejich mašinách nepojede. Za to by mi nezaplatili.

Ehm, co je to za logiku? Podle tohoto tvrzeni by muselo platit:

Protoze pri vyvoji front-endu pouzivam 16GB pameti tak to znamena, ze vysledny JavaScript pro stranku bude vyzadovat 16GB pameti.

To jako myslite vazne? WTF?

Používám tolik RAM, kolik mají zákazníci. Bohatě mi to stačí, víc nepotřebuji. Je na tom snad něco špatně?