C# alebo Java?

anonym

Re:C# alebo Java?
« Odpověď #45 kdy: 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. 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.


era

Re:C# alebo Java?
« Odpověď #46 kdy: 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. 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.

Re:C# alebo Java?
« Odpověď #47 kdy: 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.

era

Re:C# alebo Java?
« Odpověď #48 kdy: 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 ) 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.

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/.

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.

era

Re:C# alebo Java?
« Odpověď #49 kdy: 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



Re:C# alebo Java?
« Odpověď #50 kdy: 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.

era

Re:C# alebo Java?
« Odpověď #51 kdy: 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)

Neinformovaný

Re:C# alebo Java?
« Odpověď #52 kdy: 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

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ě.

Kit

Re:C# alebo Java?
« Odpověď #53 kdy: 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
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.

Re:C# alebo Java?
« Odpověď #54 kdy: 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.

Re:C# alebo Java?
« Odpověď #55 kdy: 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. 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,

Re:C# alebo Java?
« Odpověď #56 kdy: 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.

Re:C# alebo Java?
« Odpověď #57 kdy: 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.

Re:C# alebo Java?
« Odpověď #58 kdy: 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.

Radek Miček

Re:C# alebo Java?
« Odpověď #59 kdy: 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.