reklama

C# alebo Java?

era

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

  • Opensource .NET core především pro server side což je teď primárně vyvíjený framework
  • Opensource Mono které se teď používá hlavně pro mobilní aplikace
  • Proprietarní .NET framework jako komponenta windows

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

Nejvýznamnější IDE jsou:

  • Properietarní Visual Studio pro Windows
  • Proprietarní Visual Studio for Mac založené na opensource MonoDevelop
  • Opensource multiplatformní Visual Studio Code
  • Multiplatformní JetBrains Rider založený na stejné technologii jako IntelliJ IDEA
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.

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.

reklama


hovnex

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

era

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

Kit

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

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

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


era

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

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/

Nebo se můžete podívat přímo na dokumentaci redhat:
https://access.redhat.com/documentation/en-us/net_core/2.1/

Kit

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

tralala

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

era

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

anonym

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

Géomètre

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

tralala

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

era

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

era

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

era

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

 

reklama