C# .NET vs. Java?

jetotak

Re:C# .NET vs. Java?
« Odpověď #75 kdy: 24. 02. 2015, 09:27:18 »
Jo, filip tam mel hromadu blabolu kolem, ale tohle byla pointa. Je videt ze jsi hloupy ze to nechapes ;-)
Ne, nebyla to pointa. To, že to nechápete, nemusí být jenom tím, že jste hloupý, třeba jsem to já špatně napsal. A nebo prostě jenom máte málo zkušeností.

Ještě ty blbce obhajuj ;D


Kit

Re:C# .NET vs. Java?
« Odpověď #76 kdy: 24. 02. 2015, 09:40:45 »
ja robim v C# a nejak som sa zatial nikdy nedopatral k tomu, ake optimalizacie vykonava kompilator.

Jednou ze zajímavých optimalizací je například expandování privátních metod místo jejich volání. Gettery/settery jsou převáděny na přímé čtení/zápisy do objektu. Kompilátoru tedy jedno, zda programátor píše jednu dlouhou nepřehlednou nudli nebo programuje elegantně a čitelně.

Lael Ophir

Re:C# .NET vs. Java?
« Odpověď #77 kdy: 24. 02. 2015, 10:57:50 »
K původnímu tématu: uživíte se velmi slušně s Javou i .NETem. U Javy budete psát nejspíš serverové aplikace ("míchání dat"), případně mobilní aplikace pro Android. Svět .NETu je to trochu bohatší, a zahrnuje všechno od desktopu, přes web a mobilní aplikace až po server. Přechod z Javy na C# bývá poměrně jednoduchý, C# je prakticky nadmnožinou Javy. Naopak je to složitější, protože si připadáte jako když vám někdo uříznul jednu ruku.

Na vašem místě bych problém, o kterém rozhodujete, popsal numericky. Vyberte důležitá kritéria, bodově je ohodnoťte pro variantu A a B, přiřaďte jim důležitost, a spočítejte si co vychází lépe.

perceptron

Re:C# .NET vs. Java?
« Odpověď #78 kdy: 24. 02. 2015, 11:26:28 »
servery su ekvivalentne na oboch stranach
na webe v jave mate stale moznost robit jsf / wicket / ine ui frameworky ako v .nete
mobilne aplikacie maju android omnoho rozsirenejsi nez windows phone
jedine kde sa to lisi je desktop; tam .net vyhrava a v jave sux

Re:C# .NET vs. Java?
« Odpověď #79 kdy: 24. 02. 2015, 11:28:23 »
Svět .NETu je to trochu bohatší, a zahrnuje všechno od desktopu, přes web a mobilní aplikace až po server.
Viděl bych to přesně opačně. Třeba ty mobilní aplikace – kolik lidí má mobil s Windows a jaká je tedy poptávka po mobilních Windows aplikacích? Jinak Javovské aplikace začínají ještě dřív, než desktop, můžete je klidné psát třeba pro Raspberri PI. To si s Cx budete muset počkat na dvojku, až na to Microsoft naportuje Windows.

Přechod z Javy na C# bývá poměrně jednoduchý, C# je prakticky nadmnožinou Javy. Naopak je to složitější, protože si připadáte jako když vám někdo uříznul jednu ruku.
A tady bych to viděl také opačně. Vaše tvrzení platí možná pro jazyk, ale když vezmete v úvahu celý ekosystém okolo, bude vám chybět víc než jen jedna ruka.


mr. frown

Re:C# .NET vs. Java?
« Odpověď #80 kdy: 24. 02. 2015, 11:36:21 »
Ještě ty blbce obhajuj ;D

ty mas nejakej komplex nebo co?

Lael Ophir

