Quote:
Originally Posted by adjion
Also momentan denke ich ,ich nehme c#.
Mein Kumpel meinte das wären die Unterschiede zwichen c++ und c# die ihm auf die schnelle einfallen:
c#
-leicht und schnell zu erlernen
-läuft nur unter windows aber unter umständen auch unter linux
-benötigt eine sogenannte laufzeitumgebung um die programme später die starten,deine zielgruppe muss das dan ebenfalls installier haben
-GUI's können SEHR leicht erstellt werden
-code kann unter umständen leicht decompiliert werden
c++
-dauert eine weile zu erlernen
-für anfänger eher ungeeignet
-windows und linux programme können erstellt werden
-benötigt keine laufzeitumgebung wie c#
-schneller code
-code kann nur schwer decombiliert werden
----
Und da hat anscheinend c# die besseren sachen ^^
|
Klingt nicht als hätte dein Kumpel allzu viel Erfahrung mit beiden Sprachen. Die Behauptung C# wäre leichter zu erlernen als C bzw. C++ rührt daher, dass Leute die mit dem Programmieren in C# anfangen schneller Ergebnisse sehen, einfach weil, wie dein Freund richtig aufführt, das erstellen von GUIs erheblich simpler ist als in C. Dazu gibt es allerdings einiges zu sagen:
Ein GUI ist immer OS spezifisch und gehört nicht zu den Sprachgrundlagen. Die grundlegenden Sprachkonstrukte gleichen sich in nahezu allen Sprachen, ob du diese in C++ oder C# lernst ist völlig egal. Eine Schleife, die Arbeitsweise von Funktionen, Klassen, Variablen und allen anderen Grundlagen sind in C# und C++ semantisch und syntaktisch so gut wie identisch. Was also übrig bleibt ist alles was nicht grundlegend zur Sprache gehört: externe Bibliotheken und APIs. Diese zu benutzen ist nichts weiter als sich anzulesen wie genau sie benutzt werden, eine Aufgabe die du sowohl in C# als auch in C++ hast.
Macht C# die Entwicklung unter Windows besonders einfach? Ja, die Sprache gehört Microsoft, go figure!
Ist C# einfacher zu erlernen? Nein.
Ist C# langsamer als C++? Sicher, ist es ein signifikanter Unterschied? Nein, virtuelle Maschinen sind heutzutage soweit entwickelt, dass der Geschwindigkeitsunterschied höchstens in Hochperformance Berechnungen eine Rolle spielt.
Ist C# die optimale Sprache um Cheats zu schreiben? Leider ein Nein, du hast zwar Zugriff auf die WinAPI, aber die Beschränkungen die dir die VM und das Sprachdesign aufdrücken sowie das Fehlen von Zeigern macht das Manipulieren von Speicher umständlich wenn nicht sogar unmöglich. Du kannst nun mal keinen C# Code in einen nativen Prozess injizieren, C# wird in Bytecode kompiliert, der von der virtuellen Maschine interpretiert und als Befehl an die CPU weitergeleitet wird, diese Ebene fällt bei nativen Sprachen weg. C++ wird in Assembler Instructions kompiliert und von der CPU direkt ausgeführt.
Zum Schluss möchte ich sagen, wenn du dich mit dem Programmieren vertraut machen willst und deine ersten Schritte mit bunten Fenstern schmücken möchtest, ist C# eine gute Wahl. Fühlst du dich dann in den Grundlagen sicher, ist der Umstieg auf C++ eine Sache von wenigen Stunden, da beide Sprachen syntaktisch nahezu identisch sind. Willst du sofort mit der Cheatentwicklung anfangen? Dann bist du mit C# gegenüber C++ klar im Nachteil.