Diskuze: Proč je C# špatný jazyk
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 39 zpráv z 39.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Ne System.Console.Println("Hello world"); ale Console.WriteLine("Hello world");
Proč by microsoft omezoval tento jazyk? Jakým způsobem ho omezuje?
Jednoduše, protože on špatný není, jenom mu nerozumíš. To je jako bys sedl z kola na motorku a nadával kde to má šlapky. Vysvětlil bych ti, že motorka má motor. C# nemá pointery, má GC.
Dojímá mě jak podle nicku profesionální programátor nedokáže
vygooglovat příkaz pro vypsání do konzole a protože ten, co si vymyslel,
nefunguje, je to špatný a hnusný jazyk
Tak za prvé; to, že nerozumím C#, neznamená, že neumim číst specs
(ISO/IEC standard) a neumím žádný jiný C#-like jazyk.
Možná má GC (který je neefektivní a nemá vůbec nic společného s
pointerama - mluvíš jako kdyby byl GC nahráda pointerů, což dokazuje, že
nevíš o čem mluvíš).
Jak vidím, tak jsi neokomentoval mé další přípomínky - to jen dokazuje,
že mám pravdu a ty se mnou v těchto bodech souhlasíš.
Spíš by mě zajimalo proč chce přejít z úžasného C s pointery na
hnusný a pomalý C#
Ty také neodpovídáš
Jak jsi přišel tedy na to, že je hnusný? Samozřejmě, že GC je náhrada
pointerů. No já se válím smíchy. Kde pracuješ?
Snad v ProfessionalFactory
Pokud vím dobře tak Console.WriteLine() je hned v druhem článku tutorialu
http://www.itnetwork.cz/…ova-aplikace
Ale proč by prefessional četl tutorial
@Misaz: Vím to z e-mailu Lead Developera Microsoftu, ve kterém jasně
řekl, že Microsoft nebude pokračovat ve vývoji frameworku DirectX a XNA.
Když se podíváš na Windows 8, vidíš, jak se více zaměřili na C++
(--> nová náhrada WinAPI).
Nechci přejít, pouze jsem si to chtěl vyzkoušet.
@sdraco: Zatím jsem ti odpověděl na všechno. GC není náhrada pointerů - je to součást běhového prostředí jazyka, avšak pointer je vestavěný (složený) typ. Je to úplně něco jiného, a pointer je doopravdy lepší - nedokážeš si představit, co se s ním dá dělat za věci, které nepředstavitelně zrychlí program.
Pokud by jste četli správně, chybu jsem udělal ve středníku za hlavičkou funkce a v kulatých závorkách za jmenným prostorem, ale jak jste určitě pochopili - můj úmysl byl rozpoutat tuto diskuzi a slyšet názory programátorů amatérů, které - jak vidím - jsou velmi zkreslené.
Víš co? Přečti si nejprve nějakou teorii o virtuálním stroji. Potom si
zjisti něco o jazyku C#, možná tě překvapí, že nevychází z Céčka, ale
z Javy. Potom si přečti něco o objektovém návrhu aplikací. Potom se
podívej na pracovní poptávku po objektových jazycích s GC. Potom sem
přijď znovu a budeme se moci normálně bavit
jo tak tobě píše Lead
Developer Microsoft
, to mě teda zajimá, co dál
se tam píše?
C++ není náhrada za winApi pokud ti teda Lead Developer Microsoftu neřekl něco jiného. Je to aby mohly vznikat hry využívajíci DirectX.
XNA se sice v C# píše, ale je to něco jiného
Těžko říct kdo je tu amatér Netvrdím že jsem professionl, ale tak najit si Console.WriteLine()
mi nepřijde až zas tak těžké...
Vím, co to je virtuální stroj. C# jsem se nikdy neučil, ale vzhledem k
tomu že umím Javu (ze které C# vychází) a C++ (ze kterého vychází java),
tak s jeho syntaxí problém opravdu nemám.
OOP umím moc dobře, přednáším o něm na seminářích Matfyzu (KSP -
říká ti to něco?), pracovní poptávka - ta je možná vyšší, ale ten
plat? Nic moc.
které nepředstavitelně zrychlí program
No v tehle dobe uz ani moc neplati ze by jazyky s virtualnim strojem byly
nejak viditelne pomalejsi, ba naopak. Zalezi jak ten jazyk dobre znas a nepises
uplny hovadiny.
Jinak muzes zkusit Javu, ma Ceckovskou syntaxi a je v zakladu multiplatformni.
C# je jen levna kopie Javy od MS. Samozrejme to neni prvni kopie MS. Napr
MySQL -> MsSQL
JavaScript -> VBScript
To je pravda, Java programátor za 70k/měsíc, to je bída
Pokud přednášíš na Matfyzu, tak je to smutné, jsi důvodem, proč jsem
nestudoval státní VŠ
Takže: 1, pokud nepíšeš špatné programi, skoro se dokáže vyrovnat
C.
2, multiplatformní může být díky komunitě, která vytvořila
MonoDevelop
3, pointery můžeš mít, pokud píšeš v unsafe modu. (Ikdyž ne
plnohodnotné)
4, když říkáš, jaký je C skvělý jazyk, tak jaktože píšeš hnusna a
neefektivní syntaxe???
5, generics support má lepší jak C
Navíc to vypadá, že si četl dokumentaci pro Javu GB ti mnohonásobně ulehčí
práci. Vyvaruješ se únikům paměti (vím co říkám. Programuji i v C++),
OOP je také úplně něco jiného než strukturované programování. Nevím,
jak z programu hello world usoudíš, že je jazyk pomalý a hnusný. Microsoft
C#.NET neustále podporuje. Nedávno vyšel Framework 4.5 a C# 4, kde přibyla
například asynchronizace. Jeho použití neustále roste.
Nejdřív mysli, než něco napíšeš.
@Misaz: Mě nepíše Lead Developer z Microsoftu, ale kdyby jses alespoň
trošku orientoval v IT, věděl bys, že tento e-mail byl veřejně
zpřístupněn.
Neřekl jsem, že C++ je náhrada WinAPI - nevíš co mluvíš. WinAPI je
Windows rozhraní napsané v C, pouze jsem řekl, že Windows 8 přínáší C++
programátorům nové rozhraní napsané v C++ na bázi WinAPI.
Samozřejmě, že XNA není C# - je to vývojářská platforma která
umožňuje psát hry snadno a rychle.
V IBM je u Java programatora ktery tam dela dyl normalni i 100k+
C# je ve skutečnosti lepší kopie Javy, má tu výhodu, že si sebou nenese chyby v návrhu Javy, které Java už opravit nemůže kvůli kompatibilitě. Dělám v obou jazycích docela hodně, C# je jako jazyk (gramatika) mnohem dál. O zbytku bychom mohli diskutovat dlouho, každý používá co mu vyhovuje více.
Ještě jednou chci zopakovat; smysl toho špatně-napsaného hello worldu
byl rozpoutat diskuzi.
Nebavím se o Javě, ale o C#.
Hadani je zbytecne, priznavam ze C# je mozna dal co se tyce syntaxe, ale
podle me vseho moc skodi. Navic velke prednosti C# jako LINQ a Lambda budou v
Jave 8 dohnany lambdou, ktera navic sebou nese obrovske moznosti s kolekcemi,
ktera ma LINQ.
Jinak mohl bych vedet jakou tu chybu v navrhu myslis?
Ano, to se ti povedlo, z tvého příspěvku má totiž každý pocit, že je
ti 12 let a nadáváš na všechno okolo, protože se ti nezkompiluje hello
world Bavíme se tu i o Javě,
protože je technologicky stejná jako C#, ale to už jem ti psal. Narážíš
tedy i na Javu, protože C# má její syntaxi, kterou jsi označil za
hnusnou.
@javamaster: Opravdu? Nechceš si to ještě jednou promyslet? Chceš mi
říci, že jazyk překládaný do native kódu může být pomalejší než
jazyk interpretovaný virtuálním strojem pokud jsou oba programy stejně
dobře napsané a optimalizované?
Nepřednáším na matfyzu, býval jsem jejich student a přednáším na jejich
kurzech (soustředění) a opravuji KSP (korespondenční seminář z
programování).
@sdraco: Přesně o to šlo, chtěl jsem vyprovokovat C# programátory aby vstoupili do diskuze.
Pošli nám odkaz na ten email
Vím akorát o
konci podpory XNA. Moc jsem nepochopil, proč jsi napsal tedy vůbec ten hello
world a myslím, že si pořád trochu protiřečíš. Nejdříve C# nemá
pointery, poté umím javu(ta je taky nemá), C# má hroznou syntaxi (dělám v
C) -> hrozný rozdíl. Microsoft dělá pro C++ pouze rozhraní pro
DirectX.
V tu chvíli jsem myslel zejména plno špatně navržených a redundantních knihoven. Když se zamyslím nad jazykem jako takovým, je to třeba absence přetěžování operátorů a indexerů. Dále tvorba vlastních primitivních typů. Do Javy je hodně věcí vpraveno uměle, zatímco v C# jsou naprogramovány běžnými prostředky jazyka.
GC není náhrada pointerů, GC je prostředek pro automatickou správu paměti, pointery jsou prostředek pro přímý přístup k paměti, nepoužívají se ale pouze pro správu paměti, jdou přes ně někdy provádět dost slušné optimalizace. GC a pointery můžou klidně fungovat paralelně v jednom v jazyce, vždyť v C# jdou také pointery nějak sprovoznit pokud vím. Jednoduše řečeno, i když máš GC, tak pointery se někdy můžou hodit (sic spíše výjimečně).
http://www.zdnet.com/…-7000010647/
Zde si o tom můžete něco přečíst.
C# také nemá ukazatele, pouze v unsafe mode. Javu umím kvůli přednáškám
o OOP, ale profesionálně v ní nedělám. C se však v mnohém liší, pouze
jsem řekl, že je na C založená (a.k.a C-style syntax).
Ano jdou. V unsafe režimu
EDIT: Jak vidím, tak pan profesionál už to tu řekl.
Ano, ze začátku to vypadalo, že Microsoft už nebude vyvíjet, ale poté uklidnili komunitu zprávou, že ten e-mail nebyl přesný.
Ano, takže si to shrňme. Jsi vystudovaný matfyzák, který přednáší o
programování. Nedokážeš napsat Hello world v C#, i když programuješ v
Javě (syntaxe je stejná). C# je hnusný jazyk, protože ti nefunguje hello
world a proto také upadá. V Microsoftu chtějí zrušit DirectX. Za to
céčko, ve ktrém programuješ, bereš více než 100.000 měsíčně, jelikož
ti 70k+ za C# nebo Javu připadá málo. Pointery jsou nejlepší a virtuální
stroj je zastaralý a pomalý. GC není náhradou pointerů. Když budu
pokračovat, dojdu dedukcí k tomu, že hamburgery jsou zdravá výživa a že
jsem čínský papež Z této
diskuze se odebírám a ty si ve vlastním zájmu sežeň nějaké materiály a
doplň si znalosti.
Sorry za ten edit poslední zprávy, trošku se mi lagnul net. Je to odpověď na tvojí zprávu.
@Sdraco: Přečti si znovu moje příspěvky a popřemýšlej nad tim, jakou blbost si právě řekl.
Taky sem namísto nové zprávy editoval tu starou :-/
Nemůžeš uzavřít diskuzi? Blbostí už je tady stejně dost.
Zobrazeno 39 zpráv z 39.