Diskuze: Doporučíte mi C# nebo Javu?

Volná diskuze Doporučíte mi C# nebo Javu?

Avatar
Danik
Člen
Avatar
Danik:

Abych to nějak upřesnil. :)
Jsem mladý student, který by se chtěl učit programovat nějaké ty menší aplikace pro vlastní potřebu a hlavně pro zábavu (s GUI). Maličko jsem pronikl do obou jazyků (až po nějaké ty cykly a podmínky), oba mají myslím něco do sebe. )V C# jsem si už dokonce vytvořil takovou (nic extra) grafickou kalkulačku.. a všeobecně se mi C# a Visual studio zdá takové přívětivější.
A jelikož bych se chtěl v budoucnosti programováním i živit, tak se ptám co by tedy pro mě bylo výhodnější (chtěl bych se věnovat hlavně desktopu, možná z malé části i web, mobilní aplikace mě příliš nelákají). Už jsem četl o obou jazycích spoustu věci, např. že C# je prostě 'vyvinutější', ale Java pro změnu zase například multiplatformní. I když pochybuju, že zrovna já její multiplatformost někdy využiji. :D
Takže se ještě jednou ptám.. Pro tvorbu (prozatím) amatérských menších prográmku Java nebo .NET? :)

 
Odpovědět 21.1.2014 21:55
Avatar
Odpovídá na Danik
Michal Žůrek (misaz):

Jak píšeš tak si víc nakloněný k C#, tak dělej v něm.

Nahoru Odpovědět 21.1.2014 21:58
Nesnáším {}, proto se jim vyhýbám.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Danik
Kit:

Abys to neměl tak jednoduché, hlasuji pro Javu. Důvody jsi uvedl.

Nahoru Odpovědět  +2 21.1.2014 22:10
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Danik
Luboš Běhounek (Satik):

Podle toho co píšeš asi .NET - zatím na desktopech s přehledem dominují Windows.

V nejhorším případě přejít na Javu můžeš kdykoliv, jazyky to jsou podobné, hlavní je mít programátorské myšlení :)

Osobně také volím C# před Javou, i když jsem Javu potkal asi o rok dřív - některé ty rozdílnosti mi vyhovují víc v C# + jak už jsi psal - Visual Studiu jakékoliv Java IDE těžko konkuruje :)

Editováno 21.1.2014 22:16
Nahoru Odpovědět 21.1.2014 22:13
:)
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Danik
Jiří Gracík:

U webových projektů také využiješ spíše C# než Javu.

Nahoru Odpovědět  -1 21.1.2014 22:16
Creating websites is awesome till you see the result in another browser ...
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Jiří Gracík:

Poslední dobou hodně překvapil IntelliJ, některé základní vlastnosti (nejvíc inteligentní napovídání a domýšlení názvů objektů a proměnných) mi v základním Visual Studiu chybí.

Nahoru Odpovědět 21.1.2014 22:19
Creating websites is awesome till you see the result in another browser ...
Avatar
Kit
Redaktor
Avatar
Odpovídá na Danik
Kit:

U cloudových projektů využiješ spíše Javu než C#.

Nahoru Odpovědět  +1 21.1.2014 22:20
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Odpovídá na Jiří Gracík
Luboš Běhounek (Satik):

Nezkoušel jsem, ale podobné věci umí pluginy do VS.
Kolega z práce používá Visual assist X, ale ten je placený.

Nahoru Odpovědět 21.1.2014 22:23
:)
Avatar
Danik
Člen
Avatar
Danik:

Děkuji za odpovědi. :)
Ale jak už jsem psal, jde mi spíše o menší grafické aplikace, než o nějaké obrovské projekty.

 
Nahoru Odpovědět 21.1.2014 22:28
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
Jiří Gracík:

Já vím, ale já moc na pluginy nejsem. Nepochybuji o tom, že se to do Visualka dá přidat, ale překvapilo mě to u IntelliJ už v základu (s mnoha dalšími "fíčurami")

Nahoru Odpovědět 21.1.2014 22:28
Creating websites is awesome till you see the result in another browser ...
Avatar
Paradise
Redaktor
Avatar
Paradise:

C# protože Visual Studio.

 
Nahoru Odpovědět  -2 21.1.2014 22:58
Avatar
Kit
Redaktor
Avatar
Odpovídá na Paradise
Kit:

Ať žije demagogie. Nějaký relevantní argument by nebyl?

Nahoru Odpovědět  ±0 21.1.2014 23:01
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Je fakt, že komplexní čísla mi v Javě chybí, proto dělám raději výpočty ve specializovaných jazycích.

Nahoru Odpovědět 21.1.2014 23:19
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kit
Jan Vargovský:

