Diskuze: Proč je C# špatný jazyk

C# .NET .NET (C# a Visual Basic) Proč je C# špatný jazyk American English version English version

Avatar
ProfessionalProgrammer:

Takže, dnes jsem začal programovat v jazyku C#, na který jsem přešel z C....
Pokusil jsem se naprogramovat hello world, ale to nešlo -- ERROR. Jakto??!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace CSharp_setup()
{
    class Program
    {
        static void Main(string[] args);
        {
           System.Console.Println("Hello world");
        }
    }
}

Konečně mi došlo, jak špatnej C# je. Je pomalý, není multiplatformní, nemá ani pointery, hnusná a neefektivní C-style syntaxe, špatnej generics support...
Seriously? Jak sakra může devbook silně podporovat tak hnusnej a neefektivní jazyk, který upadá, přestává se používat a Microsoft omezuje jeho vývoj?!
Žádám objektivní odpověď.

 
Odpovědět  -8 23.4.2013 13:36
Avatar
Michal Žůrek (misaz):

Ne System.Console­.Println("Hello world"); ale Console.Write­Line("Hello world");

Nahoru Odpovědět  +1 23.4.2013 13:39
Nesnáším {}, proto se jim vyhýbám.
Avatar
Odpovídá na ProfessionalProgrammer
Michal Žůrek (misaz):

Proč by microsoft omezoval tento jazyk? Jakým způsobem ho omezuje?

Nahoru Odpovědět 23.4.2013 13:40
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

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.

Nahoru Odpovědět  +1 23.4.2013 13:40
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
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Michal Žůrek (misaz)
David Čápka:

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 :D

Nahoru Odpovědět 23.4.2013 13:47
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
ProfessionalProgrammer:

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

Editováno 23.4.2013 13:50
 
Nahoru Odpovědět 23.4.2013 13:49
Avatar
Odpovídá na David Čápka
Michal Žůrek (misaz):

Spíš by mě zajimalo proč chce přejít z úžasného C s pointery na hnusný a pomalý C# :)

Nahoru Odpovědět  +1 23.4.2013 13:50
Nesnáším {}, proto se jim vyhýbám.
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

Ty také neodpovídáš :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š?

Nahoru Odpovědět  +1 23.4.2013 13:51
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 David Čápka
Michal Žůrek (misaz):

Snad v ProfessionalFactory :D

Pokud vím dobře tak Console.WriteLine() je hned v druhem článku tutorialu :D http://www.itnetwork.cz/…ova-aplikace

Ale proč by prefessional četl tutorial :D

Editováno 23.4.2013 13:55
Nahoru Odpovědět 23.4.2013 13:55
Nesnáším {}, proto se jim vyhýbám.
Avatar
ProfessionalProgrammer:

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

 
Nahoru Odpovědět 23.4.2013 13:55
Avatar
ProfessionalProgrammer:

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

 
Nahoru Odpovědět 23.4.2013 13:57
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

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 :)

Nahoru Odpovědět  +1 23.4.2013 13:57
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 ProfessionalProgrammer
Michal Žůrek (misaz):

:D :D :D jo tak tobě píše Lead Developer Microsoft :D :D :D , 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 :D

Nahoru Odpovědět  +1 23.4.2013 13:58
Nesnáším {}, proto se jim vyhýbám.
Avatar
Michal Žůrek (misaz):

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

Nahoru Odpovědět 23.4.2013 13:59
Nesnáším {}, proto se jim vyhýbám.
Avatar
ProfessionalProgrammer:

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.

 
Nahoru Odpovědět  -1 23.4.2013 14:00
Avatar
Homo
Člen
Avatar
Odpovídá na ProfessionalProgrammer
Homo:
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

Nahoru Odpovědět 23.4.2013 14:01
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

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Š :)

