programovaci jazyk C#, co je zac?

Nevite nekdo co je to za jazyk, jeho moznosti a k cemu se hlavne pouziva?

A jaky je rozdil mezi C# a C++ , když mají tak podobný název?

Díky.
C# je prog. jazyk určený pouze pro .NET Framework. Je plně objektový a vychází z C++ a (hlavně) Javy.

viz. http://msdn.microsoft.com
Jinak rozdíly mezi C++ a C# viz.

http://zive.cz/h/Programovani/AR.asp?ARI=106869

jinak doporučuji "googlovat"
jj diky
Zeptat se na to co je to C nebo C++ me trochu zarazi, jak to nekdo nemuze vedet...vzdyt to vi snad kazdy kdo umi s pc..
Lucas: fakt?;)
VzA: vis co to je C a C++?
:D
jo neni preci zadny amater!
takhle, řeknu to trochu zjednodušeně, ju?
Jazyk C, nepochybně víš co je zač, nejběžnější programovací jazyk na světě.
C++ to je totéž ale rozšířené...

a C# j vychází z jádra C, ale používaá různé knihovny a řadu jinejch věcí. Nenji sranda se ho naučit, ale výsledek je mnohem efektivnější a pro prográmátora jednoduší, neboť má předepsaný už některé knihovny..Jedinou dnešní nevýhodou (brzy vymizí) je to, že programy v něm napsané nerozběneš ve windowsech starších jak 2000, přitom dneska se 98 vyskytují poměrně běžně...

Vim, že je to hodně zjednodušený, ale co...
2 Marcus Flintus: software napsaný v C# ( nebo v jakémkoliv podporovaném jazyku ) pro platformu .NET Framework funguje i na Win 98, protože je limitován pouze přítomností .NET Frameworku - a ten je podporován od Win 98 výše - vím o čem mluvím, sám software pro Win 98 píšu.
...no jak kdyby C++ neměl kybl knihoven...
C# je "mnohem efektivnější" ? To řekl kdo, chci vidět toho sebevraha!

Knihovny .NET jsou výkonnostně pomalé jak šnek. Ano, programátor v tom může psát velice snadno a rychle, ale každý objekt má třeba X dalších vlastností, které vůbec programátor nepotřebuje. Tyto nepotřebné vlastnosti objektů se pak ozvou v různých událostních smyčkách a konstruktorech, které jsou o to delší. O paměťových nárocích se už radši nezmíním, tak sprostý být nechci. Pokud v tom chcete udělat 3D hru, nedostanete se s tím k rozumnému poměru polygony/FPS. Hodně to připomíná Javu - pokud portujete .NET na jiné platformy, stává se z C# multiplatformní nástroj, ale (stejně jako Java) pomalý jako šnek.

Nejlepší je použít Céčko, či C++. A pokud se dělá pro DOS, občas se nevyhnete rozumným způsobem assembleru. Pokud se má psát multiplatformně, třeba na 2 platformy (typicky Widle/Mac, nebo Widle/Linux), tak se nasadí různé direktivy prekompilátoru apod. a vygenerují se dva odlišné kódy pro odlišné platformy, čímž vzniká program optimalizovaný na výkon.

Možná kecám trošku blbosti, ale jde o jedno - všlijací programátoři her (a i obyčejného softu) si čím dál tím více usnadňují práci - velké knihovny různých funkcí vzájemně propojené, haldy malých knihoven, objekty, univerzální konstrukce na každý prd - ale tím zvyšují požadavky na uživatelův počítač, protože instrukce nejsou optimalizovány a procesor dělá čím dál tím větší hafo zbytečné práce.
2 Nípal: C# ( neboli .NET Frameowrk ) opravdu není zatím příliš vhodný na vývoj her. V tom se přít nebudu, ale :

1. software běžící pod .NET Frameworkem je průměrně o 10% pomalejší než nativní a to není moc oproti Javě ( výhoda v JIT kompilátoru - opakovaně volaný kód je minimálně stejně rychlý jako nativní )

2. operační paměť - to je kámen úrazu ( i když v .NET Frameworku 2.0 je to o dost lepší )

3. "objekt má třeba X dalších vlastností, které vůbec programátor nepotřebuje" - dost odvážné tvrzení ( to že je nepoužíváte vy ještě neznamená, že je nepoužívá nikdo )

4. "multiplatformní" opravdu .NET Framework není - jedná se o to, že se programátor nemusí tolik starat o rozdíly mezi Win 98 a XP/2003

jinak:
konec 80.let - C + Linux
90. léta - C++ a Windows
21.stol. - C# a .NET Framework
ad bod 3.) ano, někdo jiný potřebovat může, ale ti ostatní nemusí. ostatně jsou programátoři nabádáni, aby si (pokud to myslí vážně) psali objekty sami.

ad 4.) byl by, pokud přeneseš .NET na jiné platformy.
>> Zeptat se na to co je to C nebo C++ me trochu zarazi, jak to nekdo nemuze vedet...vzdyt to vi snad kazdy kdo umi s pc..

