Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

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

Aktivity
Avatar
Danik
Člen
Avatar
Danik:21.1.2014 21:55

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:21.1.2014 21:58

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
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Danik
Kit:21.1.2014 22:10

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

Nahoru Odpovědět
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:21.1.2014 22:13

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
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Danik
Neaktivní uživatel:21.1.2014 22:16

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

Nahoru Odpovědět
21.1.2014 22:16
Neaktivní uživatelský účet
Avatar
Odpovídá na Luboš Běhounek Satik
Neaktivní uživatel:21.1.2014 22:19

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
Neaktivní uživatelský účet
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Danik
Kit:21.1.2014 22:20

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

Nahoru Odpovědět
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 Neaktivní uživatel
Luboš Běhounek Satik:21.1.2014 22:23

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
https://www.facebook.com/peasantsandcastles/
Avatar
Danik
Člen
Avatar
Danik:21.1.2014 22:28

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
Odpovídá na Luboš Běhounek Satik
Neaktivní uživatel:21.1.2014 22:28

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
Neaktivní uživatelský účet
Avatar
Paradise
Tvůrce
Avatar
Paradise:21.1.2014 22:58

C# protože Visual Studio.

 
Nahoru Odpovědět
21.1.2014 22:58
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Paradise
Kit:21.1.2014 23:01

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

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

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ý
Tvůrce
Avatar
Odpovídá na Kit
Jan Vargovský:21.1.2014 23:42

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

 
Nahoru Odpovědět
21.1.2014 23:42
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Kit:22.1.2014 0:01

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ý
Tvůrce
Avatar
Odpovídá na Kit
Jan Vargovský:22.1.2014 0:29

Jaké třeba ?

 
Nahoru Odpovědět
22.1.2014 0:29
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Kit:22.1.2014 0:41

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
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ý
Tvůrce
Avatar
Odpovídá na Kit
Jan Vargovský:22.1.2014 0:54

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
22.1.2014 0:54
Avatar
Honza Bittner
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Honza Bittner:22.1.2014 0:59

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
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Avatar
Matej Sladek
Člen
Avatar
Matej Sladek:22.1.2014 1:19

Pripajam sa ku Kitovi a Doporujem ti Javu

Editováno 22.1.2014 1:19
 
Nahoru Odpovědět
22.1.2014 1:19
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Danik
mkub:22.1.2014 3:05

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
22.1.2014 3:05
Avatar
MrPabloz
Člen
Avatar
Odpovídá na mkub
MrPabloz:22.1.2014 6:38

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
Odpovídá na mkub
Neaktivní uživatel:22.1.2014 6:53

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
Neaktivní uživatelský účet
Avatar

Člen
Avatar
Odpovídá na Neaktivní uživatel
:22.1.2014 7:04

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

 
Nahoru Odpovědět
22.1.2014 7:04
Avatar
Benjibs
Člen
Avatar
Odpovídá na Danik
Benjibs:22.1.2014 7:49
  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
22.1.2014 7:49
1 + 1 = 2
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:22.1.2014 7:59

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
22.1.2014 7:59
Pokrok nezastavíš, neusni a jdi s ním vpřed
Avatar
Kit
Tvůrce
Avatar
Odpovídá na Jan Vargovský
Kit:22.1.2014 8:29

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
Tvůrce
Avatar
Odpovídá na
mkub:22.1.2014 8:49

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
Odpovídá na Danik
Zdeněk Pavlátka:22.1.2014 8:53

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
22.1.2014 8:53
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na Danik
David Hartinger:22.1.2014 8:53

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
22.1.2014 8:53
You are the greatest project you will ever work on.
Avatar
Odpovídá na Benjibs
Luboš Běhounek Satik:22.1.2014 9:33

"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
22.1.2014 9:33
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Danik
Jakub Vaněk (Bubavanek):22.1.2014 9:36

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
22.1.2014 9:36
Avatar
Odpovídá na Benjibs
Luboš Běhounek Satik:22.1.2014 9:46

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
https://www.facebook.com/peasantsandcastles/
Avatar
Odpovídá na Luboš Běhounek Satik
Jakub Vaněk (Bubavanek):22.1.2014 9:53

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
22.1.2014 9:53
Avatar
Paradise
Tvůrce
Avatar
Odpovídá na Jakub Vaněk (Bubavanek)
Paradise:22.1.2014 10:00

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
22.1.2014 10:00
Avatar
Odpovídá na Paradise
Jakub Vaněk (Bubavanek):22.1.2014 10:06

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
22.1.2014 10:06
Avatar
mkub
Tvůrce
Avatar
Odpovídá na Luboš Běhounek Satik
mkub:22.1.2014 10:09

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
22.1.2014 10:09
Avatar
Frunta
Tvůrce
Avatar
Frunta:22.1.2014 10:39

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
22.1.2014 10:39
Avatar
Petr Nymsa
Tvůrce
Avatar
Petr Nymsa:22.1.2014 10:45

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