Nahoru Odpovědět  +1 23.4.2013 14:02
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 ProfessionalProgrammer
Michael Olšavský:

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 :-P 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š.

 
Nahoru Odpovědět 23.4.2013 14:03
Avatar
ProfessionalProgrammer:

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

 
Nahoru Odpovědět 23.4.2013 14:04
Avatar
Homo
Člen
Avatar
Odpovídá na David Čápka
Homo:

V IBM je u Java programatora ktery tam dela dyl normalni i 100k+ :-)

Nahoru Odpovědět 23.4.2013 14:04
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

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.

Editováno 23.4.2013 14:06
Nahoru Odpovědět 23.4.2013 14:04
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
ProfessionalProgrammer:

Ještě jednou chci zopakovat; smysl toho špatně-napsaného hello worldu byl rozpoutat diskuzi.
Nebavím se o Javě, ale o C#.

 
Nahoru Odpovědět 23.4.2013 14:06
Avatar
Homo
Člen
Avatar
Odpovídá na David Čápka
Homo:

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? :-)

Nahoru Odpovědět 23.4.2013 14:08
1010011 1000101 1011000
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

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.

Nahoru Odpovědět  +2 23.4.2013 14:09
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 Homo
ProfessionalProgrammer:

@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í).

 
Nahoru Odpovědět 23.4.2013 14:09
Avatar
ProfessionalProgrammer:

@sdraco: Přesně o to šlo, chtěl jsem vyprovokovat C# programátory aby vstoupili do diskuze.

 
Nahoru Odpovědět 23.4.2013 14:10
Avatar
Odpovídá na ProfessionalProgrammer
Michael Olšavský:

Pošli nám odkaz na ten email ;-) :D 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.

 
Nahoru Odpovědět  +1 23.4.2013 14:11
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na Homo
David Čápka:

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.

Nahoru Odpovědět 23.4.2013 14:13
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 David Čápka
Lukáš Hruda (Luckin):

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

 
Nahoru Odpovědět  +1 23.4.2013 14:14
Avatar
ProfessionalProgrammer:

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

 
Nahoru Odpovědět 23.4.2013 14:16
Avatar
Odpovídá na Lukáš Hruda (Luckin)
Michael Olšavský:

Ano jdou. V unsafe režimu ;-)
EDIT: Jak vidím, tak pan profesionál už to tu řekl.

Editováno 23.4.2013 14:17
 
Nahoru Odpovědět 23.4.2013 14:16
Avatar
ProfessionalProgrammer:

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

Editováno 23.4.2013 14:20
 
Nahoru Odpovědět 23.4.2013 14:17
Avatar
Odpovídá na ProfessionalProgrammer
Michael Olšavský:
  • z nefunkčního hello world pozná, jak je ten jazyk neskutečně pomalý ;-)
Editováno 23.4.2013 14:22
 
Nahoru Odpovědět 23.4.2013 14:18
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na ProfessionalProgrammer
David Čápka:

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.

Nahoru Odpovědět  +5 23.4.2013 14:21
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
ProfessionalProgrammer:

Sorry za ten edit poslední zprávy, trošku se mi lagnul net. Je to odpověď na tvojí zprávu.

 
Nahoru Odpovědět 23.4.2013 14:21
Avatar
ProfessionalProgrammer:

@Sdraco: Přečti si znovu moje příspěvky a popřemýšlej nad tim, jakou blbost si právě řekl.

 
Nahoru Odpovědět 23.4.2013 14:22
Avatar
Michael Olšavský:

Taky sem namísto nové zprávy editoval tu starou :-/ :D

 
Nahoru Odpovědět 23.4.2013 14:23
Avatar
Odpovídá na David Čápka
Michael Olšavský:

Nemůžeš uzavřít diskuzi? Blbostí už je tady stejně dost.

 
Nahoru Odpovědět 23.4.2013 14:24
Avatar
David Čápka
Tým ITnetwork
Avatar
Nahoru Odpovědět 23.4.2013 14:25
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
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 39 zpráv z 39.