C++ oder C#?

Schalli

The Magic of Power
Welche Sprache könnt ihr mir empfehlen? Welche ist beliebter und leichter zu lernen ohne Programmierkenntnise? Was ist der Unterschied und was ist C/C++?
THX mfg Schalli
 
Ähm wie soll ichs sagen.
Diese beiden Sprachen sind komplett verschieden, mal abgesehen von der Sysntax. Währende C++ sowohl prozedural als auch objektorientiert ist, ist C# rein Objekt orientiert.

Wegen dem Lernen, würd ich sagen das C++ schwerer ist, aber das ist Geschmackssache.

Vorteile von C++ sind, das es nahezu überall benutzt wird, das es schon verdammt viele vorgefertigte Bibliotheken(dll´s) gibt und das damit Leistungsfähige 3D-Anwendungen gemacht werden können. C++ ist jedoch Plattformabhängig. Das heißt wenn unter Windows programmiert läufts auch nur unter Windows un nicht unter Linux oder so.

Vorteile von C# sind,
1. Plattformunabhängigkeit (bis jetzt nur teilweise wird aber dran gearbeitet)
2. Durch .NET CL-Norm , die problemlos andere Sprachen aus .Net nutzen können. Also kannst du was in VB.NET schreiben und in C#.Net einbinden.
3. Komplette Objektorientierung, da lernt mans wenigsten gleich richtig.
4. .NET wird sich warscheinlich durchsetzen und damit alle .NET Sprachen, alos auch C#
Der Nachteil ist das die Bibliothek, das Framework, zuzeit noch zu langsam ist um komplexe 3D-Anwendungen zu schaffen, aber um Arbeitsprogramme oder Spiele (auch komplexe) ohne übermäßige Grafik gehts schon.

Also wenn du irgendwas nicht verstehst, frag einfach.
Von wegen Objektorientierung,CL oder was .NET eigentlich wirklich ist.
 
Ach ein Schmarrn.

C# läuft z.zt soweit ich weiß nur auf Windoof,

C++ kann sowohl auf Windows und Linux o.ä laufen, muss halt neukompiliert werden, muss halt net unbedingt unbedingt Header wie windows.h included werden, sonst gehts auch nur unta windoof^^
 
C++ muß man plattformabhängig bzw. in verschiedenen Versionen für verschiedene Plattformen programmieren.(im Gegensatz zu Java)
C# ist eine .NET Sprache und somit für jede Plattform lauffähig sobald ein passender Common Language Runtime(CLR) Interpreter/Compiler für diese Plattform geschrieben wurde. Dies ist bis jetzt für Windows, Linux , verschiedene Handytypen und ein paar Handhelds geschehen.

Der wesentlich Unterschied ist das man nicht Java oder nicht .NET Programme kompiliert und eine fertige exe erzeugt. Diese ist statisch und meist für ein System gedacht.
Bei Java bzw. .NET wird nicht kompiliert sondern ein interpretierbarer Quelltext in die Exe geschrieben. Das heißt die exe wird beim starten kompiliert. Damit dies aber funktionieren kann muß für die jeweilige Plattform ein Compiler/Interpreter dafür vorliegen. Bei Windows ist das das Framework.
Bei Java heißt dies .Net Mono. für andere Plattformen wird daran geschrieben. Dieser Interpreter/Compiler muß nur einmal geschrieben werden und läßt alle Programme unter der neuen Plattform laufen. Der Nachteil daran ist das durch das kompilieren beim Starten Zeit verloren geht und das Programme die mit einer nicht vorkompilierten Sprache geschrieben werden dadurch grundsätzlich langsamer laufen. Deswegen ist C# z.B. auch nicht für grafikaufwendige Spiele geeignet.(im Gegensatz zu C++)

Oder hast du schon mal versucht ein Spiel das für Windows geschrieben ist unter Linux zu starten. Im allgemeinen geht das nicht, weils halt für diese Plattform angepasst ist.
 
Zu C#.. es ist komplett Objekt-orientiert..
ich für meinen teil halte das für schwachsinnig bzw. übertrieben..
die syntax is so ziemlich die gleiche wie bei C++..

jedoch gibts auch unterschiede in der Handhabung.. C+ bietet die möglichkeit mehrer main() funktionen.. wobei ich dafür ehrlich gesagt keine verwendung sehe..
ansonsten is so ziemlich alles gleich.. funktionsüberlagerung, objekterstellung, usw..

Ich persönlich werde nicht damit anfangen mir C# ein zu prägen..
ich sehe dafür keinen grund.. es gibt nichts was diese sprache besser macht als C++ oder VB oder sonst was..
das sie ne .NET sprache is find ich relativ unwichtig.. C++ finde ich auch im .NET.. genau wie VB usw..
 
komplett objektorientiert ist Java übrigens auch. Hat auch manchmal seine Nachteile wenn man für jeden Pubs ne eigene Klasse erstellen muß.

Aber nebenbei, ich will hier keinen überreden C# zu lernen. Bloß war der eine Post von Tommi 12 einfach falsch. Ich beleuchte ja auch die negativen Seite von C#.(von wegen Laufzeit)

PS: mehrere Main Funktionen werden benötigt um den Programm unterschiedliche anzahl von Parametern zuzuweisen. (in der Shell) In C# braucht man das nicht da dort alle Parameter in einer Arraylist(Query) gespeichert werden die an Main übergeben wird. Da eine Arraylist dynamisch ist können das somit keiner bis beliebig viele sein.

Ansonsten ist das eh so ne Sache. Man kann in den seltensten Fällen sagen das eine Sprache besser ist als eine andere, aber man kann Pro und Kontra abwiegen und schauen was für seine Entwicklungen wichtiger/wesentlicher ist. Wenn es z.B. um Plattformunabhängigkeit geht ist Java bzw. eine .NET Sprache/Entwicklung klar vorzuziehen. Wenn es aber um Geschwindigkeit und High-End Anwendungen geht, ist man mit C++ meist besser bedient. Dann läufts halt nur auf einem System, was solls. Man kann nicht alles haben.

PS: C# kann man auch ohne .Net schreiben.(z.B. c# develop) .NET selbst wurde großteils in C# geschrieben.
 
Zurück
Oben Unten