Re:C# .NET vs. Java?
« Odpověď #81 kdy: 24. 02. 2015, 12:07:53 »
Viděl bych to přesně opačně. Třeba ty mobilní aplikace – kolik lidí má mobil s Windows a jaká je tedy poptávka po mobilních Windows aplikacích? Jinak Javovské aplikace začínají ještě dřív, než desktop, můžete je klidné psát třeba pro Raspberri PI. To si s Cx budete muset počkat na dvojku, až na to Microsoft naportuje Windows.
Pokud nechcete mobilní aplikaci psát pro každou platformu zvlášť, je jednou z mála možností Xamarin, založený na .NETu.
V .NETu samozřejmě také můžete psát pro embedded zařízení, máte k dispozici .NET Compact Framework a  .NET Micro Framework. Pokud jde o Raspberry Pi I, tak tam můžete použít Mono.

A tady bych to viděl také opačně. Vaše tvrzení platí možná pro jazyk, ale když vezmete v úvahu celý ekosystém okolo, bude vám chybět víc než jen jedna ruka.
JDK je má dost úzké API, protože "one size fits all". Zkuste z Javy zjistit jaké na stroji běží služby (services/deamons), jaké jsou naplánované úlohy (Windows Task Scheduler/cron), něco vytisknout, získat obrázek ze scanneru atd. Navíc jsou dost hrozivě nedodělané i základy, jako operace s časem/datem, named parameters při práci s DB atd. Něco se snaží zalepit Apache Commons, ale je to bída. V .NETu máte k dispozici mnohem širší služby platformy. K tomu pak nabídku komponent třetích stran, většinou (na rozdíl od knihoven pro Javu) slušně dokumentovaných.
BTW první co mě na Javě zarazilo je absence verbatim string literals. Chápu že je to snaha dohnat autory k používání resources (které jsou mimochodem implementované dost hrozivě). Ale regex asi nebudu dávat do resources, a escapovat regex je opravdu na hlavu. Autory Javy bych nechal za trest... psát kód v Javě :)

whata

Re:C# .NET vs. Java?
« Odpověď #82 kdy: 24. 02. 2015, 12:49:04 »
Demagog Lael nám tu chyběl :-)

Pokud nechcete mobilní aplikaci psát pro každou platformu zvlášť, je jednou z mála možností Xamarin, založený na .NETu.
V .NETu samozřejmě také můžete psát pro embedded zařízení, máte k dispozici .NET Compact Framework a  .NET Micro Framework. Pokud jde o Raspberry Pi I, tak tam můžete použít Mono.

Vow, takže nesmysl typu Java ME, kterého se Java zbavila už před 5-10ti lety, teď Microsoft u dotNet prosazuje jako horkou moderní novinku? :-)

JDK je má dost úzké API, protože "one size fits all". Zkuste z Javy zjistit jaké na stroji běží služby (services/deamons), jaké jsou naplánované úlohy (Windows Task Scheduler/cron), něco vytisknout, získat obrázek ze scanneru atd. Navíc jsou dost hrozivě nedodělané i základy, jako operace s časem/datem, named parameters při práci s DB atd. Něco se snaží zalepit Apache Commons, ale je to bída. V .NETu máte k dispozici mnohem širší služby platformy. K tomu pak nabídku komponent třetích stran, většinou (na rozdíl od knihoven pro Javu) slušně dokumentovaných.

Většina věcí je podporovaná platformově nezávisle. Na věci, které jsou platformově závislé, existují, celkem logicky, platformově závislé knihovny.
Operace s časem/datem jsou v pořádku a pokud vím, tak i flexibilnější z hlediska kultur. Kde je přesně problém s named parameters u DB, nikdy jsem na žádný nenarazil...? Apache Commons jsou samozřejmě skvělé a Apache Commons mají i dotNet verze, bohužel často ne na takové úrovni jako Java ekvivalenty. Přesto je to obvykle lepší varianta než to, co nám naservíroval Microsoft. Stejně tak NHibernate pro ORM a Spring.net pro MVC a IoC. Obojí je sice jen kopie původního Java framework, ale opět lepší než Microsoft frameworks, které mají často jepičí život. Viz například Silverlight, který měl být vlajkovou lodí a dnes po něm neštěkne ani pes - a společnosti, které na tom postavily svůj business, si teď rvou vlasy...