Je rozdíl umět s pc a umět s pc.
Někdo umí s pc jen v rovině uživatelské, někdo umí i programovat nebo se aspoň o programování zajímá. Ale nemůžeš říct že kdo nezná C, neumí s počítačem.
Já bych to rozlišil jako "práce na PC" a "obsluha PC". Programátor na PC pracuje, sekretářka jej pouze obsluhuje.
A co grafik? Ten taky pracuje a pritom nema poneti co je C.

Jak to tak ctu. Tak nekdo tu umi DOT.NETa. Aspon se mam na koho obratit. Pac to mozna budu potrebovat. Jsem si totiz vybral bakalarku na tema DOT.NET a databaze.
Přesně tak Tomíku.
Nípale práce na počítači není jen programování.
Mimochem i ta sekretářka na počítači pracuje ;-)
Tom>> souhlasim naprosto s tebou.

Tomík >> Silně pochybuju, že člověk, živící se jako grafik by neměl ponětí, co je jazyk C, to mi připadá až směšné...

Jinak co se efektivnosti C# týče, tak jak na co: na 3D hru se zrovna nehodí:) a co do pomalosti, musíš počítat s tím, že C# je na začátku vývoje, narozdíl od C++, natož od C,, po několikátý verzi bude to vychytanější... a navíc stejně jdou kompy dopředu Slyšels někdy před 15 lety, když byl C++ na začátku, aby hry potřebovaly operační paměť 384MB? Rozhodně ne... všechno jde dopředu...
>> Zeptat se na to co je to C nebo C++ me trochu zarazi, jak to nekdo nemuze vedet...vzdyt to vi snad kazdy kdo umi s pc..

Jasně že vím co to je. otázku jsem položil trochu špatně, chtěl jsem vědět jaký má možnosti
Marcus Flintus: No to je pravda. Slapl jsem vedle. Kazdy clovek, ktery se vazne zabyva pocitaci (programator, grafik, projektant, atd) by mel vedet co je C, ponevadz se to musel dozvedet ve skole nebo pred svou profesi.
Skupinka, ktera o Ccku nevi, jsou obycejni uzivatele, co pocitace neberou jako svuj konicek, ale jako pracovni nastroj (sekretarky, reditele, urednici, ...).

Xilli: My vime (teda aspon ja) jaka byla otazka. Ta byla taktez odpovezena.
To jen se kolegove vytahovali co kdo co vi (prominte ogari).
Myslím, že v tom C# a .NET máte trochu hokej. Zazněl tu správný názor, že se to podobá Javě.
Samotný .NET je technologie spojená nejen s C#, ale taky s VB, J#. Kód, který se napíše třeba v tom C# se přeloží do mezikódu, jako JAVA. Pak na to naskočí framework a při prvním spuštění si to přeloží do kódu procesoru, uloží do jakési cache a pak to běží téměř rychlostí plnou s tím, že se volá spousta knihoven z toho frameworku. Zkoušel jsem takový malý blbý prográmek, který jsem v native kódu udělal i v Delphi. V Delphi to mělo asi 200KB, v C# .NET asi 25KB. Kolik zabírá samotný Framework se raději zmiňovat nebudu.

Viděl jsem port .NET Frameworku na linux, takže není pravda, že to jinde nepoběží.

C# a 3D hry, asi dlouho ne, ale na ZX spectrum se dělaly hry zásadně v assembleru, to je optimální kód. To už dneska nikdo dělat nebude...

Joey, a co ostatní UNIXy? Na čem myslíš že stojí internet?
,NET framework je v podstate pokracovani z minula. Jen to predelali vylepsili, a zpopularizovali. Programy delane MS VB5,6, VC++6, atd taktez potrebovali ke svemu behu vsemozne runtime knihovny bez nehoz nesli spoustet. Meli vsak tu vyhodu, ze kdyz to reknete kompilatoru, tak z toho mohl udelat plnohodnotny program.

Je jasny, ze na hry nelze pouzit vsechny jazyky. Nektere jazyky jsou na hry staveny, jine zas ne.

C# tu byl jiz pred .NETem, jen nebyl videt (proste nepovedeny start microsoftu).
2 MzM: sice nechápu proče se mě nato ptáš ale dobře ..

Uznávám, že moc velký přehled o UNIXech nemám, ale samozřejmě vím, že internet v dnešní době "stojí" na UNIXech ( Linuxech ) - prd se v tom vyznám ..
"Programy delane MS VB5,6, VC++6, atd taktez potrebovali ke svemu behu vsemozne runtime knihovny"

Jmenuj příklad aplikace napsané ve VC++ 6 (či .NET), která by potřebovala nutně nějakou microsoftí knihovnu. C/C++ vytváří nativní aplikace, ne pseudokódy.
No v VC++ jsem se splet. Ve windowsu nevim, ale v dosu vytvari nativni aplikace. Ale VC++6 tam ma jednu picovinu v podobe jedne nefunkcni knihovny, kterou nabizel pri novem projektu. Uz nevim co. Stacilo jen tu knihovnu vyhodit, nebo zvolit prazdny projekt.
VC++ dela nativni, ale treba Borland C++ Builder 5/6 uz ne. Je zavisli na knihovne tusim vcl6.bpl nebo tak nejak. Pokud jiny pocitac tuto knihovnu nema, tak to v nem nespustis. To vim, protoze ve skole s tim byly problemy.