Máš tam stovky rozdílů a ty vybereš zrovna komplexní čísla ?

 
Nahoru Odpovědět 21.1.2014 23:42
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Protože to jediné z těch rozdílů potřebuji. Ostatní rozdíly jsou pro mne bez valného významu a spíše hovoří pro Javu.

Nahoru Odpovědět 22.1.2014 0:01
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
 
Nahoru Odpovědět 22.1.2014 0:29
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Víš přece, že na Linuxu běhá Java lépe než C#. Také mi připadá čistější, protože vlastnosti v nešikovných rukou dokáží pěkně zaneřádit aplikaci. Proto se jim vyhýbám i v PHP. Ani nevím, jestli enum v C# má konstruktor - Java ho má. Také nevím, jestli C# rozlišuje mezi vnořenými a statickými vnitřními třídami. Java umožňuje psát testy přímo do kódu tak, aby se v produkci neobjevily a není kvůli tomu nutné projekt znovu kompilovat...

Nahoru Odpovědět  ±0 22.1.2014 0:41
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Kit
Jan Vargovský:

No nevím, mi přijde, že spíše Java toho napíše více než C#. Enum (resp. enum) konstruktor nemá, má to pouhý výčet prvků, nic víc.

Když bych to vzal z mého, tak by mi chyběl decimal, tuple, extension metody, partial třídy (tvoření GUI je vždycky totální chaos, jak vidím jak se tvoří GUI, tak si libuju v C#.. Je sice dobré, že víš jak vše funguje od začátku, ale C# tě v tomto nenutí hned vědět co je to instance třídy Button apod.), indexery, dobrovolné argumenty, více dimenzové pole. Jsem jen projel co to tam tak nabízí. A to nemluvím o vlastnostech.

Zato třeba nedávno jsem objevil supr věc (nevím kde bych jí využil, ale je to cool featura) a to implementace interfacu anonymně.

Jinak samozřejmě věci jako EF, kvalitní IDE, LINQ a věci na které jsem zvyklý :) když něco bastlím pro přátelé s Jave, protože si neví rady, tak než to něco napoví ta nápověda tak si můžu zajít na toaletu...

 
Nahoru Odpovědět  +1 22.1.2014 0:54
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na Jan Vargovský
Honza Bittner:

Zkus třeba Sublime Text, nebo případně i VIM. V obojím se dá psát velmi dobře cokoli a jsou opravdu rychlé. :)

Nahoru Odpovědět 22.1.2014 0:59
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Matej Sladek
Člen
Avatar
Matej Sladek:

Pripajam sa ku Kitovi a Doporujem ti Javu

Editováno 22.1.2014 1:19
 
Nahoru Odpovědět  ±0 22.1.2014 1:19
Avatar
mkub
Redaktor
Avatar
Odpovídá na Danik
mkub:

aj ja sa priklanam k Jave, tu multiplatformovost vyuzije potom neskor, ked sa rozhodnes presedlat na iny OS, aspon nemusis potom spekulovat nad tym, ako svoje aplikacie rozbehas
a okrem toho je aj vhodnejsia aj na web vdaka prenositelnosti, nez C#

a ak by si sa nakoniec rozhodol vyvijat aplikacie pre mobily a tablety, tak so C# by si nepochodil

 
Nahoru Odpovědět  -2 22.1.2014 3:05
Avatar
MrPabloz
Člen
Avatar
Odpovídá na mkub
MrPabloz:

S c# by pochodil i na mobily a tablety, sice jen wp ale i tak :)

Jinak abych já doporučil, tak zatím jsem se dostal jen k Javě a ano má tu hlavní výhodu multiplatformost, ale pořád mi přijde c# lákavější, už jen proto, že chcu skusit vyvíjet pro wp, sám ho i mám, a také proto, že mi přijdou c# aplikace paměťově méně náročné. Tak ale co teda, skus si oboje a pak se rozhodni. Za mě to je oboje.

Nahoru Odpovědět 22.1.2014 6:38
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Jiří Gracík
Redaktor
Avatar
Odpovídá na mkub
Jiří Gracík:

Není pravda, v C# můžeš psát nejen pro WP, ale i pro Android a iOS.

Nahoru Odpovědět 22.1.2014 6:53
Creating websites is awesome till you see the result in another browser ...
Avatar
Michal Vašíček
Tým ITnetwork
Avatar
Odpovídá na Jiří Gracík
Michal Vašíček:

No jo, ale on měl asi na mysli C# .NET.

Nahoru Odpovědět 22.1.2014 7:04
Příspěvek může obsahovat stopy arašídů, sarkasmu a sóji.
Avatar
Benjibs
Člen
Avatar
Odpovídá na Danik
Benjibs:
  1. Určite Javu
  2. Netbeans toho dokáže podstatne viac než VS, navyše je krásne multiplatformné
  3. Java beží všade
  4. Najväčšia výhoda: Java nie je od Mrkvosoftu
  5. Java je o dosť používanejšia než C# a má väčšiu komunitu
