C++, C#? Gleich? Unterschiede? Welches ist einfacher?

6 Antworten

C++ wird direkt in Maschinensprache übersetzt (compiliert) und auf dem Prozessor ausgeführt. C# wird in einen Zwischencode namens "Common Intermediate Language" (CLI) übersetzt und anschließend von einer Software namens "Common Language Infrastructure" (CIL) interpretiert. Ein einmal übersetztes C#-Programm kann auf jedem System ausgeführt werden, für das eine Implementierung der "Common Language Infrastructure" verfügbar ist, ist also immernoch portabel.

In C++ spricht man häufig direkt Betriebssystemfunktionen an, in C# spricht man Funktionen der Klassenbibliothek an, die widerum mit dem Betriebssystem spricht.

Bei C++ muss man den Speicher selbst verwalten, was gerade für Anfänger sehr unverständlich und fehleranfällig ist, bei C# verwaltet die CLI den Speicher.

C# ist für den Einstieg einfacher, weil man in einem "geschlossenen System" programmiert, das die Details des Systems vor einem "versteckt", während man in C++ öfter mal auf Spezifika des Betriebssystems und der Hardware Rücksicht nehmen muss.

C# ist in den meisten Belangen sehr sehr ähnlich zu Java. Da wird ebenfalls in Zwischencode übersetzt, der hier "Bytecode" heißt und anschileßend von der "Java Virtual Machine" (JVM) interpretiert wird. Und Java verfügt auch über eine automatische Speicherverwaltung, sowie über eine vollständige Klassenbibliothek, die den Code von der Programmierschnittstelle (API) des Betriebssystems entkoppelt.

Mmh, da war noch ein "Dreher" in den Abkürzungen drin. Natürlich wird "Common Intermediate Language" mit CIL abgekürzt und "Common Language Infrastructure" mit CLI. Letztere Abkürzung ist im Softwarebereich etwas verwirrend, da sie insbesondere für das "Command Line Interface" (die Befehlszeile) verwendet wird. ;-)

Ich hatte irgendwo mal gelesen, C# sei "Java done right" und gewissermaßen stimmt das. Java schleppt inzwischen viel zu viel "historischen Ballast" mit sich herum. Bei C# hat man gewissermaßen "aus den Fehlern von Java gelernt". Trotzdem ist Java keine schlechte Sprache.

0

Wollte wissen ob C# und C++

Nein. Sie unterscheiden sich, wie Tag und Nacht.

Die Namensähnlichkeit ist nur ein "Marketing-Gag", der zeigen sollte, dass C# sich als "Nachfolger" von C++ verstehen will. (Wichtige Unterschiede hat @NoHumanBeing bereits dargestellt, so dass du dir bestimmt ein Bild machen kannst.) Tatsächlich war der Anspruch der Erfinder, "das Beste aus Java, C, C++, VisualBasic und vielen anderen Sprachen zu verbinden, ohne das Schlechte mitzuvererben". Nun, das ist ihnen nur teilweise gelungen, aber zumindest hat man so manches Gute aus den verschiedenen Sprachen und Ansprüchen zusammengetragen...

welches von den beiden einfacher ist

Ganz klar und eindeutig C#. Hier wirst du nicht nur durch extrem komfortable Werkzeuge unterstützt, du hast auch sehr viel weniger Möglichkeiten, überhaupt Fehler zu machen, denn um (fast) alles "Kritische" (@NoHumanBeing nannte hier u. a. die "Speicherverwaltung") kümmert sich die Sprache quasi selbst.

Bzw. einfach mal ne Beschreibung der beiden oder etwas ähnliches.

Beschreibungen beider Sprachen findest du zuhauf im Internet. In allen Qualitätsstufen und Detailtiefen. Beispielsweise hier:

  • de.wikipedia.org/wiki/C%2B%2B
  • msdn.microsoft.com/de-de/library/bb979023.aspx

C# ist einfacher und reicht auch für die meisten Anwendungen vollkommen aus. Wenn dein Programm dann aber kompliziertere 3D - Grafik benutzen soll oder du ein Datei - IO brauchst (Daten in Dateien speichern und auslesen) ist C++ dafür besser geeignet.

Bild in OpenGL (C++) 'einfügen'?

Servus, Ich bin noch ein blutiger Anfänger in der OpenGL Programmierung, deshalb suche ich hier Rat für folgendes Problem: Ich und mein Kumpel sind dabei ein Spiel zu programmieren, dabei wollen wir ein Bild als Hintergrund nehmen, auf dem sich dann kleine Soldaten bewegen. Den Hintergrund und die Soldaten haben wir bereits mit GIMP erstellt. Nun wissen wir aber nicht, wie wir diese 'Bilder' mit OpenGL verbinden können, sodass sie auf unserem Hintergrund herumlaufen.

Ist es möglich, dass man die GIMP Dateien irgendwie in die OpenGL-Datei 'einfügt' und dann sagen kann, 'wenn ich das und das drücke, bewege das Bild dorthin' ? Wenn nicht, wie bekommen wir das hin?

Vielen Dank schonmal im Voraus!:)

...zur Frage

Programmieren lernen. Aber wie und womit [Buch usw.]?

Hay. Ich möchte programmieren lernen, jedoch weiß ich nicht ob Java oder C++ besser zum lernen und später besser ist um Programme oder sogar spiele zu coden? Könntet ihr mir bitte sagen, welches der beiden Programme besser ist und dazu dann am besten noch, wo man ein Buch kaufen oder bestellen kann, dass das Programmieren mit diesem Programm für Anfänger erklärt.

MFG TacticSquad

Ps.: danke im vorraus :)

...zur Frage

was ist der unterschied zwischen jazz dance und modern dance eigentlich?

hey, ich wollte mal wissen, was eigentlich der unterschied zwischen den beiden tanzarten sind, und welche art einfacher für anfänger sind. hoffentlich kann mir jemand weiterhelfen!

...zur Frage

Taschenrechner beim Einstellungstest

Hallo, ich habe am Dienstag einen Einstellungstest für einen Ausbildungsplatz. In der Einladung stand, dass ein einfacher Taschenrechner für die Lösung der mathematischen Aufgaben erlaubt sei. Aber was ist ein "einfacher" Taschenrechner? Der herkömmliche Schultaschenrechner? Gibt es da Unterschiede? Nicht dass mein Rechner bei Untauglichkeit konfisziert wird! ojeoje

...zur Frage

Braucht man unbedingt ein Plektrum zum Gitarrespielen?

Ich (14, mädel) bin blutiger anfänger, kann nur ein paar griffe. Jetzt meine Frage: Ist spielen mit Plektrum einfacher? Oder bracuht man das unbedingt? Falls nicht, wie muss man dann die Finger halten, wenn man auch den saiten anschlägt? Schon mal danke!

...zur Frage

Programmieren lernen für blutige Anfänger

Hallo,

Wie der Titel schon sagt bin ich blutiger Anfänger oder eher noch weniger als das was das Programmieren eigener Software angeht. Ich bin schon seit längerem vom Programmieren fasziniert und will nun endlich anfangen es selber zu machen. Aber dafür bräuchte ich natürlich gewisse Vorkenntnisse. D.h. ich brauche das Wissen welches man zum Programmieren benötigt und zwar von Anfang an.

Mir ist zum Beispiel wichtig zu wissen, wo der Unterschied in einzelnen Programmiersprachen und Programmiesoftware (z.B. Delphi, Pascal,...) liegt. Außerdem muss ich natürlich wissen, wie man sie "spricht".

...zur Frage

Was möchtest Du wissen?