Fórum Root.cz

Práce => Studium a uplatnění => Téma založeno: student 30. 07. 2018, 12:39:02

Název: C# alebo Java?
Přispěvatel: student 30. 07. 2018, 12:39:02
V skole si mame vybrat medzi predmety C# alebo Java. Viem ze to budu ozaj len zaklady. Ale rad by som si vybral vhodny jazyk v ktorom by som mohol pokracovat. V skole sme mali zaklady C++ a ja ovladam zaklady pythonu. Ktory jazyk je vhodnejsi pre zaciatocnika a ma vacsi potencial do buducnosti?
Název: Re:C# alebo Java?
Přispěvatel: borekz 30. 07. 2018, 12:41:55
Není možnost si vybrat oba ? Nemáte kreditový systém ?
Název: Re:C# alebo Java?
Přispěvatel: Kit 30. 07. 2018, 12:46:08
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.
Název: Re:C# alebo Java?
Přispěvatel: era 09. 08. 2018, 15:04:30
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

V čem je Java konkrétně pro výuku jednoduší?

Jinak s Javou je problém, že od ledna 2019 už budou všechny updaty pro Java SE 8, a časem i vyšší, zpoplatněné. Zároveň například i nástroj “Java Usage Tracker” bude vyžadovat komerční placenou licenci.

Samotná Java zůstane zdarma a můžete používat třeba OpenJDK, ale Oracle se snaží zpeněžit co se dá, soudí se s Google, už dříve java update na windows ve výchozí verzi instaloval Ask toolbar nebo měnil vyhledávací engine na yahoo. Samotný Google proto logicky zkouší i jiné jazyky, například aplikace pro android můžete vytvářet pomocí knihovny flutter a jazyka dart.
Název: Re:C# alebo Java?
Přispěvatel: Chytrak 09. 08. 2018, 15:48:39
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

V čem je Java konkrétně pro výuku jednoduší?

Jinak s Javou je problém, že od ledna 2019 už budou všechny updaty pro Java SE 8, a časem i vyšší, zpoplatněné. Zároveň například i nástroj “Java Usage Tracker” bude vyžadovat komerční placenou licenci.

Samotná Java zůstane zdarma a můžete používat třeba OpenJDK, ale Oracle se snaží zpeněžit co se dá, soudí se s Google, už dříve java update na windows ve výchozí verzi instaloval Ask toolbar nebo měnil vyhledávací engine na yahoo. Samotný Google proto logicky zkouší i jiné jazyky, například aplikace pro android můžete vytvářet pomocí knihovny flutter a jazyka dart.

Je to asi fakt jen o zvyku, ale radši Console.WriteLine než System.out.println..
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 09. 08. 2018, 16:22:24
Jinak s Javou je problém, že od ledna 2019 už budou všechny updaty pro Java SE 8, a časem i vyšší, zpoplatněné. Zároveň například i nástroj “Java Usage Tracker” bude vyžadovat komerční placenou licenci.

Samotná Java zůstane zdarma a můžete používat třeba OpenJDK, ale Oracle se snaží zpeněžit co se dá, soudí se s Google, už dříve java update na windows ve výchozí verzi instaloval Ask toolbar nebo měnil vyhledávací engine na yahoo. Samotný Google proto logicky zkouší i jiné jazyky, například aplikace pro android můžete vytvářet pomocí knihovny flutter a jazyka dart.
Žádný problém to není. Pro koncové uživatele se tím prakticky nic nemění, jenom se trošku změnily komerční balíčky od Oraclu – k takovýmhle změnám i u softwaru od jiných firem dochází každou chvíli.
Název: Re:C# alebo Java?
Přispěvatel: SirionRazzer 09. 08. 2018, 17:18:04
Vsadil bych na C# (web i desktop, ale Visual studio je jen pro Windows), ale s Javou zas můžeš přesedlat na Android.
Název: Re:C# alebo Java?
Přispěvatel: Oooo 09. 08. 2018, 17:44:11
Vyber si to do ceho jdou ti nejsikovnejsi spoluzaci, az bude treba pomuzou ti.
Az to budes znat tak pak uz muzes kterykoliv dalsi jazyk zkusit.
Název: Re:C# alebo Java?
Přispěvatel: Franta <xkucf03/> 09. 08. 2018, 18:33:34
Java.
Název: Re:C# alebo Java?
Přispěvatel: Trolek 09. 08. 2018, 20:38:25
Vsadil bych na C# (web i desktop, ale Visual studio je jen pro Windows), ale s Javou zas můžeš přesedlat na Android.

1. Visual Studio je i pro Max OS X: https://visualstudio.microsoft.com/
2. Visual Studio Code je multiplatformni a na zakladni programovani staci: https://code.visualstudio.com/

Java.

C# ... Java je mrtva (rozumej zajimava pouze pro korporaty, ktere maji v Jave vybudovane sve spagetove aplikace)
Název: Re:C# alebo Java?
Přispěvatel: tralala 09. 08. 2018, 20:52:02
V jave su napisane skoro vsetky core veci ak sa nebavime o cistom c alebo c++, nevidel som core veci pisane v c#, to je hrackarsky vendor lockin, java nie je len o jave, nad jvm mas scalu kotlin clojure groovy ... nekonecne moznosti. Nad clr mas co? F# a co este? Vendorlocknuty .net? Na linuce to je parodia
Název: Re:C# alebo Java?
Přispěvatel: Trolek 09. 08. 2018, 21:04:51
V jave su napisane skoro vsetky core veci ak sa nebavime o cistom c alebo c++, nevidel som core veci pisane v c#, to je hrackarsky vendor lockin, java nie je len o jave, nad jvm mas scalu kotlin clojure groovy ... nekonecne moznosti. Nad clr mas co? F# a co este? Vendorlocknuty .net? Na linuce to je parodia