Nahoru Odpovědět  +3 22.1.2014 7:49
1 + 1 = 2
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Ach jo, opět téma na obrovský flame. Každý jazyk má něco do sebe. Pokud budeš chtít kvalitní API přímo k Windows - desktop, windows phone, windows store aplikace vol C# resp. .NET. Pokud chceš "mít multiplatformní" jazyk asi vol Javu.

C# každopádně lze v pohodě použít i na Andorid či iOS. S kombinací MonoGame to je smrtelná kombinace :). Např. brzy vyjde launcher pro Android který je psaný v C# a je rychlý a svižný.
Jazyky jsou vesměs stejné, záleží co ti sedne víc. Na tom záleží asi nejvíc.

A porovnávat jazyky dle IDE ? o_O

Nahoru Odpovědět  +3 22.1.2014 7:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Redaktor
Avatar
Odpovídá na Jan Vargovský
Kit:

Anonymní implementace interface v Javě je také a používám to docela často. Je to super.

Nahoru Odpovědět 22.1.2014 8:29
Vlastnosti objektů by neměly být veřejné. A to ani prostřednictvím getterů/setterů.
Avatar
mkub
Redaktor
Avatar
Odpovídá na Michal Vašíček
mkub:

mal som na mysli C# ako taky... C# je od MS a najlepsie si rozumie s MS Windows, aj ked na tento jazyk sa da pouzit Mono, ale Mono ma menej moznosti, nez nativne nastroje pre C# (ci uz je to .NET platforma, alebo VS)
a ozajstny multiplatformovy jazyk uplne od svojho zrodu je Java, preto sa pouziva vsade a okrem toho kvalitne vyvojove nastroje pre Javu nestoja takmer nic (Eclipse, Netbeans - oba su multiplatformove, cize bezia na vsetkych hlavnych OS)

 
Nahoru Odpovědět 22.1.2014 8:49
Avatar
Zdeněk Pavlátka
Tým ITnetwork
Avatar
Odpovídá na Danik
Zdeněk Pavlátka:

Java je podle mě o malinko složitější, ale rozhodně ti umožní víc věcí. C# má přísnější syntax. Multiplatformní jsou v podstatě oba, ale u C# se to moc nevyužívá. Osobně umím oba jazyky a Java se mi zdá trochu nepřehledná. Záleží na tobě, ale pro deskopové aplikace doporučuji C#.

Nahoru Odpovědět  +1 22.1.2014 8:53
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Danik
David Čápka:

Java a C# jsou konkurenční technologie, je to jako by jsi se rozhodoval mezi Coca Colou a Pepsi. C# je takový navoněný a technologicky mnohem dále, Java je více komunitní a do podnikové sféry. Pracovní poptávka je po nich stejná, kvalita výsledných aplikací je také podobná.

Nahoru Odpovědět  +1 22.1.2014 8:53
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
Odpovídá na Benjibs
Luboš Běhounek (Satik):

"Netbeans toho dokáže podstatne viac než VS, navyše je krásne multiplatformné"
Buďto se Netbeans za poslední 3 roky výrazně zlepšilo nebo píšeš nesmysl, zatím jsem lepší IDE než VS nepotkal.
Netbeans si pamatuju jako pomalý padající moloch, který byl spíš jen jako takový lepší textový editor než robustní IDE.

Multiplatformnost je v jeho případě irelevantní, pro mobily neplánuje programovat a na desktopech zatím pořád převládá Windows, případně OSX, Linux je minoritní a navíc příliš roztříštěný, takže se pro něj moc nevyplatí vyvíjet desktopové aplikace.

"Najväčšia výhoda: Java nie je od Mrkvosoftu"
Pak se to nemá zvrhnout v flame...

"Java je o dosť používanejšia než C# a má väčšiu komunitu"
Oba jazyky jsou používané srovnatelně, můžeš tohle tvoje tvrzení něčím dokázat nebo je to jen plácání nesmyslů?
Stačí se kouknout třeba na poptávku práce po obou jazycích...

Nahoru Odpovědět  +1 22.1.2014 9:33
:)
Avatar
Odpovídá na Danik
Jakub Vaněk (Bubavanek):

Ono není zase takový problém mezi C# a Javou přecházet. Jak se naučíš jeden, už není problém se doučit druhý. Syntax je podobná.

 
Nahoru Odpovědět  +1 22.1.2014 9:36
Avatar
Odpovídá na Benjibs
Luboš Běhounek (Satik):

K té používanosti java/c# - podívej se třeba na počet dotazů u jednotlivých jazyků na http://www.stackoverflow.com (pokud tuhle stránku neznáš, nejsi programátor).

