Opravdu může každý programovat v Javě?

alef0

Re:Opravdu může každý programovat v Javě?
« Odpověď #15 kdy: 26. 06. 2012, 19:49:03 »
Postoj k Springs a Hybernate vo mne evokuje "ty internety" pani Pohlovej.


Pavel Tisnovsky

Re:Opravdu může každý programovat v Javě?
« Odpověď #16 kdy: 26. 06. 2012, 20:58:04 »
Mozna jsem se spatne vyjadril, asi nejde o javu jako javu ale o balik balastu ktery tahne sebou, napriklad, springs, hybernate a podobne, nechutne molochy.


       "Mate nekdo nejaky figl jak se szit s temi odpornymi molochy ktere se lepi na chudinku javu?"

Otázka je, jestli se Vam ty molochy nezdaji spatne proste z toho duvodu, ze jejich velikost/funkcionalita proste neodpovida Vasim pozadavkum na vytvarenou. Uvedu priklad - par aplikaci uz jsem vytvoril jen na zaklade jednoducheho MVC, kde byly servlety, JSP stranky + nejaka logika pro praci s databazi (takovy mikro Hibernate :-) a bohate to stacilo. Ovsem znam lidi, kteri by na stejne rozsahlou aplikaci (zhruba 20 trosku slozitejsich HTML dialogu) nasadili Springs, Hibernate, popr. cele JEE - ja bych z toho mel taky divny pocit, ze ty technologie jsou na uplne jinou skalu aplikaci.

Stejne jako v C++ - dlouho jsem si vystacil jen se zakladnimi knihovnami a treba Boostu jsem se vyhybal nikoli proto, ze by byl spatny (to vubec ne), ale na tech par tisic radku kodu me to proste prislo jako moc velka zavislost.

No a Hibernate + dalsi podobne nastroje proste vzdycky budou trosku problemove, protoze ORM k problemum vede uz z principu :)

Kit

Re:Opravdu může každý programovat v Javě?
« Odpověď #17 kdy: 26. 06. 2012, 21:05:31 »
Mozna jsem se spatne vyjadril, asi nejde o javu jako javu ale o balik balastu ktery tahne sebou, napriklad, springs, hybernate a podobne, nechutne molochy.

       "Mate nekdo nejaky figl jak se szit s temi odpornymi molochy ktere se lepi na chudinku javu?"

Ten balík balastu mi vadí také. Pořád všude čtu, jak je Java pomalá. Udělal jsem si malý test, ve kterém Java soupeřila s jinými jazyky, včetně C a Fortranu. Java sice nebyla první, ale byla za C v těsném závěsu. Ovšem to byla Java bez toho balastu. Z toho mi vyplývá, že ty slavné knihovny jsou prostě jen špatně napsány a možná i špatně navrženy. Nebo jen jsou pro většinu běžných aplikací "overkill".

Kit

Re:Opravdu může každý programovat v Javě?
« Odpověď #18 kdy: 26. 06. 2012, 21:07:56 »
No a Hibernate + dalsi podobne nastroje proste vzdycky budou trosku problemove, protoze ORM k problemum vede uz z principu :)

Problém bude asi v tom, že autoři ORM myslí víc objektově, než relačně. Pak z toho vznikne paskvil.

někdo

Re:Opravdu může každý programovat v Javě?
« Odpověď #19 kdy: 26. 06. 2012, 21:18:40 »
No a Hibernate + dalsi podobne nastroje proste vzdycky budou trosku problemove, protoze ORM k problemum vede uz z principu :)

Problém bude asi v tom, že autoři ORM myslí víc objektově, než relačně. Pak z toho vznikne paskvil.

Klasika k povinnému prostudování pro každého uživatele ORM: http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx


Kit

Re:Opravdu může každý programovat v Javě?
« Odpověď #20 kdy: 26. 06. 2012, 21:35:40 »
Problém bude asi v tom, že autoři ORM myslí víc objektově, než relačně. Pak z toho vznikne paskvil.
Klasika k povinnému prostudování pro každého uživatele ORM: http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx

Pěkné počteníčko. Své názory na ORM jsem tam našel také. Místo includování tisíců řádek ORM mi zpravidla stačí napsat pár řádek do modelu. Prostě ORM je pro většinu aplikací "overkill" nebo chcete-li "kanón na vrabce", který ani moc dobře nestřílí.

YF

Re:Opravdu může každý programovat v Javě?
« Odpověď #21 kdy: 26. 06. 2012, 21:38:17 »
Ne, v Javě programovat nejde, protože je to skriptovací jazyk.
Ano, Javu může psát úplně každý.
Java je velice oblíbená mezi businessmany, protože Java skriptařů je hodně a dají se tak bez problémů nabírat a vyhazovat podle aktuálních potřeb, takže zdánlivě je vývoj v Javě levnější, ovšem díky vážným chybám v návrhu a zaostalosti Javy je práce v Javě málo produktivní a ve výsledku to vyjde ještě dráž, tou dobou už je ale businessman na jiném fleku a je mu to tak nějak jedno.

Pokud tě Java nebaví, zkus C#, tam to bude o něco stravitelnější.

<trapne ticho>

coder

Re:Opravdu může každý programovat v Javě?
« Odpověď #22 kdy: 26. 06. 2012, 22:13:17 »
Dva roky na naučení Javy je víc než dost, na vysokých školách je k tomu potřeba jeden, maximálně dva semestry. Mluvím z vlastní zkušenosti, sám jsem si takto kdysi po absolvování dvou semestrů Javy na FI našel letní stáž a vcelku jsem stíhal. Nicméně zmíněné dva roky na seznámení se s celou platformou Java EE jsou velmi málo. Přeci jenom mluvíme o nejrozsáhlejší programovací platformě, která je primárně určení k provozování aplikací typu Facebook. Nicméně využít ji pro malé projekty bez problémů lze, jak již zmínili kolegové přede mnou, je jen třeba znát ty správné nástroje a nebrat kanóny na vrabce.

