Diskuze: Doporučíte mi C# nebo Javu?
Člen
Zobrazeno 40 zpráv z 40.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
Jak píšeš tak si víc nakloněný k C#, tak dělej v něm.
Abys to neměl tak jednoduché, hlasuji pro Javu. Důvody jsi uvedl.
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
U webových projektů také využiješ spíše C# než Javu.
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í.
Nezkoušel jsem, ale podobné věci umí pluginy do VS.
Kolega z práce používá Visual assist X, ale ten je placený.
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")
Je fakt, že komplexní čísla mi v Javě chybí, proto dělám raději výpočty ve specializovaných jazycích.
Máš tam stovky rozdílů a ty vybereš zrovna komplexní čísla ?
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.
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...
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...
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é.
Pripajam sa ku Kitovi a Doporujem ti Javu
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
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.
Není pravda, v C# můžeš psát nejen pro WP, ale i pro Android a iOS.
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 ?
Anonymní implementace interface v Javě je také a používám to docela často. Je to super.
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)
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#.
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á.
"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...
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á.
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
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í.
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.
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.
Netbeans je plne multiplatformny - je podporovany vsetkymi hlavnymi OS
(Unix/Linux/Windows/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
multiplatformovosti,
je pravda, ze Java je pouzivanejsia nez C# (tu sa nemysli iba desktop, ale aj
vsetky aplikacie, vratane mobilnych a serverovskych)
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#.
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
Zobrazeno 40 zpráv z 40.