Když do vyhledávání zadám "java", našlo mi to 557,557 výsledků, na C# 578,922

Nahoru Odpovědět 22.1.2014 9:46
:)
Avatar
Odpovídá na Luboš Běhounek (Satik)
Jakub Vaněk (Bubavanek):

Ale to také nic nedokazuje. Z toho si každý může vyvodit co chce. Třeba, že C# je horší na pochopení, proto se musejí pořád dotazovat atp.
To je hrozně zkreslující.

 
Nahoru Odpovědět  -1 22.1.2014 9:53
Avatar
Paradise
Redaktor
Avatar
Odpovídá na Jakub Vaněk (Bubavanek)
Paradise:

Pořád to ale vypovídá víc něž nějaké plácání do větru od člověka, co má tučňáka v avataru.

 
Nahoru Odpovědět  -2 22.1.2014 10:00
Avatar
Odpovídá na Paradise
Jakub Vaněk (Bubavanek):

Asi se shodneme na tom, že toto téma je dost ožehavé. Ale máš pravdu co se týče toho plácání.
Nikdo z nás tady nemá žádné ověřené statistiky používanosti. Proto bychom se měli zdržet podobných komentářů.

A narážky na OS si nech taky od cesty. Jako by to nebylo fuk jestli iOS, Linux, Win. ;)

 
Nahoru Odpovědět  -1 22.1.2014 10:06
Avatar
mkub
Redaktor
Avatar
Odpovídá na Luboš Běhounek (Satik)
mkub:

Netbeans je plne multiplatformny - je podporovany vsetkymi hlavnymi OS (Unix/Linux/Win­dows/OS X)
s tym, ze je pomaly moloch suhlasim,
co sa tyka Linuxu, aj ked je roztriesteny, stale ma pevne jadro, o ktore sa stara jeden clovek a bez jeho vedomia sa nepridavaju ziadne veci,
s desktopom a rozsirenostou Linuxu suhlasim, na desktope je to minoritna zalezitost, ale netreba zabudat pri vyvoji aplikacii na nich,
ale pokial si pozries servery, tak tam je situacia uplne opacna, tam je Linux jednotka, cize Java je vhodny doplnok k serverovskym Java apletom aj vdaka multiplatformo­vosti,
je pravda, ze Java je pouzivanejsia nez C# (tu sa nemysli iba desktop, ale aj vsetky aplikacie, vratane mobilnych a serverovskych)

 
Nahoru Odpovědět  +3 22.1.2014 10:09
Avatar
Frunta
Redaktor
Avatar
Frunta:

Mně se C# .NET nelíbí už z principu. Vždyť jede přes virtuální mašinu, ale je jen pro Windowsy. Java jede taky přes virtuální mašinu, ale je multiplatformní. Proč tedy Microsoft neudělá tu virtuální mašinu i pro Linuxy a další OS? Řekl bych, že Microsoft chce mít monopol, chce mít jediný používaný systém, jediný jazyk pro všechno, což dokazuje svou reklamní kampaní pro Windows Osm. Celé je to jen marketing, včetně C#.

 
Nahoru Odpovědět  ±0 22.1.2014 10:39
Avatar
Petr Nymsa
Redaktor
Avatar
Petr Nymsa:

Myslím, že tázajícímu byla otázka zodpovězena. Záleží co chceš dělat a co tě bude bavit. Hlavně dělej to co tě bude bavit. Nemá smysl se učit něco jen kvůli tomu, že to poběží "všude", tj pokud nechceš dělat server-app, programovat kávovary a ledničky a zároveň tě nezajímá ani mobilní platforma, zvol C#.

Ano, Microsoft má .NET a C#. Nevím, proč by měla jedna z největších firem na světě přemýšlet o "konkurenčních" platformách. Tímhle výrokem vlastně můžeme říct ať Apple zaútočí na low-end zařízení, ať Google si vytvoří zcela uzavřený systém apod. Samozřejmě, že i zde hraje velikou roli marketing, bussiness a konkurence :) Nebo snad čekáte něco jiného ? Že obrovské firmy si podají ruce a vytvoří společně jednu nádhernou velikou platformu ?

Takže každý jazyk má svá + a -, záleží co chceš dělat a podle toho zvol. Bylo to zde zodpovězeno jasně.

Diskuzi zavírám, ať nedojde ke zbytečné válce Windows x Linux

Nahoru Odpovědět  +3 22.1.2014 10:45
Pokrok nezastavíš, neusni a jdi s ním vpřed
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Tato diskuze byla označena moderátorem jako nekonstruktivní a myslíme si, že nemá pro veřejnost příliš vysokou hodnotu. Členy můžete samozřejmě stále oslovit soukromě a to formou zpráv nebo chatu.

Zobrazeno 40 zpráv z 40.