Co se týče OOP, Javu bych považoval za referenční implementaci. Má objekty a jejich vztahy, metody, atributy, pár primitivních typů a nic víc. Žádné struktury, ukazatele ani podobné pozůstatky imperativních jazyků. Ostatní jazyky z Javy převzaly mnoho principů, jde třeba o zmiňovaný Python, PHP,  a C#, který jde v mnoha ohledech dál, ale nedejbože když v něm začne někdo uplatňovat postupy z C.

Asi nikdy nepochopím konflikt mezi zastánci kompilovaných a řízených jazyků. Vždyť každý má své oblasti využití, které se příliš neprotínají. Rychlosti Javy nespočívá v chroustání smyček, ale například v snadnosti konfigurace a nasazení v prostředí distribuovaných systémů.

Rax

Re:Opravdu může každý programovat v Javě?
« Odpověď #23 kdy: 26. 06. 2012, 23:16:25 »
která je primárně určení k provozování aplikací typu Facebook.

Velká část Facebooku je PHP strojově zkonvertované do C/C++ a zkompilované běžným kompilátorem C/C++ jako nativní binární kód. Budete si muset najít jiný příklad :)

coder

Re:Opravdu může každý programovat v Javě?
« Odpověď #24 kdy: 26. 06. 2012, 23:39:24 »
která je primárně určení k provozování aplikací typu Facebook.

Velká část Facebooku je PHP strojově zkonvertované do C/C++ a zkompilované běžným kompilátorem C/C++ jako nativní binární kód. Budete si muset najít jiný příklad :)

Proč? Přirovnání tím nic na významu neztrácí.

Re:Opravdu může každý programovat v Javě?
« Odpověď #25 kdy: 26. 06. 2012, 23:46:14 »
Co se týče OOP, Javu bych považoval za referenční implementaci.
Hm. To bude asi tím, že se na FI neučí SmallTalk nebo Objective-C...

prudič

Re:Opravdu může každý programovat v Javě?
« Odpověď #26 kdy: 27. 06. 2012, 09:38:57 »
Co se týče OOP, Javu bych považoval za referenční implementaci.
Hm. To bude asi tím, že se na FI neučí SmallTalk nebo Objective-C...
+1 je to implementace OOP kompatibilní s přemýšlením lidí programujících v rodině C jazyků. Zase na druhou stranu tam nic důležitého nechybí a co je ještě důležitější, nic tam nepřebývá. Java boduje právě svojí jednoduchostí, i když je to občas na úkor větší ukecanosti.

podlesh

Re:Opravdu může každý programovat v Javě?
« Odpověď #27 kdy: 27. 06. 2012, 09:51:32 »
Po mnoha letech jsem dal dohromady krátkou charakteristiku:
J2EE komplexně řeší problémy, které nemáš a na 90% nikdy mít nebudeš.

Problém je, že prakticky nikdo si ani nepřečte kompletní specifikace, resp. přeskočí "netechnické kecy okolo" - z nich je jasně patrné, proč to soudruzi vymysleli takto. Prvotním důsledkem je vybudování cargo-cultu v podobě "stadardních praktik" a "návrhových vzorů" (tak ze sebe dělají blbce jedni). Druhotným důsledkem je pak zpětný ráz, kdy se z tohoto cargo-cultu vyvodí závěr že J2EE a celá Java je jen produkt debilů a marketingového oddělení Sunu (tak ze sebe dělají blbce jiní).

Krásně je to vidět na springu - pro ty co poznali J2EE (včetně EJB1) je to jen taková pěkná knihovna ze které si vezmu co potřebuji a navíc umožňuje věci zjednodušit. Protože vím přesně co chci a ve zdrojácích vidím přesně co která třída dělá.
Jenomže čas pokročil, ze Spingu se stal standard hozený na hlavu nic netušícím nováčkům, kteří ho teď považují za "moloch".

Problematika je obecnější, objevuje se i v jiných prostředích a jazycích - všude kde dlouhodobě působí "enterprise" požadavky (jak zde někdo psal).

Re:Opravdu může každý programovat v Javě?
« Odpověď #28 kdy: 27. 06. 2012, 10:04:54 »
Můj soukromý názor je, že ve všem tom co jste popsal jste mohl úspěšně programovat i bez znalosti OOP (objektově orientovaného programování). V Javě to už ale bez OOP nejde. Takže doporučuji nainvestovat čas do nastudování teoretických základů OOP a pak půjde i ta Java, včetně JEE.
C++ bez porozumění OOP? No jedině tak, že by se v něm psalo jako v C. Protože čistě z hlediska OOP toho C++ nabízí hodně (a troufám si tvrdit, že žádný z následovníků ještě C++ nedotáhl např. v tom, co všechno je možné s C++ templates a děděním z nich v kombinaci s multidědičností, i když ty snahy tu jsou).

marwyn

Re:Opravdu může každý programovat v Javě?
« Odpověď #29 kdy: 27. 06. 2012, 10:28:46 »
Opravdu může každý programovat v Javě? - No jistě, stejně tak jako každý může vařit. Proto ostatbě Java vznikla, aby každý, opravdu každý mohl matlat kód. Jinak ovšem naprosto souhlasím s Raxem, že se v tom programovat nedá.