atarist

Re:C# .NET vs. Java?
« Odpověď #83 kdy: 24. 02. 2015, 13:06:57 »
Obojí je sice jen kopie původního Java framework, ale opět lepší než Microsoft frameworks, které mají často jepičí život. Viz například Silverlight, který měl být vlajkovou lodí a dnes po něm neštěkne ani pes - a společnosti, které na tom postavily svůj business, si teď rvou vlasy...

Tak tak, znam par firem z businessu, kteri se presne takto spalili, dokonce uz dvakrat po sobe. Ted jsou mnohem opatrnejsi a projekty, u nichz "hrozi", ze budou muset byt podporovany treba vic nez 5 let, to stavi jen na otevrenych technologiich. A navic dneska je v RFE uz skoro automaticky pozadavek na klienta pro smartphony, takze tam jsou volby celkem logicky.

JurP

Re:C# .NET vs. Java?
« Odpověď #84 kdy: 24. 02. 2015, 13:09:29 »
zas si tu budu linuxaci pouzivajuci javu zrovnavat peeera s microsoftakmi pouzivajucimi C#. Kamarat pracoval v Jave aj C#. Povedal, ze C# je ovela lepsi nez Java. Ja Javu nepoznam, a neviem, ci sa do nej vobec pustim. Zliepat a instalovat X java frameworkov, to radsej C#, kde je vsetko pokope :) A nehovoriac o IDE, ktore ma MS prepracovane a ziadne ine sa nechyta nan. Proste Visual Studio je mocny nastroj.

Radek Miček

Re:C# .NET vs. Java?
« Odpověď #85 kdy: 24. 02. 2015, 13:18:42 »
projekty, u nichz "hrozi", ze budou muset byt podporovany treba vic nez 5 let, to stavi jen na otevrenych technologiich

Otázkou je, zda to stačí. Stejně tu je riziko, že nebudou mít kapacitu udržovat tu otevřenou technologii, když ji opustí původní autoři.

Re:C# .NET vs. Java?
« Odpověď #86 kdy: 24. 02. 2015, 13:24:25 »
Pokud nechcete mobilní aplikaci psát pro každou platformu zvlášť
Chci, protože ty platformy jsou rozdílné, a napsat to jednou znamená, že to bude špatně na všech platformách.

JDK je má dost úzké API, protože "one size fits all". Zkuste z Javy zjistit jaké na stroji běží služby (services/deamons), jaké jsou naplánované úlohy (Windows Task Scheduler/cron), něco vytisknout, získat obrázek ze scanneru atd.
To není otázka jazyka, ale toho prostředí okolo. Je hezké, že jste vyjmenoval úplně vše, kde má prostředí C# navrch. Ale moc toho není, že?

Navíc jsou dost hrozivě nedodělané i základy, jako operace s časem/datem, named parameters při práci s DB atd.
Co vám vadí na JodaTime, které je i součástí JRE 8? Co vám vadí na JDBC, Spring Data, Hibernate a spoustě dalších knihoven a frameworků, které pro práci s DB existují?

Něco se snaží zalepit Apache Commons, ale je to bída.
Bída je především Apache Commons. Ty byly mezi slepými jednookým králem někdy před deseti lety, dnes máme spoustu nesrovnatelně lepších knihoven. A to, že jsou ty věci v knihovnách, je snad správně – proč by to mělo všechno být v základní platformě?

V .NETu máte k dispozici mnohem širší služby platformy.
To je podle mne nedostatek.

K tomu pak nabídku komponent třetích stran, většinou (na rozdíl od knihoven pro Javu) slušně dokumentovaných.
No ale ta nabídka není moc slavná, že? S tou dokumentací je to také jen nějaký váš výmysl.