Povedzte Kefalín, čo vy si predstavujete pod takým slovom všetky core veci? (vylezte z bubliny, C# je pomerne rozsireny jazyk)

A bavime se stale o Jave, nebo o Scale, Kotlin, Clojure nebo Groovy? Java jako jazyk je za zenitem - Oracle se na to vybodl a Jave ujel vlak. C# nabral pomerne rychly vyvoj a Microsoft vydal samotny .NET Core jako open source, bezi v pohode na Linuxu, muzete deploynout maly kontejner s aplikaci napsanou v .NETu, ktera k behu nepotrebuje sileny JVM.

Takze pokud je na vyber C# nebo Java, opravdu bych sel cestou C#... A bokem pokukoval po nejakem funkcionalnim jazyce (proc rovnou ne F#), Go, JavaScriptu apod.

Název: Re:C# alebo Java?
Přispěvatel: Kit 09. 08. 2018, 21:12:25
Je to asi fakt jen o zvyku, ale radši Console.WriteLine než System.out.println..

Vždyť je to jedno, ne? Kromě toho se System.out.println() kvůli skryté závislosti moc nepoužívá.
Název: Re:C# alebo Java?
Přispěvatel: Kit 09. 08. 2018, 21:15:27
C# ... Java je mrtva (rozumej zajimava pouze pro korporaty, ktere maji v Jave vybudovane sve spagetove aplikace)

Ten, kdo píše špagety v Javě, je bude psát i v C#.
Název: Re:C# alebo Java?
Přispěvatel: tralala 09. 08. 2018, 21:15:43
V jave su napisane skoro vsetky core veci ak sa nebavime o cistom c alebo c++, nevidel som core veci pisane v c#, to je hrackarsky vendor lockin, java nie je len o jave, nad jvm mas scalu kotlin clojure groovy ... nekonecne moznosti. Nad clr mas co? F# a co este? Vendorlocknuty .net? Na linuce to je parodia

Povedzte Kefalín, čo vy si predstavujete pod takým slovom všetky core veci? (vylezte z bubliny, C# je pomerne rozsireny jazyk)

A bavime se stale o Jave, nebo o Scale, Kotlin, Clojure nebo Groovy? Java jako jazyk je za zenitem - Oracle se na to vybodl a Jave ujel vlak. C# nabral pomerne rychly vyvoj a Microsoft vydal samotny .NET Core jako open source, bezi v pohode na Linuxu, muzete deploynout maly kontejner s aplikaci napsanou v .NETu, ktera k behu nepotrebuje sileny JVM.

Takze pokud je na vyber C# nebo Java, opravdu bych sel cestou C#... A bokem pokukoval po nejakem funkcionalnim jazyce (proc rovnou ne F#), Go, JavaScriptu apod.

Pocuvas sa? Go? :DDD
Název: Re:C# alebo Java?
Přispěvatel: era 09. 08. 2018, 22:26:46
Jinak s Javou je problém, že od ledna 2019 už budou všechny updaty pro Java SE 8, a časem i vyšší, zpoplatněné. Zároveň například i nástroj “Java Usage Tracker” bude vyžadovat komerční placenou licenci.

Samotná Java zůstane zdarma a můžete používat třeba OpenJDK, ale Oracle se snaží zpeněžit co se dá, soudí se s Google, už dříve java update na windows ve výchozí verzi instaloval Ask toolbar nebo měnil vyhledávací engine na yahoo. Samotný Google proto logicky zkouší i jiné jazyky, například aplikace pro android můžete vytvářet pomocí knihovny flutter a jazyka dart.
Žádný problém to není. Pro koncové uživatele se tím prakticky nic nemění, jenom se trošku změnily komerční balíčky od Oraclu – k takovýmhle změnám i u softwaru od jiných firem dochází každou chvíli.

Nezměnili se jen komerční balíčky. Placené budou VŠECHNY updaty Java SE 8, ne jen ty komerční. A jestli jsem to dobře pochopil, tak postupně vždy jak výjde nová verze Java SE, tak ta poslední verze bude mít opět zpoplatněné updaty. A to i ty bezpečnostní! Takže pokud někomu běží produkt na Java SE 8 a objeví se v ní kritická chyby ohrožující bezpečnost, tak buď musí převést vše na novější verzi Javy, což u velkýchych korporátních systémů není tak jednoduché a nebo prostě začít platit oraclu.
Název: Re:C# alebo Java?
Přispěvatel: Trollopata 09. 08. 2018, 22:30:41
Je to asi fakt jen o zvyku, ale radši Console.WriteLine než System.out.println..

Kdyby to bylo Console.writeLine, tak bych si možná zvykl.
Název: Re:C# alebo Java?
Přispěvatel: era 09. 08. 2018, 22:37:33
Vsadil bych na C# (web i desktop, ale Visual studio je jen pro Windows), ale s Javou zas můžeš přesedlat na Android.

1. Visual Studio je i pro Max OS X: https://visualstudio.microsoft.com/
2. Visual Studio Code je multiplatformni a na zakladni programovani staci: https://code.visualstudio.com/

3. JetBrans Rider je taky multiplatformní: https://www.jetbrains.com/rider/

.NET core a Mono jsou navíc dvě opensource implementace a díky .NET standardu je kód pro .NET velmi dobře přenositelný mezi jednotlivými frameworky.
Název: Re:C# alebo Java?
Přispěvatel: anonym 09. 08. 2018, 23:00:46
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.
Název: Re:C# alebo Java?
Přispěvatel: anonym 09. 08. 2018, 23:12:52
Podle mě to je úplně jedno. Je to úplně to samé, c# je okopirovana Java od microsoftu. Volil bych podle toho, jestli ti vadi vendor lock na win a Microsoft. Pokud jsi typický picusek a nevadí ti to, bez do c#. Jestli ti to vadí, bez do Javy.

Mě by jako programátorovi vadilo kdybych si udělal soukrome utility a ty mi jely jen na widlich.

V obojím se dá dobře dělat. V .NETu se hromadí takoví ti vycvurankove picuskove, neboli gejosci - vybrali si to protože viděli, že to můžou mít za pár. V Javě se zase hromadí podivíni typu Jirsák

Za chvíli se tu vyrojí hlupacci co budou tvrdit, že .net je taky opensource a že jede taky na Linuxu. Never jim..
Název: Re:C# alebo Java?
Přispěvatel: anonym 09. 08. 2018, 23:34:20
Jinak s Javou je problém, že od ledna 2019 už budou všechny updaty pro Java SE 8, a časem i vyšší, zpoplatněné. Zároveň například i nástroj “Java Usage Tracker” bude vyžadovat komerční placenou licenci.

Samotná Java zůstane zdarma a můžete používat třeba OpenJDK, ale Oracle se snaží zpeněžit co se dá, soudí se s Google, už dříve java update na windows ve výchozí verzi instaloval Ask toolbar nebo měnil vyhledávací engine na yahoo. Samotný Google proto logicky zkouší i jiné jazyky, například aplikace pro android můžete vytvářet pomocí knihovny flutter a jazyka dart.
Žádný problém to není. Pro koncové uživatele se tím prakticky nic nemění, jenom se trošku změnily komerční balíčky od Oraclu – k takovýmhle změnám i u softwaru od jiných firem dochází každou chvíli.

Nezměnili se jen komerční balíčky. Placené budou VŠECHNY updaty Java SE 8, ne jen ty komerční. A jestli jsem to dobře pochopil, tak postupně vždy jak výjde nová verze Java SE, tak ta poslední verze bude mít opět zpoplatněné updaty. A to i ty bezpečnostní! Takže pokud někomu běží produkt na Java SE 8 a objeví se v ní kritická chyby ohrožující bezpečnost, tak buď musí převést vše na novější verzi Javy, což u velkýchych korporátních systémů není tak jednoduché a nebo prostě začít platit oraclu.

Java byla vždycky zpoplatněna. Ty si myslíš, že takové  věc je zadarmo? Jsi komunista nebo důchodce  nebo ještě malý mlíčňák?Akorátnízeávány nepřímo, PRES support, různé tooly, aplikační servery.

Teď to bude zpoplatněno přímo, přes JDK. Pro nikoho se tím ale skoro nic nemění. Firmy dál budou platit jak doposud platily, studenti nepotřebuju staré jdkacko a na vývoj nepotřebuješ bezpečnostní aktualizace starých verzi. Já aktualizace vypínám ať mě neotravujou, nasrat.

A na soukrome projekty na hraní co deplojuju ven se taky nebudu srat s aktualizacema, naco. A komerční projekt, kdyby na to přišlo, tak si to zaplatím - a co má jako být?
Název: Re:C# alebo Java?
Přispěvatel: . 10. 08. 2018, 02:38:14
V skole si mame vybrat medzi predmety C# alebo Java. Viem ze to budu ozaj len zaklady. Ale rad by som si vybral vhodny jazyk v ktorom by som mohol pokracovat. V skole sme mali zaklady C++ a ja ovladam zaklady pythonu. Ktory jazyk je vhodnejsi pre zaciatocnika a ma vacsi potencial do buducnosti?
Obě dvě jsou stejné sračky, takže je to jedno.

V jave su napisane skoro vsetky core veci ak sa nebavime o cistom c alebo c++, nevidel som core veci pisane v c#, to je hrackarsky vendor lockin, java nie je len o jave, nad jvm mas scalu kotlin clojure groovy ... nekonecne moznosti. Nad clr mas co? F# a co este? Vendorlocknuty .net? Na linuce to je parodia

Povedzte Kefalín, čo vy si predstavujete pod takým slovom všetky core veci? (vylezte z bubliny, C# je pomerne rozsireny jazyk)

A bavime se stale o Jave, nebo o Scale, Kotlin, Clojure nebo Groovy? Java jako jazyk je za zenitem - Oracle se na to vybodl a Jave ujel vlak. C# nabral pomerne rychly vyvoj a Microsoft vydal samotny .NET Core jako open source, bezi v pohode na Linuxu, muzete deploynout maly kontejner s aplikaci napsanou v .NETu, ktera k behu nepotrebuje sileny JVM.

Takze pokud je na vyber C# nebo Java, opravdu bych sel cestou C#... A bokem pokukoval po nejakem funkcionalnim jazyce (proc rovnou ne F#), Go, JavaScriptu apod.

Pocuvas sa? Go? :DDD
Když už se tu někdo ohání core věcmi, tak zrovna v Go bylo v posledních letech napsáno tolik core věcí, že tě ten smích asi brzy přejde.
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 10. 08. 2018, 07:17:38
Nezměnili se jen komerční balíčky. Placené budou VŠECHNY updaty Java SE 8, ne jen ty komerční. A jestli jsem to dobře pochopil, tak postupně vždy jak výjde nová verze Java SE, tak ta poslední verze bude mít opět zpoplatněné updaty. A to i ty bezpečnostní! Takže pokud někomu běží produkt na Java SE 8 a objeví se v ní kritická chyby ohrožující bezpečnost, tak buď musí převést vše na novější verzi Javy, což u velkýchych korporátních systémů není tak jednoduché a nebo prostě začít platit oraclu.
Ne, chápete to špatně. Aktuální verze OracleJDK/OracleJRE bude nadále zdarma, včetně aktualizací. Platí se za podporu starých verzí – stejně jako třeba u Windows (tam taky to tolik omílané datum konce podpory Windows XP znamenalo konec neplacené podpory, placená podpora běžela déle). Podobně už to funguje dnes, akorát to okno podpory starších verzí zdarma je větší. Dá se očekávat, že na staré verzi Javy budou zaseklé různé velké korporátní aplikace, kde by byla úprava náročná – je logické, že z toho Oracle také chce něco mít, a majitelé těchhle aplikací nebudou mít problém za podporu platit.

Nebo-li všechny updaty OracleJRE 8 / OracleJDK 8 budou placené až v době, kdy aktuální verzí bude Java 11 (která bude opět s dlouhodobou podporou). Studenta to tedy fakt nemusí trápit, protože je v jeho vlastním zájmu nezaseknout se navždy na Javě 8 ale používat vždy aktuální verze. Mimochodem, když tady pořád operujete s Javou 8, připomínám, že aktuální je Java 10.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 07:45:08
Nezměnili se jen komerční balíčky. Placené budou VŠECHNY updaty Java SE 8, ne jen ty komerční. A jestli jsem to dobře pochopil, tak postupně vždy jak výjde nová verze Java SE, tak ta poslední verze bude mít opět zpoplatněné updaty. A to i ty bezpečnostní! Takže pokud někomu běží produkt na Java SE 8 a objeví se v ní kritická chyby ohrožující bezpečnost, tak buď musí převést vše na novější verzi Javy, což u velkýchych korporátních systémů není tak jednoduché a nebo prostě začít platit oraclu.
Ne, chápete to špatně. Aktuální verze OracleJDK/OracleJRE bude nadále zdarma, včetně aktualizací. Platí se za podporu starých verzí – stejně jako třeba u Windows (tam taky to tolik omílané datum konce podpory Windows XP znamenalo konec neplacené podpory, placená podpora běžela déle). Podobně už to funguje dnes, akorát to okno podpory starších verzí zdarma je větší. Dá se očekávat, že na staré verzi Javy budou zaseklé různé velké korporátní aplikace, kde by byla úprava náročná – je logické, že z toho Oracle také chce něco mít, a majitelé těchhle aplikací nebudou mít problém za podporu platit.

Nebo-li všechny updaty OracleJRE 8 / OracleJDK 8 budou placené až v době, kdy aktuální verzí bude Java 11 (která bude opět s dlouhodobou podporou). Studenta to tedy fakt nemusí trápit, protože je v jeho vlastním zájmu nezaseknout se navždy na Javě 8 ale používat vždy aktuální verze. Mimochodem, když tady pořád operujete s Javou 8, připomínám, že aktuální je Java 10.

Presne tak jak pisete jsem to ale pochopil. Ja jen toho studenta upozornuju, ze to, ze je Java zdarma je mytus a at na to mysli, pokud by chtěl v Jave rozjizdet vlastní komercni projekty. Mimochodem, soucasti balicku stazeneho zdarma jsou i komercni nastroje, takze kdyz je student omylem pouzije, tak se mu muze stat, ze dostane fakturu od Oraclu.

Druhy mytus je, ze C# predstavuje vendor lock. Frameworky .NET core i Mono jsou multiplatformni, open source a vsechny .NET frameworky maji a vzdy meli updaty zdarma a jejich pouziti bylo take vzdy zdarma. Take si muzete vybrat z nekolika multiplatformnich vývojových prostředí (Visual Studio Code, JetBrains Rider, Visual Studio for Mac a MonoDevelop).
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 10. 08. 2018, 08:33:18
Presne tak jak pisete jsem to ale pochopil. Ja jen toho studenta upozornuju, ze to, ze je Java zdarma je mytus a at na to mysli, pokud by chtěl v Jave rozjizdet vlastní komercni projekty. Mimochodem, soucasti balicku stazeneho zdarma jsou i komercni nastroje, takze kdyz je student omylem pouzije, tak se mu muze stat, ze dostane fakturu od Oraclu.

Druhy mytus je, ze C# predstavuje vendor lock. Frameworky .NET core i Mono jsou multiplatformni, open source a vsechny .NET frameworky maji a vzdy meli updaty zdarma a jejich pouziti bylo take vzdy zdarma. Take si muzete vybrat z nekolika multiplatformnich vývojových prostředí (Visual Studio Code, JetBrains Rider, Visual Studio for Mac a MonoDevelop).
Java zdarma není mýtus. Java je zdarma úplně stejně jako třeba .NET Core. Akorát u té Javy máte víc než jen dvě implementace a oficiální verze od Oraclu je založená na opensource OpenJDK, takže OpenJDK je mnohem bližší OracleJDK než Mono .NET Core. Placená je u Javy rozšířená podpora, stejně jako to funguje u Microsoftu.

Z vašeho srovnání by to vypadalo, že .NET je otevřenější než Java, přitom je to přesně naopak. Primární vývoj Javy je otevřené OpenJDK a existuje více implementací Javy, v případě .NET jsou pokud vím jenom dvě implementace, a to navíc Mono implementuje jenom část.
Název: Re:C# alebo Java?
Přispěvatel: JB 10. 08. 2018, 09:04:01
Asi před pěti lety jsem se rozhodoval mezi javou a C#. Vyhrál C#.

- Oproti Javě má úspornější syntaxi(kódu může být méně a je přehlednější)
- Visual Studio je velký pomocník v začátcích, který ušetří hodně času a zlosti
Eclipse, Netbeans jsou tragické IDE, jediné dobré pro Javu je InteliJ idea.
- Tehdy měla java výhodu, že kód běžel i na Linuxu. Dnes už je to pravda i pro C#(mono,.net core). Vlastně to C# uměl už tehdy, jen jsem o tom nevěděl.
- v C# můžeš psát aplikace pro desktop, weby, androidove aplikace(Xamarin).
- C# umožňuje funkcionalni programování (LINQ např), Java ne(resp. Java také - Streams - ale vypadá to tak strašně, že je lepší říct že ne). 😁

I dnes bych šel do C#. Java je nuda. Je to jako házet uhlí lopatou. Uprednostnil bych ji jen kdyby mi dali třikrát víc peněz.

Název: Re:C# alebo Java?
Přispěvatel: anonym 10. 08. 2018, 09:29:38
Asi před pěti lety jsem se rozhodoval mezi javou a C#. Vyhrál C#.

- Oproti Javě má úspornější syntaxi(kódu může být méně a je přehlednější)
- Visual Studio je velký pomocník v začátcích, který ušetří hodně času a zlosti
Eclipse, Netbeans jsou tragické IDE, jediné dobré pro Javu je InteliJ idea.
- Tehdy měla java výhodu, že kód běžel i na Linuxu. Dnes už je to pravda i pro C#(mono,.net core). Vlastně to C# uměl už tehdy, jen jsem o tom nevěděl.
- v C# můžeš psát aplikace pro desktop, weby, androidove aplikace(Xamarin).
- C# umožňuje funkcionalni programování (LINQ např), Java ne(resp. Java také - Streams - ale vypadá to tak strašně, že je lepší říct že ne). 😁

I dnes bych šel do C#. Java je nuda. Je to jako házet uhlí lopatou. Uprednostnil bych ji jen kdyby mi dali třikrát víc peněz.

1. Nabídek práce je pro Javu 2x víc než pro C# a obzvláště ve velkých firmách, takže máš lepší šanci dostat více peněz.
2. Pokud chceš dělat desktopové aplikace, tak si specialista na desktopové aplikace. Na 2x menším trhu od C#. V Javě má desktop aplikace např. armáda a ty javovské jsou opravdu přenositelné na všechny OS, na rozdíl od .NET. Mají jedinou nevýhodu a to tu, že nevypadají dostatečně gejošsky, aby se z nich puberťáci neosypali. Ale armádě a firmám je to jedno.
3. Stejně si dneska v reálu specialista na server-side pitchoviny a když chceš UI, tak to děláš ve web technologii. Že si nemůžeš naklikat profi UI tě nijak nesere a když už to úpotřebuješ, tak v Javě je Swing multiplatformní, takže do čeho vložíš svůj drahocenný volný čas, to ti nepojede jenom na zasraných windowsech.
4. Přenositelnost Javy mezi systémy je 100%, když je to normálně napsané. Narozdíl od pitomého C#s monem.
5. Reálné nasazení C#v praxi na Linuxu je 0, protože C# jsou tragédi kteří když slyší, že by měli použít něco jiného než MS SQL Server a klikátka od MS, tak se z toho celí osypou, protože mají bez zázemí MS holé zadeke. SQL Server je nepoužitelný na Linuxu.
6. V Javě je stejně dobré IDE, ne-li lepší, než VS, a to Intellij od české firmy JetBrains. (Jsou to sice rusovíé, ale pražští) Že někteří tragédi použijou Eclipse, to je jejich problém - a taky jejich učitelů na VŠ, kteří zaspali dobu.
7. Java má frameworky bez klikátek ve Visual Studiu, tudíž je to těžší na začátku, ale aspoň z tebe nebude nýmand, co umí jenom klikat s myškou a rozbrečí se, když něco touto cestou nejde udělat.
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 10. 08. 2018, 09:50:44
V Javě je stejně dobré IDE, ne-li lepší, než VS, a to Intellij od české firmy JetBrains. (Jsou to sice rusovíé, ale pražští)
Pokud se VS v poslední době výrazně nezlepšilo, tak je IntelliJ Idea podle mne o dost lepší. JetBrains je česká firma jen o něco více, než je Alza kyperská firma. Vývoj je především v Rusku. V ČR má firma sídlo a administrativu.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 10:20:49
V Javě je stejně dobré IDE, ne-li lepší, než VS, a to Intellij od české firmy JetBrains. (Jsou to sice rusovíé, ale pražští)
Pokud se VS v poslední době výrazně nezlepšilo, tak je IntelliJ Idea podle mne o dost lepší. JetBrains je česká firma jen o něco více, než je Alza kyperská firma. Vývoj je především v Rusku. V ČR má firma sídlo a administrativu.

JetBrains dela stejne kvalitni IDE i pro .NET a to Rider: https://www.jetbrains.com/rider/
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 10. 08. 2018, 10:45:18
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 10:54:36
Presne tak jak pisete jsem to ale pochopil. Ja jen toho studenta upozornuju, ze to, ze je Java zdarma je mytus a at na to mysli, pokud by chtěl v Jave rozjizdet vlastní komercni projekty. Mimochodem, soucasti balicku stazeneho zdarma jsou i komercni nastroje, takze kdyz je student omylem pouzije, tak se mu muze stat, ze dostane fakturu od Oraclu.

Druhy mytus je, ze C# predstavuje vendor lock. Frameworky .NET core i Mono jsou multiplatformni, open source a vsechny .NET frameworky maji a vzdy meli updaty zdarma a jejich pouziti bylo take vzdy zdarma. Take si muzete vybrat z nekolika multiplatformnich vývojových prostředí (Visual Studio Code, JetBrains Rider, Visual Studio for Mac a MonoDevelop).
Java zdarma není mýtus. Java je zdarma úplně stejně jako třeba .NET Core. Akorát u té Javy máte víc než jen dvě implementace a oficiální verze od Oraclu je založená na opensource OpenJDK, takže OpenJDK je mnohem bližší OracleJDK než Mono .NET Core. Placená je u Javy rozšířená podpora, stejně jako to funguje u Microsoftu.

Z vašeho srovnání by to vypadalo, že .NET je otevřenější než Java, přitom je to přesně naopak. Primární vývoj Javy je otevřené OpenJDK a existuje více implementací Javy, v případě .NET jsou pokud vím jenom dvě implementace, a to navíc Mono implementuje jenom část.

.NET má tři implementace, kdy všechny jsou zdarma i pro komerční použití a zdarma jsou všechny updaty:


Tyto frameworky nejsou vzájemně nahraditelné, ale díky .NET Standardu je jednoduché sdilet kód mezi nimi.

Nejvýznamnější IDE jsou:

Co se týká client side, tak vše se v bysnysu přesouvá na web. Otázka je, co s tím udělá webassebmly, kde pro .NET se vyvíjí Blazor (https://github.com/aspnet/Blazor).

Microsoft potom chce peníze za velké Visual Studio a na tom potom vydělává. A samozřejmě i ve Visual Studio Code, ktéré je opensource a zdarma, tak se postará aby tam šel jednoduše používat Azure, ale nijak nebrání tomu aby se tam používalo něco jiného.

Oracle naproti tomu zkouší různé podpásové triky, jako zpoplatněné updaty frameworku, hijack webového prohlížeče v rámci updatu pro windows (ask toolbar), nejasné podmínky kdy zdarma je "general purpose computing”, distribuce komerčních nástrojů v rámci verze zdarma atd. Opravdu bych byl opatrný s tím používat něco jiného než OpenJDK a studenti by to měli vědět.

Co se týká pracovních příležitostí, ano spousta starší systémů jsou historicky vytvořené v Javě, protože je to starší technologie a byla tu první, ale otázka je jak je to u nových projektů. Tím nemyslím .NET ale obecně dynamický vývoj v současné době.

Na studiu Javy ale z principu není nic špatného, principy jsou prakticky stejné ve všech jazycích, jen funkcionální programování je podle mně lépe implementované v C#. Ale pokud se někdo rozhodne pro Javu, tak důrazně doporučuju používat jen OpenJDK a držet se co nejdál od Oraclu.
Název: Re:C# alebo Java?
Přispěvatel: hovnex 10. 08. 2018, 10:56:47
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.

Vidím tři možné důvody:
1. Nevím jak to bylo/je s Javou ale do nedávna jsi pro komerční vývoj v .NETu potřeboval placené Visual Studio a to stálo pěknou raketu (takže pokud začínáš nějaký startup tak je to nevýhodné).
2. Pokud vím, tak Java je tu s námi o něco déle.
3. Pokud chci něco stavit na unixových technologiích tak .NET prostě není racionální volba (i když to třeba bude fungovat)

Ono je tady pak další věc, že je hromada dalších firem (např. z oblasti průmyslu), co má klíčové části svého IT (tzn. to, co když se posere tak stojí výroba) postavené na MS technologiích, jen to běžný čtenář roota prostě neví.

Toto je stejně nemožná diskuze jako Linux vs. Windows, obojí má svoje pro a proti, záleží na prioritách, podle toho se prostě vybere daná technologie, tvrdit že Java je obecně lepší než .NET/C# je stejná blbost, jako tvrdit že Linux je obecně lepší než Windows. Chápu že se mnou celá řada lidí nebude, především z náboženských důvodů, souhlasit.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 11:09:15
Za chvíli se tu vyrojí hlupacci co budou tvrdit, že .net je taky opensource a že jede taky na Linuxu. Never jim..

.NET core je opensource a jede na linuxu, nejlíp každý udělá, když si to sám vyzkouší a přesvědčí se na vlastní oči:
https://www.microsoft.com/net/download?initial-os=linux (https://www.microsoft.com/net/download?initial-os=linux)
Název: Re:C# alebo Java?
Přispěvatel: Kit 10. 08. 2018, 11:25:53
Za chvíli se tu vyrojí hlupacci co budou tvrdit, že .net je taky opensource a že jede taky na Linuxu. Never jim..

.NET core je opensource a jede na linuxu, nejlíp každý udělá, když si to sám vyzkouší a přesvědčí se na vlastní oči:
https://www.microsoft.com/net/download?initial-os=linux (https://www.microsoft.com/net/download?initial-os=linux)

Nejlíp každý udělá, když to ani zkoušet nebude. Plýtvat časem lze i rozumnějším způsobem.
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 10. 08. 2018, 12:48:34
Toto je stejně nemožná diskuze jako Linux vs. Windows, obojí má svoje pro a proti, záleží na prioritách, podle toho se prostě vybere daná technologie, tvrdit že Java je obecně lepší než .NET/C# je stejná blbost, jako tvrdit že Linux je obecně lepší než Windows. Chápu že se mnou celá řada lidí nebude, především z náboženských důvodů, souhlasit.

Hledate si plkaci protinabozenske argumenty, abyste svuj nesmysl nemusel zduvodnovat? Vite z ceho vychazel c#/.NET, jakou mel "prevratnou ideu", a hlavne co vam umoznuje navic anebo naopak kategoricky neumoznuje? Java v. .NET maji realne technologicke rozdily, coz samozrejme u *nix v. Windows nenajdete.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 13:26:47
Za chvíli se tu vyrojí hlupacci co budou tvrdit, že .net je taky opensource a že jede taky na Linuxu. Never jim..

.NET core je opensource a jede na linuxu, nejlíp každý udělá, když si to sám vyzkouší a přesvědčí se na vlastní oči:
https://www.microsoft.com/net/download?initial-os=linux (https://www.microsoft.com/net/download?initial-os=linux)

Nejlíp každý udělá, když to ani zkoušet nebude. Plýtvat časem lze i rozumnějším způsobem.

OK, potom není problém se potom podívat na výsledky testů od jiných lidí a .NET core běží na linuxu rychleji než na windows:
https://robertoprevato.github.io/More-about-Linux-vs-Windows-hosted-ASP-NET-Core-applications-in-Azure-App-Service/ (https://robertoprevato.github.io/More-about-Linux-vs-Windows-hosted-ASP-NET-Core-applications-in-Azure-App-Service/)

Nebo se můžete podívat přímo na dokumentaci redhat:
https://access.redhat.com/documentation/en-us/net_core/2.1/ (https://access.redhat.com/documentation/en-us/net_core/2.1/)
Název: Re:C# alebo Java?
Přispěvatel: Kit 10. 08. 2018, 13:39:04
Nejlíp každý udělá, když to ani zkoušet nebude. Plýtvat časem lze i rozumnějším způsobem.
OK, potom není problém se potom podívat na výsledky testů od jiných lidí a .NET core běží na linuxu rychleji než na windows:

To je očekávané chování. Bylo by divné, kdyby to bylo obráceně.
Název: Re:C# alebo Java?
Přispěvatel: tralala 10. 08. 2018, 17:00:50
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.

PRESNE TAK! to su tie "core veci" o ktorych som hovoril vyssie. Take Go je tam uplne irelevantne :D Ja viem ze Google to pouziva na svoje "core veci" niekde, ale skuste to brat v suvislostiach, Go je uplne nevyznamny jazyk.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 18:22:44
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.

PRESNE TAK! to su tie "core veci" o ktorych som hovoril vyssie. Take Go je tam uplne irelevantne :D Ja viem ze Google to pouziva na svoje "core veci" niekde, ale skuste to brat v suvislostiach, Go je uplne nevyznamny jazyk.

Tak z nějakého důvodu Google go vytvořil a například pro jejich core bysnys AdWords používá dart. A jeho nejnovější knihovna pro tvoru UI flutter taky není v jave ale v dartu. A pro Android zase zavedl Kotlin. Osobně z toho mám pocit že Google dělá vše proto aby se javy zbavil a nedivím se, když se s Oraclem soudí. Ale uznávám, že to je jen můj osobní pocit.
Název: Re:C# alebo Java?
Přispěvatel: anonym 10. 08. 2018, 19:20:22
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.
Název: Re:C# alebo Java?
Přispěvatel: Géomètre 10. 08. 2018, 20:44:50
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.
PRESNE TAK! to su tie "core veci" o ktorych som hovoril vyssie. Take Go je tam uplne irelevantne :D Ja viem ze Google to pouziva na svoje "core veci" niekde, ale skuste to brat v suvislostiach, Go je uplne nevyznamny jazyk.
Tak z nějakého důvodu Google go vytvořil a například pro jejich core bysnys AdWords používá dart. A jeho nejnovější knihovna pro tvoru UI flutter taky není v jave ale v dartu. A pro Android zase zavedl Kotlin. Osobně z toho mám pocit že Google dělá vše proto aby se javy zbavil a nedivím se, když se s Oraclem soudí. Ale uznávám, že to je jen můj osobní pocit.
Go je minimalistický, extrémně pragmatický jazyk, ain’t have no fancy shit. Navrhnout něco tak, aby to bylo jednoduché a zároveň funkční, je nejtěžší.
Název: Re:C# alebo Java?
Přispěvatel: tralala 10. 08. 2018, 21:00:53
Tak z nějakého důvodu Google go vytvořil a například pro jejich core bysnys AdWords používá dart. A jeho nejnovější knihovna pro tvoru UI flutter taky není v jave ale v dartu. A pro Android zase zavedl Kotlin. Osobně z toho mám pocit že Google dělá vše proto aby se javy zbavil a nedivím se, když se s Oraclem soudí. Ale uznávám, že to je jen můj osobní pocit.

A Kotlin bezi na com? Na kolobezke babky Blazkovej? Jasne ze nad JVM.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 21:32:49
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.

Jede jen klientská část https://github.com/dotnet/wcf (https://github.com/dotnet/wcf). Na server se doporučuje Web Api.

U těch nabídek práce je otázka jak to bude do budoucna, Oracle vypadá že se bude snažit zpoplatnit co se dá.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 21:42:34
Tak z nějakého důvodu Google go vytvořil a například pro jejich core bysnys AdWords používá dart. A jeho nejnovější knihovna pro tvoru UI flutter taky není v jave ale v dartu. A pro Android zase zavedl Kotlin. Osobně z toho mám pocit že Google dělá vše proto aby se javy zbavil a nedivím se, když se s Oraclem soudí. Ale uznávám, že to je jen můj osobní pocit.

A Kotlin bezi na com? Na kolobezke babky Blazkovej? Jasne ze nad JVM.

Nejsem expert na Android, ale myslím, že Android nepouživá JVM ale používal Dalvik a přešel na Android Runtime (ART) a ani jeden z nich není a nebyl kompatibilní s JVM.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 21:48:41
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.

Jede jen klientská část https://github.com/dotnet/wcf (https://github.com/dotnet/wcf). Na server se doporučuje Web Api.

U těch nabídek práce je otázka jak to bude do budoucna, Oracle vypadá že se bude snažit zpoplatnit co se dá.

Jen ještě doplním, že to Web Api se doporučuje a používá i v NET core pod Windows
Název: Re:C# alebo Java?
Přispěvatel: anonym 10. 08. 2018, 22:42:43
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.

Jede jen klientská část https://github.com/dotnet/wcf (https://github.com/dotnet/wcf). Na server se doporučuje Web Api.

U těch nabídek práce je otázka jak to bude do budoucna, Oracle vypadá že se bude snažit zpoplatnit co se dá.

Oracle může klidně zpoplatnit co se dá, Java není ve stejné situaci jako .NET u Microsoftu. Java je nezávislá na komerčních produktech. Začne se více používat open jdk a je to. Už teď to není špatné a rozdíl ve výkonu oproti Oracle jdk je minimální. A do budoucna co bude to ti řeknu úplně přesně, ať to bude jak to bude, tak ne ve prospěch C#, podle Tiobe indexu už mu hezky dlouho klesá popularita, a spolu s tím, jak padly za vlast server side webové frameworky, už ani není potřeba používat C# s asp.net, tuto vlastnost jsem považoval za jeho hlavní výhodu.

A .NET MVC? To je okopírovaný Spring. Naco by firma měla vsadit na .NET MVC když může mít to samé ve Springu se 100% jistotou nezávislosti na čemkoliv do budoucna. Navíc Cloud sejme i Microsoftí IIS, stejně jako sejmul aplikační servery v Javě. A padne beztak i MS SQL Server, stejně jako se upouští od Oracle DB. Javascript osekal server side technologie o webové frameworky a v tom co na serveru v praxi zůstalo Java poráží .NET. V praxi máš na serveru Spring v Javě a k tomu Maven, a na to se prostě MS s nugetem nechytá. Nejsi o nic ochuzen na Linuxu, Javu jsem v životě neviděl jet na Windows Serveru.

Takže závěrem, ty trumfy které MS měl, tzn. ti různí Wizárdové pro začátečníky, ASP.NET klikátko, a vývoj desktop app pro Win, to už bude brzy všechno pryč.

Jediné plus je jazyk C#, který je modernější než Java a řekněme o něco pěknější, ale to je zrovna ta nejnepodstatnšjší část, důležitější jsou knihovny a platforma jako celek. Navíc na Androidu se začal používat Kotlin a ten se brzy beztak dostane i do mainstreamu místo těžkopádné Javy, a bude tady upgrade jazyka.
Název: Re:C# alebo Java?
Přispěvatel: era 10. 08. 2018, 23:26:16
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.

Jede jen klientská část https://github.com/dotnet/wcf (https://github.com/dotnet/wcf). Na server se doporučuje Web Api.

U těch nabídek práce je otázka jak to bude do budoucna, Oracle vypadá že se bude snažit zpoplatnit co se dá.

Oracle může klidně zpoplatnit co se dá, Java není ve stejné situaci jako .NET u Microsoftu. Java je nezávislá na komerčních produktech. Začne se více používat open jdk a je to. Už teď to není špatné a rozdíl ve výkonu oproti Oracle jdk je minimální. A do budoucna co bude to ti řeknu úplně přesně, ať to bude jak to bude, tak ne ve prospěch C#, podle Tiobe indexu už mu hezky dlouho klesá popularita, a spolu s tím, jak padly za vlast server side webové frameworky, už ani není potřeba používat C# s asp.net, tuto vlastnost jsem považoval za jeho hlavní výhodu.

A .NET MVC? To je okopírovaný Spring. Naco by firma měla vsadit na .NET MVC když může mít to samé ve Springu se 100% jistotou nezávislosti na čemkoliv do budoucna. Navíc Cloud sejme i Microsoftí IIS, stejně jako sejmul aplikační servery v Javě. A padne beztak i MS SQL Server, stejně jako se upouští od Oracle DB. Javascript osekal server side technologie o webové frameworky a v tom co na serveru v praxi zůstalo Java poráží .NET. V praxi máš na serveru Spring v Javě a k tomu Maven, a na to se prostě MS s nugetem nechytá. Nejsi o nic ochuzen na Linuxu, Javu jsem v životě neviděl jet na Windows Serveru.

Takže závěrem, ty trumfy které MS měl, tzn. ti různí Wizárdové pro začátečníky, ASP.NET klikátko, a vývoj desktop app pro Win, to už bude brzy všechno pryč.

Jediné plus je jazyk C#, který je modernější než Java a řekněme o něco pěknější, ale to je zrovna ta nejnepodstatnšjší část, důležitější jsou knihovny a platforma jako celek. Navíc na Androidu se začal používat Kotlin a ten se brzy beztak dostane i do mainstreamu místo těžkopádné Javy, a bude tady upgrade jazyka.

Tak ASP.net core hodně věcí ze springu převzal, je jednoduchý, rychlý a snadný na naučení, což si myslím že je trochu problém se springem. A zatímco .NET core je stabilní a nejrychlejší .NET který byl kdy vytvořen (mohem rychlejší než původní .NET framework pro windows) a je zároveň opensource, tak OpenJDK teprve dle vaši slov dohání v rychlosti Oracle SDK. Dalším ohrožením je, že Oracle může OpenJDK začít sabotovat, přidávat do něj méně odladěný kód aby donutili lidi platit. Samozřejmě může někdo udělat fork, ale pak můžete mít nakonec dva různe ne úplně kompatibilní projekty.

Taky si myslím, že to co podle vás smete .NET a C#, tak zároveň smete i javu. Proč mít klientskou stranu v javasriptu a server v jave, proč se učit dva jazyky a ekosystémy, vždyť webové technologie zvládnou to samé co java i na serveru a z tohoto pohledu je prostě spring beznadějný tězkopádný dinosaurus.

Jediné co by to ještě mohlo změnit je webassembly a myslím že příští dva roky se rozhodne. Třeba .NET nabízí blazor (https://blazor.net/).
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 11. 08. 2018, 00:25:32
A zatímco .NET core je stabilní a nejrychlejší .NET který byl kdy vytvořen (mohem rychlejší než původní .NET framework pro windows) a je zároveň opensource, tak OpenJDK teprve dle vaši slov dohání v rychlosti Oracle SDK. Dalším ohrožením je, že Oracle může OpenJDK začít sabotovat, přidávat do něj méně odladěný kód aby donutili lidi platit. Samozřejmě může někdo udělat fork, ale pak můžete mít nakonec dva různe ne úplně kompatibilní projekty.

Prestante svoje mylne predstavy vydavat za argumenty. OpenJDK je dostatecne rychle, optimalizatory se ted navic budou moct delat bez rekompilace samotneho JDK. Java platforma je proste neco uplne jineho, nez co si predstavujete a technologicky je to neco, s cim byste se mel ve vlastnim zajmu radeji co nejdrive seznamit. Zadne forky jak si to predstavuje ani zdaleka nehrozi, platforma se modularizuje, takze spise muze vzniknout nekolik flavors.

Taky si myslím, že to co podle vás smete .NET a C#, tak zároveň smete i javu. Proč mít klientskou stranu v javasriptu a server v jave, proč se učit dva jazyky a ekosystémy, vždyť webové technologie zvládnou to samé co java i na serveru a z tohoto pohledu je prostě spring beznadějný tězkopádný dinosaurus.

Kolega byl velmi taktni, ja vam to reknu primo: pokus Microsoftu celit hrozbe Java platformy zkrachoval. Pocet pracovnich pozic, popularita a dalsi faktory za poslednich nekolik let ukazuji jasny neuspech. Od JDK8 nema Microsoft zadnou killer feature proti Java, prohrava i svym spojenectvim s Intelem, prichodem cloudu, nastupem ARMu, atd. atd. Zisky ma jen ve smerech, kde se novemu proudu prizpusobil. To jsou dnesni realie.

K migraci z Java na .NET dnes nema nikdo duvod. Opacny smer je naopak realny, kvuli moznosti pouziti spolecnych knihoven vsech stavajicich technologii, ktere primo anebo neprimo z Java vysly. Prvni vlna migrace muze s vysokou pravdepodobnosti nastat pri generacni obmene u prumyslovych celku a zdravotnickych zarizeni, kde dnes jeste doziva Microsoft, ale prejde to nejspise na Android, nebo resp. ARM a JDK. Duvodem je z pohledu zakazniku bezpecnost (pokud Oracle/Google vyresi techniku aktualizaci), a z pohledu producentu snizeni nakladu na vyvoj a hlavne udrzbu kodu.

Cimz nerikam, ze by se studenti nemeli ucit C#. Vzdy je dobre poznat co nejvic, ale C# ted nevypada z komercniho pohledu nejak zivotaschopne. Bude proste prezivat na te hladine, na ktere je ted, dokud to bude Microsoft financovat.
Název: Re:C# alebo Java?
Přispěvatel: era 11. 08. 2018, 08:58:26
Prvni vlna migrace muze s vysokou pravdepodobnosti nastat pri generacni obmene u prumyslovych celku a zdravotnickych zarizeni, kde dnes jeste doziva Microsoft, ale prejde to nejspise na Android, nebo resp. ARM a JDK.

Vy opravdu tvrdíte, že někdo ve zdravotnictví a průmyslu bude přecházet na Android z důvodu bezpečnosti?

Pocet pracovnich pozic, popularita a dalsi faktory za poslednich nekolik let ukazuji jasny neuspech.

Stack Overflow Developer Survey za rok 2018 uvádí, že .NET core je čtvrtý nejpopulárnější Framework ( https://insights.stackoverflow.com/survey/2018#technology (https://insights.stackoverflow.com/survey/2018#technology) ) a už je populárnější než spring. A to všechno jen za dva roky, což je neskutečný úspěch.

A ještě vetší nářez je u vývojových prostředí, první nejpoužívanější je Visual Studio Code a druhé Visual studio: https://insights.stackoverflow.com/survey/2018#technology-most-popular-development-environments (https://insights.stackoverflow.com/survey/2018#technology-most-popular-development-environments).

K migraci z Java na .NET dnes nema nikdo duvod. Opacny smer je naopak realny, kvuli moznosti pouziti spolecnych knihoven vsech stavajicich technologii, ktere primo anebo neprimo z Java vysly.

Proč by někdo migroval z Javy na .NET? Pokud bude někdo migrovat z Javy nebo .NETu tak na javascriptový ecosystém, případně na python kvůli strojovému učení. A google zase přechází u Androidu na dart viz https://flutter.io/ (https://flutter.io/).

Jinak co se týká .NETu a C# tak jeho výhodou vždy byl skvělý návrh a soustředění na efektivitu práce a snadné učení a podle mě je v tomto Anders Hejlsberg prostě génius.
Název: Re:C# alebo Java?
Přispěvatel: era 11. 08. 2018, 09:02:32
Ještě přidávám odkaz přímo na nejpopulárnější frameworky, knihovny a nástroje, za dva roky se stal .NET core čtvrtým nepopulárnějším frameworkem a překonal spring:

https://insights.stackoverflow.com/survey/2018#technology-frameworks-libraries-and-tools (https://insights.stackoverflow.com/survey/2018#technology-frameworks-libraries-and-tools)

Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 11. 08. 2018, 09:08:19
Ještě přidávám odkaz přímo na nejpopulárnější frameworky, knihovny a nástroje, za dva roky se stal .NET core čtvrtým nepopulárnějším frameworkem a překonal spring:
Máte v tom trochu hokej. Spring není totéž co Java, Spring je jen jeden z mnoha frameworků pro Javu.
Název: Re:C# alebo Java?
Přispěvatel: era 11. 08. 2018, 10:39:41
Máte v tom trochu hokej. Spring není totéž co Java, Spring je jen jeden z mnoha frameworků pro Javu.

To samozřejmě chápu, ale nic to nemění na tom, že .NET core se během dvou let stal podle stack overflow čtvrtý nejpopulárnější mezi Frameworks, Libraries, and Tools (1. node.js, 2. angular, 3.react. 4. ..net Core, 5. spring)
Název: Re:C# alebo Java?
Přispěvatel: Neinformovaný 11. 08. 2018, 10:42:10
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.

Nedívej se jen na největší IT firmy, ale udělej si exkurzi do fabrik v tvym okolí. V průmyslu se dost používá.

Za chvíli se tu vyrojí hlupacci co budou tvrdit, že .net je taky opensource a že jede taky na Linuxu. Never jim..

.NET core je opensource a jede na linuxu, nejlíp každý udělá, když si to sám vyzkouší a přesvědčí se na vlastní oči:
https://www.microsoft.com/net/download?initial-os=linux (https://www.microsoft.com/net/download?initial-os=linux)

Nejlíp každý udělá, když to ani zkoušet nebude. Plýtvat časem lze i rozumnějším způsobem.

Furt lepší, než se zebejvat beznadějnym PHP, který je od základu blbě navržený a snaží se to dolepit.

Navíc v C# se dělá o dost pohodlněji než v Javě.
Název: Re:C# alebo Java?
Přispěvatel: Kit 11. 08. 2018, 12:20:41
.NET core je opensource a jede na linuxu, nejlíp každý udělá, když si to sám vyzkouší a přesvědčí se na vlastní oči:
https://www.microsoft.com/net/download?initial-os=linux (https://www.microsoft.com/net/download?initial-os=linux)
Nejlíp každý udělá, když to ani zkoušet nebude. Plýtvat časem lze i rozumnějším způsobem.
Furt lepší, než se zebejvat beznadějnym PHP, který je od základu blbě navržený a snaží se to dolepit.
Navíc v C# se dělá o dost pohodlněji než v Javě.

PHP je možná beznadějným jazykem, ale je o dost pohodlnější než Java a C# dohromady. Je také mnohem stručnější díky svému multiparadigmatickému přístupu. Jen se v něm nesmí programovat v javovském stylu - to je pak tragédie.
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 11. 08. 2018, 12:47:52
To samozřejmě chápu, ale nic to nemění na tom, že .NET core se během dvou let stal podle stack overflow čtvrtý nejpopulárnější mezi Frameworks, Libraries, and Tools (1. node.js, 2. angular, 3.react. 4. ..net Core, 5. spring)
A z toho podle vás plyne co? Podle mne je ten výčet nesmyslný, je to jak porovnávat hrušky s moukou a s Big Mac menu.
Název: Re:C# alebo Java?
Přispěvatel: klondike12 11. 08. 2018, 16:10:06
Já mám Intel a mám 2 jakesik core věci. A tím bych to uzavřel.

Na trhu práce .netu je o 50% méně.

WCF už na té vaší .net core picovine na Linuxu jede? Ne co? Proc asi ne. MS nikdy neudělá Linuxovou verzi plně fungujici, protože to by rovnou mohl zaříznout svoje widle. .net tu je pro podporu Windows.

Jede jen klientská část https://github.com/dotnet/wcf (https://github.com/dotnet/wcf). Na server se doporučuje Web Api.

U těch nabídek práce je otázka jak to bude do budoucna, Oracle vypadá že se bude snažit zpoplatnit co se dá.

Oracle může klidně zpoplatnit co se dá, Java není ve stejné situaci jako .NET u Microsoftu. Java je nezávislá na komerčních produktech. Začne se více používat open jdk a je to. Už teď to není špatné a rozdíl ve výkonu oproti Oracle jdk je minimální. A do budoucna co bude to ti řeknu úplně přesně, ať to bude jak to bude, tak ne ve prospěch C#, podle Tiobe indexu už mu hezky dlouho klesá popularita, a spolu s tím, jak padly za vlast server side webové frameworky, už ani není potřeba používat C# s asp.net, tuto vlastnost jsem považoval za jeho hlavní výhodu.

A .NET MVC? To je okopírovaný Spring. Naco by firma měla vsadit na .NET MVC když může mít to samé ve Springu se 100% jistotou nezávislosti na čemkoliv do budoucna. Navíc Cloud sejme i Microsoftí IIS, stejně jako sejmul aplikační servery v Javě. A padne beztak i MS SQL Server, stejně jako se upouští od Oracle DB. Javascript osekal server side technologie o webové frameworky a v tom co na serveru v praxi zůstalo Java poráží .NET. V praxi máš na serveru Spring v Javě a k tomu Maven, a na to se prostě MS s nugetem nechytá. Nejsi o nic ochuzen na Linuxu, Javu jsem v životě neviděl jet na Windows Serveru.

Takže závěrem, ty trumfy které MS měl, tzn. ti různí Wizárdové pro začátečníky, ASP.NET klikátko, a vývoj desktop app pro Win, to už bude brzy všechno pryč.

Jediné plus je jazyk C#, který je modernější než Java a řekněme o něco pěknější, ale to je zrovna ta nejnepodstatnšjší část, důležitější jsou knihovny a platforma jako celek. Navíc na Androidu se začal používat Kotlin a ten se brzy beztak dostane i do mainstreamu místo těžkopádné Javy, a bude tady upgrade jazyka.

S tou svobodou javy to asi nebude uplně tak růžové, když hlavní důvod proč Google Kotlin vůbec tlačí je jeho spor s Oraclem,
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 11. 08. 2018, 16:59:51
Nedívej se jen na největší IT firmy, ale udělej si exkurzi do fabrik v tvym okolí. V průmyslu se dost používá.

Dik za radu. Nechodim do fabrik, delal jsem ale zrovna nedavno piloty pro dva takove jejich dodavatele. Maji plan nahradit upravenym tabletem vse co jde, protoze je to levnejsi a s mensim rizikem bezpecnostnich problemu.
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 11. 08. 2018, 17:10:26
S tou svobodou javy to asi nebude uplně tak růžové, když hlavní důvod proč Google Kotlin vůbec tlačí je jeho spor s Oraclem,

Kotlin ma hlavni duvod vzniku efektivitu vyvoje. Napriklad redukuje hluchy kod pro ziskani referenci na prvky (staci jeden import, misto neprehledneho findViewXXX pekla), ale taky zavadi docela chaoticke zkratkovite zapisy, coz mnohe zacatecniky uvede do dokonaleho transu jako v pripade C#. Kazdopadne je 100% slucitelny s JVM, takze to jen rozsiruje variabilitu Java platformy.
Název: Re:C# alebo Java?
Přispěvatel: Filip Jirsák 11. 08. 2018, 17:17:51
ale taky zavadi docela chaoticke zkratkovite zapisy, coz mnohe zacatecniky uvede do dokonaleho transu jako v pripade C#
:) Lépe bych to nenapsal.
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 17:19:46
Od JDK8 nema Microsoft zadnou killer feature proti Java

No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++. Zatímco C# má hromadu vlastností, které toto umožňují (např. hodnotové typy, reifikovaná generika, reference, Span). Podívejte se třeba, jak zoufalý výkon má Apache Spark (a to i přesto, že na mnoha místech sáhl k unsafe trikům).

Další věc je svobodnější licence .NET Core - OpenJDK je pod GPL, .NET Core je pod MIT.

Krom toho, Java nemá žádnou použitelnou a používanou GUI knihovnu pro desktop.
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 11. 08. 2018, 17:37:52
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++. Zatímco C# má hromadu vlastností, které toto umožňují (např. hodnotové typy, reifikovaná generika, reference, Span). Podívejte se třeba, jak zoufalý výkon má Apache Spark (a to i přesto, že na mnoha místech sáhl k unsafe trikům).

Nebudu komentovat nic, co souvisi s vykonem Hadoop, Spark, Pig a cimkoliv z tehle rodiny. Kde je tam problem jsem psal uz v dobe, kdy tyhle veci vznikaly a chyba neni v Java.

Krom toho, Java nemá žádnou použitelnou a používanou GUI knihovnu pro desktop.

V tehle oblasti se nepohybuju. Jen si jako pragmatik rikam, jestli maji podobne knihovny vubec jeste nejaky vyznam v dobe dotykovych zarizeni, kde vladne Android se svym Linuxem a Javou premalovanou na Dalvik.
Název: Re:C# alebo Java?
Přispěvatel: Wavelet 11. 08. 2018, 18:12:43
Pro začátečníka bych vybral Javu, pro výuku je o dost jednodušší.

Blbost, c# je jednodušší. Teoretizujes. C# má mnohem přehlednější knihovnu a dokumentaci.

Proc tedy Google, Linkedin, Facebook, ale dalsi jako treba Amazon, a vubec vsechny velke firmy precpane kvalitnimi vyvojari pouzivaji Java na nejdulezitejsich mistech svych infrastruktur? Bezi na tom rozsahle systemy od IoT a mobilnich platforem az po Big Data. Vzdycky me zajimalo jak studenti s pramalem zkusenosti dojdou k tomu, ze je c# lepsi nebo dokonce jednodussi. Jejich zdrojem je jen to, ze jim to rikali kamaradi, vesmes proto, ze neznaji do hlubky nic jineho.
PRESNE TAK! to su tie "core veci" o ktorych som hovoril vyssie. Take Go je tam uplne irelevantne :D Ja viem ze Google to pouziva na svoje "core veci" niekde, ale skuste to brat v suvislostiach, Go je uplne nevyznamny jazyk.
Tak z nějakého důvodu Google go vytvořil a například pro jejich core bysnys AdWords používá dart. A jeho nejnovější knihovna pro tvoru UI flutter taky není v jave ale v dartu. A pro Android zase zavedl Kotlin. Osobně z toho mám pocit že Google dělá vše proto aby se javy zbavil a nedivím se, když se s Oraclem soudí. Ale uznávám, že to je jen můj osobní pocit.
Go je minimalistický, extrémně pragmatický jazyk, ain’t have no fancy shit. Navrhnout něco tak, aby to bylo jednoduché a zároveň funkční, je nejtěžší.
Zboji jsi to ty? Pan Géomètre  ;D :P
Název: Re:C# alebo Java?
Přispěvatel: Kit 11. 08. 2018, 18:30:57
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 18:42:08
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
Název: Re:C# alebo Java?
Přispěvatel: hurvajs 11. 08. 2018, 18:52:27
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
To sice výkon zlepšit může, ale nikoliv natolik aby to v oblastech, kde to hraje roli -- hrálo roli.
Stejně tak má .NET podporu SIMD -- viz System.Numerics a žádná revoluce např. v game engineech se nekoná.
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 19:03:52
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
To sice výkon zlepšit může, ale nikoliv natolik aby to v oblastech, kde to hraje roli -- hrálo roli.
Stejně tak má .NET podporu SIMD -- viz System.Numerics a žádná revoluce např. v game engineech se nekoná.

Při zpracování velkých dat to zvýší výkon několikanásobně (v C# se takhle můžete vyhnout GC na miliónech objektů). A i využití paměti je efektivnější (např. na jednu položku seznamu ArrayList<Integer> v Javě spotřebujete 20-24 bajtů paměti (16 bajtů na objekt a 4-8 bajtů na referenci) zatímco v .NET na List<int> jen 4 bajty - což je 5-6x méně).
Název: Re:C# alebo Java?
Přispěvatel: hurvajs 11. 08. 2018, 19:10:07
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
To sice výkon zlepšit může, ale nikoliv natolik aby to v oblastech, kde to hraje roli -- hrálo roli.
Stejně tak má .NET podporu SIMD -- viz System.Numerics a žádná revoluce např. v game engineech se nekoná.

Při zpracování velkých dat to zvýší výkon několikanásobně (v C# se takhle můžete vyhnout GC na miliónech objektů). A i využití paměti je efektivnější (např. na jednu položku seznamu ArrayList<Integer> v Javě spotřebujete 20-24 bajtů paměti (16 bajtů na objekt a 4-8 bajtů na referenci) zatímco v .NET na List<int> jen 4 bajty - což je 5-6x méně).
To vám věřím. Otázkou je proč se tedy nepíšou věci v .NETu, když je jasně efektivnějsí. Je to jen stigma .NETu, že je od MS? A opravdu si myslíte si že by přepsání do .NETu přineslo zlepšení?
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 11. 08. 2018, 19:22:23
Při zpracování velkých dat to zvýší výkon několikanásobně (v C# se takhle můžete vyhnout GC na miliónech objektů). A i využití paměti je efektivnější (např. na jednu položku seznamu ArrayList<Integer> v Javě spotřebujete 20-24 bajtů paměti (16 bajtů na objekt a 4-8 bajtů na referenci) zatímco v .NET na List<int> jen 4 bajty - což je 5-6x méně).

Jenze spravne implementovany framework vyuzije prave toho, ze se predevsim nevytvari takove mnozstvi objektu, ktere krome rezie zpusobuji i implicitni vicenasobne bufferovani dat. To by u TB kolekci vedlo k neodstranitelne rezii a zbytecne ztrate vykonu. U velkych dat se predevsim pouzivaji algoritmy nad proudy dat, kterym pak staci jen male posuvne okno.
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 19:35:56
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
To sice výkon zlepšit může, ale nikoliv natolik aby to v oblastech, kde to hraje roli -- hrálo roli.
Stejně tak má .NET podporu SIMD -- viz System.Numerics a žádná revoluce např. v game engineech se nekoná.

Při zpracování velkých dat to zvýší výkon několikanásobně (v C# se takhle můžete vyhnout GC na miliónech objektů). A i využití paměti je efektivnější (např. na jednu položku seznamu ArrayList<Integer> v Javě spotřebujete 20-24 bajtů paměti (16 bajtů na objekt a 4-8 bajtů na referenci) zatímco v .NET na List<int> jen 4 bajty - což je 5-6x méně).
To vám věřím. Otázkou je proč se tedy nepíšou věci v .NETu, když je jasně efektivnějsí. Je to jen stigma .NETu, že je od MS?

Span je třeba celkem nový (květen 2018), takže se o něm zatím moc neví.


Citace
A opravdu si myslíte si že by přepsání do .NETu přineslo zlepšení?

Třeba v případě Sparku by to přineslo zlepšení jako přináší UnsafeRow - s tím rozdílem, že by uživatel mohl používat normální struktury a normální funkce (AFAIK s UnsafeRow nejde používat normální uživatelsky definované funkce).

Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 19:38:53
U velkych dat se predevsim pouzivaji algoritmy nad proudy dat, kterym pak staci jen male posuvne okno.

Co když data chcete setřídit nebo joinovat (tam Spark často také používá třídění)?
Název: Re:C# alebo Java?
Přispěvatel: tralala 11. 08. 2018, 20:00:06
Dakujem panom expertom z rootu ze som sa dozvedel ze spark ke zufalo pomaly :D nejaky micek z hornej dolnrj by to asi napisal rychlejsie ale to je pre neho o nicom problem :D spark byva podla statistik aj 100 krat rychlejsi jak hadoop, co potom vravi micek na ten?
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 20:18:34
nejaky micek z hornej dolnrj by to asi napisal rychlejsie

Přesně tak, kdyby mi to někdo zaplatil

Podívejte se třeba https://andygrove.io/2018/03/datafusion-0.2.1-benchmark/ - je to projekt jednoho člověka a je to asi 3x rychlejší než Spark.

Nebo se podívejte sem https://www.quora.com/Is-it-significant-to-rewrite-HDFS-Hadoop-Spark-or-HBase-in-C-C++-to-improve-computational-efficiency

Nebo třeba SnappyData http://www.snappydata.io/highlights/performance - zase to ukazuje, že Spark má poměrně velké rezervy
Název: Re:C# alebo Java?
Přispěvatel: hurvajs 11. 08. 2018, 20:20:05
No, třeba udělat výkonnou aplikaci nad JVM je prakticky nemožné - musíte sáhnout k C nebo C++.

Blbost. Když to někdo neumí, tak to ještě neznamená, že to nejde.

To je pravda. Nicméně ten váš argument ani neznamená, že to rozumně jde. A kdyby to rozumně v Javě šlo, proč se už roky uvažuje o přidání hodnotových typů do JVM a Javy?
To sice výkon zlepšit může, ale nikoliv natolik aby to v oblastech, kde to hraje roli -- hrálo roli.
Stejně tak má .NET podporu SIMD -- viz System.Numerics a žádná revoluce např. v game engineech se nekoná.

Při zpracování velkých dat to zvýší výkon několikanásobně (v C# se takhle můžete vyhnout GC na miliónech objektů). A i využití paměti je efektivnější (např. na jednu položku seznamu ArrayList<Integer> v Javě spotřebujete 20-24 bajtů paměti (16 bajtů na objekt a 4-8 bajtů na referenci) zatímco v .NET na List<int> jen 4 bajty - což je 5-6x méně).
To vám věřím. Otázkou je proč se tedy nepíšou věci v .NETu, když je jasně efektivnějsí. Je to jen stigma .NETu, že je od MS?

Span je třeba celkem nový (květen 2018), takže se o něm zatím moc neví.


Citace
A opravdu si myslíte si že by přepsání do .NETu přineslo zlepšení?

Třeba v případě Sparku by to přineslo zlepšení jako přináší UnsafeRow - s tím rozdílem, že by uživatel mohl používat normální struktury a normální funkce (AFAIK s UnsafeRow nejde používat normální uživatelsky definované funkce).
Ano Span je celkem nový, podpora SIMD a RyuJIT taky... nicméně si pořád nejsem jistý, jestli by to ty nástroje zlepšilo. Daleko větší smysl by to mělo napsat v D, Rustu i v tom C++ -- takže je mi záhadou proč někdo volil/volí Javu, když je podle vás jasně neefektivní. Podle mého laického názoru proto, že je to prostě "good enough" a tam kde to nahoníte výkonem, ztratíte jinde -- hlavně nástroji. Jak se třeba profiluje v takovém .NETu? Monitoruje VM atd.? Pokud se nepletu, tak za velké peníze.
Název: Re:C# alebo Java?
Přispěvatel: hurvajs 11. 08. 2018, 20:23:03
nejaky micek z hornej dolnrj by to asi napisal rychlejsie

Přesně tak, kdyby mi to někdo zaplatil

Podívejte se třeba https://andygrove.io/2018/03/datafusion-0.2.1-benchmark/ - je to projekt jednoho člověka a je to asi 3x rychlejší než Spark.

Nebo se podívejte sem https://www.quora.com/Is-it-significant-to-rewrite-HDFS-Hadoop-Spark-or-HBase-in-C-C++-to-improve-computational-efficiency

Nebo třeba SnappyData http://www.snappydata.io/highlights/performance - zase to ukazuje, že Spark má poměrně velké rezervy
Jo ale ten DataFusion je v Rustu ne? Je to důkaz efektivity .NETu?
Název: Re:C# alebo Java?
Přispěvatel: Radek Miček 11. 08. 2018, 20:23:48
nejaky micek z hornej dolnrj by to asi napisal rychlejsie

Přesně tak, kdyby mi to někdo zaplatil

Podívejte se třeba https://andygrove.io/2018/03/datafusion-0.2.1-benchmark/ - je to projekt jednoho člověka a je to asi 3x rychlejší než Spark.

Nebo se podívejte sem https://www.quora.com/Is-it-significant-to-rewrite-HDFS-Hadoop-Spark-or-HBase-in-C-C++-to-improve-computational-efficiency

Nebo třeba SnappyData http://www.snappydata.io/highlights/performance - zase to ukazuje, že Spark má poměrně velké rezervy
Jo ale ten DataFusion je v Rustu ne? Je to důkaz efektivity .NETu?

Důkaz, že Spark není příliš efektivní.
Název: Re:C# alebo Java?
Přispěvatel: hurvajs 11. 08. 2018, 20:25:43
nejaky micek z hornej dolnrj by to asi napisal rychlejsie
Přesně tak, kdyby mi to někdo zaplatil.
Jinak s tímhle vám fandím a to vážně. Spousta věcí je kupodivu prací jedince, alespoň základ. Co vlastně programujete pokud se můžu zeptat.
Název: Re:C# alebo Java?
Přispěvatel: tralala 11. 08. 2018, 20:41:02
Hlavna feature sparku je ze k big data pritiahol lopaty, cely ten pristup ako sa tie joby pocitaju je proste sexi, rovnako aj streaming a ta ml libka ... niekedy proste nejde o to co je v absolutnom zmysle uplne najlepsie. Ked je raz hadoop v jave tak je odveci pisat spark v c#, preco by to robili? Same problemy, to radsej scala ako to aj spravili.

Nevyhoda c# je nedostatok softveru a technologii ktore ta platforma ma k dispozicii, je to taky gap ze to c# uz nema sancu dobehnut
Název: Re:C# alebo Java?
Přispěvatel: Géomètre 11. 08. 2018, 21:04:02
Hlavna feature sparku je ze k big data pritiahol lopaty, cely ten pristup ako sa tie joby pocitaju je proste sexi, rovnako aj streaming a ta ml libka ... niekedy proste nejde o to co je v absolutnom zmysle uplne najlepsie. Ked je raz hadoop v jave tak je odveci pisat spark v c#, preco by to robili? Same problemy, to radsej scala ako to aj spravili.

Nevyhoda c# je nedostatok softveru a technologii ktore ta platforma ma k dispozicii, je to taky gap ze to c# uz nema sancu dobehnut
A proč Scala?
Název: Re:C# alebo Java?
Přispěvatel: tralala 11. 08. 2018, 21:25:28
Pretoze java je na to neskutocne ukecana a nejake jazykove konstrukty su v tom nezapisatelne aby to bolo take ciste ... tiez ma scala REPL a chceli aby to bolo spustatelne odtial, bol to jeden z cieliv co tym sledovali, vseobecne asi viac mature jazyk ... funkcionalne s objektovym, to proste chces
Název: Re:C# alebo Java?
Přispěvatel: Tomas Lipsky 12. 08. 2018, 08:28:49
U velkych dat se predevsim pouzivaji algoritmy nad proudy dat, kterym pak staci jen male posuvne okno.

Co když data chcete setřídit nebo joinovat (tam Spark často také používá třídění)?

V cem je tam problem? Takove operace muzou byt bez problemu interni, navic implementovane variantami merge-sort, takze z API k uzivateli stale kouka jen male posuvne okno setrideneho proudu.
Název: Re:C# alebo Java?
Přispěvatel: era 13. 08. 2018, 11:41:53
Podle mého laického názoru proto, že je to prostě "good enough" a tam kde to nahoníte výkonem, ztratíte jinde -- hlavně nástroji. Jak se třeba profiluje v takovém .NETu? Monitoruje VM atd.? Pokud se nepletu, tak za velké peníze.

Na linuxu můžete pro .net core použít perf:
https://www.youtube.com/watch?v=O4kTJW91Ri4 (https://www.youtube.com/watch?v=O4kTJW91Ri4)
Název: Re:C# alebo Java?
Přispěvatel: era 13. 08. 2018, 12:31:38
Nejvíc toho ale pro debugování a profilování aplikací na linuxu umí pořád jenom velké Visual Studio, kde můžete jednoduše vzdáleně ladit aplikace v dockeru na linuxu a nebo pomocí ssh. S tím, že se toho plánuje do budoucna víc jak pro Visual Studio, tak JetBrain vyvíjí taky vlastní profiler pro linux. Mono má potom zase vlastní profiler a nástroje.

Offroad Debugging of .NET Core on Linux OSX from Visual Studio (https://github.com/Microsoft/MIEngine/wiki/Offroad-Debugging-of-.NET-Core-on-Linux---OSX-from-Visual-Studio)
Název: Re:C# alebo Java?
Přispěvatel: Neinformovaný 17. 08. 2018, 16:08:48
PHP je možná beznadějným jazykem, ale je o dost pohodlnější než Java a C# dohromady. Je také mnohem stručnější díky svému multiparadigmatickému přístupu. Jen se v něm nesmí programovat v javovském stylu - to je pak tragédie.

Pohodlnější leda na krátkej skript, jen tak vypíchnu pár věcí, co mě čim dál tim víc vytáčej, většina vyplývá z typování:

- Řetězec ani pole není objekt, takže ti znemožňuje řetězcový volání jako např. myArray.filter(x => x.length > 10).map(x => x.trim()), ale musíš funkce do sebe absolutně nepřehleně zanořit, nebo pro každý volání napsat novej řádek s přiřazenim

- Typy se píšou do bezcennejch komentářů ("anotací") a chybu se dozvíš až za běhu, né jako u staticky typovanejch jazyků, že ti to IDE ukáže. Takže pro to co je v Java/C# pěkně defaultně, ty musíš použít nástroj jako je PHPStan/Phan.

- Typehinty neumí pokročilejší výrazy, např. array<string>, ale musí se to zdlouhavě psát do komentářů

- Anotace je zvykem dělat zdlouhavě /** */ a roztáhnout minimálně na 3 řádky oproti jednoduchýmu @Anotace nebo [Anotace]

- Absence statickýho typování tě nutí myslet na typy. Je taky složitější nastudovat cizí kód.

- Nevim jak ostatní, ale já se trochu bojim používat ===, protože v PHP kdoví v jakym typu číslo přiletí a vznikne logická chyba..

- Minule jsem potřeboval poslat asynchronní dotaz do DB a zpracovat výsledek... Zatímto v JS/C#/Java je asynchronní volání IO operace samozřejmost, v PHP je to neskutečnej problém (když nepočítáme HTTP request). Navíc chybí výrobná async await konstrukce

- Výkon se samozřejmě nedá porovnávat s kompilovanym jazykem, i když nový PHP už je na tom líp než superpomalej Python

Fakt ti ani jedna z těch věcí nevadí?
Když někdo programuje delší dobu, tak snad musí pociťovat, že PHP na seriozní vývoj neni moc vhodný.
Název: Re:C# alebo Java?
Přispěvatel: Trollopata 17. 08. 2018, 16:20:07
U velkych dat se predevsim pouzivaji algoritmy nad proudy dat, kterym pak staci jen male posuvne okno.

Co když data chcete setřídit nebo joinovat (tam Spark často také používá třídění)?

V cem je tam problem? Takove operace muzou byt bez problemu interni, navic implementovane variantami merge-sort, takze z API k uzivateli stale kouka jen male posuvne okno setrideneho proudu.

Já bych ta data raději řadil. Třídíme spíše odpad.
Název: Re:C# alebo Java?
Přispěvatel: Bacsa 17. 08. 2018, 16:53:47
U velkych dat se predevsim pouzivaji algoritmy nad proudy dat, kterym pak staci jen male posuvne okno.
Co když data chcete setřídit nebo joinovat (tam Spark často také používá třídění)?
V cem je tam problem? Takove operace muzou byt bez problemu interni, navic implementovane variantami merge-sort, takze z API k uzivateli stale kouka jen male posuvne okno setrideneho proudu.
Třídíme spíše odpad.
Třeba tebe ;)