Start Java programování

Re:Start Java programování
« Odpověď #30 kdy: 15. 10. 2020, 12:11:49 »
Me osobne tehdy pred davnymi lety hodne dalo udelat si zakladni certifikaci SCJP (Sun certified jawa programmer), i ted IMHO existuje oracle obdoba.

Byly k tomu slusne materialy na pripravu a kdo timhle prolezl, mel o jawe slusne povedomi
Oracle tyhle certifikace má. Někoho, kdo se Javu učí, bych před tím spíš dost varoval. Ty certifikace vůbec nejdou po základních principech, naopak vymetají různá zákoutí. Možná většina kusů kódu, která v těch testech je, je kód, který kdyby někdo napsal, doporučím mu, ať se věnuje něčemu jinému, než programování. Když už v Javě rutinně programujete, je to zajímavé zabývat se tím, jak některé věci fungují. Dozvěděl jsem se při tom pár nových věcí, ale nic, co bych použil při běžném programování.


Re:Start Java programování
« Odpověď #31 kdy: 15. 10. 2020, 12:32:34 »
Java je OK, ale osobne by som sa skôr prikláňal k .NET. C# je komerčne úspešný jazyk, s množstvom pracovných pozícií.
C# je klon Javy s tým, že má množstvo vecí vylepšených a lepšie navrhnutých.  S .NET má človek oveľa väčší výber -- je
tam desktop, IOT, ML, web, hry, cloud. Java si vo viacerých oblastiach ani neťukne.
To jste nezvolil zrovna dobrá kritéria, když jste chtěl vychvalovat .NET oproti Javě. .NET zvládl některé novější věci zapracovat rovnou do původního návrhu, zatímco Java to řeší zpětně kompatibilními změnami – v některých případech je vidět, že to trochu drhne. Ale komerční úspěšnost a množství pracovních pozic – jednoznačně vede Java. .NET je svázán jen se světem Microsoftu, všude jinde je Java. S Javou můžete programovat desktop, IoT, ML, web, hry, cloud, ale také serverové aplikace, serverless, mobilní aplikace… Stejně tak ekosystém kolem Javy je výrazně bohatší – ať už knihovny, vývojové nástroje nebo další jazyky nad JVM.

Nesporně navrch má .NET v jediném případě – když chcete programovat nativní desktopové aplikace pro Windows. Ve všech ostatních případech už to bude záležet případ od případu, někdy bude vhodný i .NET, ale v průměru najdete jiná lepší řešení (vedle Javy také třeba Python nebo JavaScript/TypeScript).

jano6

Re:Start Java programování
« Odpověď #32 kdy: 15. 10. 2020, 14:19:26 »
Nuž ja som to nepísal, ako fanúšik .NET, ktorý má potrebu chváliť .NET a kritizovať Javu. Ja som (bol)
primárne Java/Python programátor, ktorý po čase začal pozerať po alternatívach. Kebyže chcem,
tak viem riadne zjazdiť Javu a jej nedostatky, pretože ju dosť dobre poznám. (Trvalo len nejakých 25 rokov,
kým prišiel multiline string alebo doteraz nefunkčné API pre zvuk...)

MS nie je tým, čo bol za tých dvoch indivíduí. V súčastnosti ak je nejaká spoločnosť hostílna a pribrzdená,
tak to je tá druhá.

Zasa nežartujme s tými hrami; porovnávať Unity s hocičím v Jave, to snáď nie.

Podľa môjho názoru je .NET lepšia voľba pre IOT a ML, je to tam viac prepracované a kompaktné. Od nástrojov,
knižníc až po integráciu s Azure. MS do toho poriadne investuje; je to jedna z ich priorít.  Ale môžem sa mýliť.

Jedno čo má Java výhodu pri vývojových nástrojoch je to, že IntelliJ IDEA má community edition, kým Rider nie.
NetBeans je bohužiaľ mŕtve a Eclipse je o ničom. Pre Windows je Visual Studio community edition. Je na tom
Java naozaj oveľa lepšie?!

Hej, JVM má Scalu, Groovy, Kotlin, Clojure,  .NET má len jeden -- avšak geniálny F#. A práve F# bol jedným z dôvodov,
prečo som sa nakoniec začal vážne zaujímať o .NET.  C#/F# combo je veľmi chytľavé.

Keď som písal, že je C# komerčne úspečný, nemyslel som tým, že je najúspešnejší. Pozrel som si momentálne počet
pracovných pozícií na jooble.org 57000 Java vs 40000 .NET. To je nejaký priepastný rozdiel? Proste .NET nie je ako Go
či  Rust, ktoré sú super jazyky a ľudia ich majú radi, ale niet  pre nich dostatok jobov.

Summa summarum, ja mám rád úhľadný kód, na ktorý sa dobre díva. Kód, ktorý je expresívny. C# je pre mňa
v tomto oveľa lepšia voľba. Avšak ako som už vyššie spomenul, v prípade potreby je prechod na JVM pomerne
jednoduchý.