BTW první co mě na Javě zarazilo je absence verbatim string literals.
Takovýchhle příkladů najdete u každého jazyka spoustu, a o každé jednotlivě se můžete do krve hádat, jestli je to správně nebo není. U každé najdete zastánce toho, že jazyk má mít jednoduchou syntaxi bez spousty výjimek, jinak potom vypadá, jako když pejsek a kočička vařili dort. A proti nim budou stát zastánci toho, že zrovna tenhle syntaktický cukr je velice užitečná věc a ušetří to triliony dolarů. Abych do tohoto flamewaru také přispěl – zamyslet se nad tím, jestli ona primitivní syntaxe Javy není jedním z důvodů jejího velkého rozšíření. Protože kompletní syntaxi obsáhne programátor za chvilku a v kódu ho pak nepřekvapují různé obskurní shluky symbolů.

A nehovoriac o IDE, ktore ma MS prepracovane a ziadne ine sa nechyta nan. Proste Visual Studio je mocny nastroj.
A proto existuje ReSharper, aby se to slavné Visual Studio alespoň přiblížilo javovským IDE.

Kit

Re:C# .NET vs. Java?
« Odpověď #87 kdy: 24. 02. 2015, 13:28:42 »
zas si tu budu linuxaci pouzivajuci javu zrovnavat peeera s microsoftakmi pouzivajucimi C#. Kamarat pracoval v Jave aj C#. Povedal, ze C# je ovela lepsi nez Java. Ja Javu nepoznam, a neviem, ci sa do nej vobec pustim. Zliepat a instalovat X java frameworkov, to radsej C#, kde je vsetko pokope :) A nehovoriac o IDE, ktore ma MS prepracovane a ziadne ine sa nechyta nan. Proste Visual Studio je mocny nastroj.

Čemu se divíš? Na Microsoftím portálu se nechytíš s Javou. Zapomínáš, že jsme na Rootovi a že uzavřená řešení tady jsou v nelibosti. Argument typu JPP není žádným argumentem. A když vidím, že to MS IDE pojmenovává každý program názvem Program, tlačítka pojmenovává Button01..Button0n a vůbec nevede programátory k tomu, aby si to přejmenovali podle sebe, tak takový nástroj spíš považuji za nemocný. Nemluvě o debilním pojmenovávání inteface v maďarské notaci, které svádí k psaní chybného kódu.

JurP

Re:C# .NET vs. Java?
« Odpověď #88 kdy: 24. 02. 2015, 13:50:29 »
Jirasku:
vy snad trepete 2 na 3. aby sa Visual Studio priblizilo s Resharperom k IDE pre javu? preboha tak vy tu chcete asi len rozputat burlivu diskusiu. VS ma navrch aj bez resharpera. asi 3 roky dozadu som pouzival NetBeans na C++, ktore je primarne na javu. Tak ubohy nastroj som nevidel. V tom case existovalo uz VS2010 a to bola parna mlaticka, ako hovoril nas ucitel. No a eclipse, to je pohroma sama o sebe. VS nema konkurenta pane Jirasku ;)

JurP

Re:C# .NET vs. Java?
« Odpověď #89 kdy: 24. 02. 2015, 13:53:40 »
A když vidím, že to MS IDE pojmenovává každý program názvem Program, tlačítka pojmenovává Button01..Button0n a vůbec nevede programátory k tomu, aby si to přejmenovali podle sebe, tak takový nástroj spíš považuji za nemocný. Nemluvě o debilním pojmenovávání inteface v maďarské notaci, které svádí k psaní chybného kódu.

je predsa na inteligencii programatora, ako si co nazve. preco by mi malo prostredie diktovat, aby som si premenoval nieco podla seba? na tom je potom vidiet, kto tomu rozumie a vie, co aj robi ;)