Da pokušam odgovoriti što jasnije...
@ptak 13.
C# nije prevaziđen, niti ima uopšte smisla porediti programske jezike na taj način (ako si na to mislio). C# je jezik kojeg je Microsoft razvio primarno za rad na .NET platformi (framework za pisanje desktop i web aplikacija). Pošto se radi o C-like jeziku, veliki broj karakteristika uzima od C++-a, neke čak i od Jave. Ono što je važno jeste da je C# napravljen da skrati vrijeme potrebno da se nešto isprogramira. Najočitiji, i najznačajniji primjer toga je garbage collector. U C++-u se uvijek mora voditi računa o memoriji, alociranju, delociranju i ostalom. Pošto C++ to radi preko pokazivača (pointera), jedan veliki dio programiranja otpada baš na rad sa njima. Garbage collector ovu odgovornost sklanja s programera, tako što rad sa memorijom preuzima na sebe. Iako ovo uveliko olakšava programiranje, i skraćuje time-to-market aplikacije, garbage collector (između ostalog) nameće dodatno opterećenje na brzinu aplikacije. E sad, poenta svega je da je to "opterećenje" nevažno u 95% svih aplikacija. U ostalih 5% spadaju: 3D igre, driveri, operativni sistemi itd... Ako radiš neki program koji spada u onih 95%, recimo npr. knjigovodstveni program, ili program za obradu slika (pogledaj Paint.NET), ovo ti je apsolutno nevažno.
Moram napomenuti da nitko sada ne uzima ovo što sam naveo kao crno-bijelo, govorim o nekim područjima moguće upotrebe.
@Mihajlo Cvetanović
Ima logike, jer je programiranje daleko važnije razvijati kao sposobnost, nego poznavanje nekog određenog jezika. Jedna od najvažnijih osobina bilo kojeg programera je njegova sposobnost abstraktovanja stvari. Govoreći o programiranju sa C++ jezikom, najveću kompleksnost daju pokazivači, što ako se uspije naučiti kako treba, zauzvrat daje mnogo - pogotovo u sposobnostima razmišljanja programera. Analogija bi se mogla napraviti s matematikom - jednostavne zadatke puno bolje rješavaju oni koji su imali dosta posla s kompleksnima, zar ne?
Mislim da najbolju riječ na ovo u vezi pokazivača daje jedan veliki čovjek:
http://www.joelonsoftware.com/...es/ThePerilsofJavaSchools.html
Btw, pod učenjem C++-a ne podrazumijevam pisanje realnih GUI aplikacija (iako se ovo može pokazati veoma korisnim kasnije). Ono što preporučavam je programiranje zadataka za učenje funkcionalnosti jezika i zadataka sa raznih takmičenja, te na kraju osnovnih struktura podataka (vezane liste, binarna stabla...). Tek nakon ovoga, preporučavam prelazak na jezik u kojem je dosta lakše raditi - kao što je C# (ili Java itd...), i s kojim ćete puno lakše praviti programe, pogotovo one sa grafičkim interfejsom.
My programs don’t have bugs, they just develop random features.