Java je OK, ale osobne by som sa skôr prikláňal k .NET. C# je komerčne úspešný jazyk, s množstvom pracovných pozícií.
C# je klon Javy s tým, že má množstvo vecí vylepšených a lepšie navrhnutých.  S .NET má človek oveľa väčší výber -- je
tam desktop, IOT, ML, web, hry, cloud. Java si vo viacerých oblastiach ani neťukne.
To jste nezvolil zrovna dobrá kritéria, když jste chtěl vychvalovat .NET oproti Javě. .NET zvládl některé novější věci zapracovat rovnou do původního návrhu, zatímco Java to řeší zpětně kompatibilními změnami – v některých případech je vidět, že to trochu drhne. Ale komerční úspěšnost a množství pracovních pozic – jednoznačně vede Java. .NET je svázán jen se světem Microsoftu, všude jinde je Java. S Javou můžete programovat desktop, IoT, ML, web, hry, cloud, ale také serverové aplikace, serverless, mobilní aplikace… Stejně tak ekosystém kolem Javy je výrazně bohatší – ať už knihovny, vývojové nástroje nebo další jazyky nad JVM.

Nesporně navrch má .NET v jediném případě – když chcete programovat nativní desktopové aplikace pro Windows. Ve všech ostatních případech už to bude záležet případ od případu, někdy bude vhodný i .NET, ale v průměru najdete jiná lepší řešení (vedle Javy také třeba Python nebo JavaScript/TypeScript).

Re:Start Java programování
« Odpověď #33 kdy: 15. 10. 2020, 14:44:13 »
Trvalo len nejakých 25 rokov, kým prišiel multiline string alebo doteraz nefunkčné API pre zvuk...
To jsou podle vás klíčové věci pro výběr platformy pro vývoj? Pokud potřebujete v kódu multiline stringy jinde, než v prototypech, jsem silně přesvědčený o tom, že děláte něco špatně. Zvuk na serverech nepotřebuju, na Androidu je vyřešený, na desktopu ho drtivá většina aplikací nevyužije.

MS nie je tým, čo bol za tých dvoch indivíduí. V súčastnosti ak je nejaká spoločnosť hostílna a pribrzdená,
tak to je tá druhá.
Za prvé, já jsem vůbec neporovnával společnosti. Za druhé jste si tím sám hezky naběhl – .NET je reálně opravdu jen Microsoft. Java je Oracle, RedHat, Google, Amazon, JetBrains…

Zasa nežartujme s tými hrami; porovnávať Unity s hocičím v Jave, to snáď nie.
Já jsem s ničím nesrovnával Unity, psal jsem to ve stejné obecnosti, jako vy. Vypadá to, že jste zaměřený na hry, to vám neberu – hry určitě nejsou silnou stránkou Javy. Ale nevypadá to, že by tazatel chtěl psát hry.

Podľa môjho názoru je .NET lepšia voľba pre IOT a ML, je to tam viac prepracované a kompaktné. Od nástrojov,
knižníc až po integráciu s Azure. MS do toho poriadne investuje; je to jedna z ich priorít.  Ale môžem sa mýliť.
Nástroje pro ML jsou především v Pythonu. Pak se řeší hodně integrací v Javě – namátkou H2O, Apache Spark. O integracích na .NET jsem vlastně nikdy neslyšel, což samozřejmě nemusí nic znamenat. Do ML v rámci Azure teď MS pořádně investuje, ale to je nezávislé na platformě.

Jedno čo má Java výhodu pri vývojových nástrojoch je to, že IntelliJ IDEA má community edition, kým Rider nie.
NetBeans je bohužiaľ mŕtve a Eclipse je o ničom. Pre Windows je Visual Studio community edition. Je na tom
Java naozaj oveľa lepšie?!
Vývojové nástroje není ani zdaleka jen IDE. Pokud si ze světa .NET myslíte, že jediný nástroj je IDE, je na tom asi Java o hodně lépe :-)

Keď som písal, že je C# komerčne úspečný, nemyslel som tým, že je najúspešnejší.
No napsal jste to jako argument, proč se raději orientovat na .NET místo na Javu.

Pozrel som si momentálne počet
pracovných pozícií na jooble.org 57000 Java vs 40000 .NET. To je nejaký priepastný rozdiel?
Přidejte si k tomu ještě aspoň Android.

Summa summarum, ja mám rád úhľadný kód, na ktorý sa dobre díva. Kód, ktorý je expresívny. C# je pre mňa
v tomto oveľa lepšia voľba. Avšak ako som už vyššie spomenul, v prípade potreby je prechod na JVM pomerne
jednoduchý.
Jsou případy použití, kdy má nesporně navrch .NET, jsou případy, kdy má nesporně navrch Java. Je spousta oblastí, kdy to bude případ od případu, jednou bude o něco lepší Java, jednou .NET. A jednou třeba Python nebo Go. A pak je spousta případů, kdy je to vlastně jedno.

Já jsem jenom reagoval na vaše „vykašlete se na Javu, .NET je prakticky ve všech ohledech lepší“ – a pak začnete argumentovat komerční úspěšností nebo univerzálností.