c# oder c++?

tobias1985

Der Erlöser
ID: 37913
L
24 April 2006
4.963
607
Hi,
ich bin zurzeit am überlegen welche Programmiersprache ich lernen soll.
Zur Auswahl stehen C# mit .Net und C++.

Ziel ist es, eine der beiden Programmiersprachen zu erlernen, da ich diese dann beruflich brauchen könnte.
Nächster Step wäre dann das lernen von ABAP. Dies ist dann eigentlich mal mein Endziel.

Was wäre sinnvoller erstmal zu erlernen? C# oder C++?
 
C# ist einfacher, C++ ist mächtiger. Wenn du gerne Graphische Oberflächen zusammen klickst und gerne auf etwas höherer abstraktion Programmierst nimm C#. Wenn du Web-Applikationen machen willst nimmt C# (Webapps in C++ :LOL: ). Wenn du Computer Spiele entwickeln willst nimmt C++. Wenn du etwas schwieriges willst nimm C++. Wenn du etwas Hardware nahes willst nimm C++.

Kurz:
Wenn du Faul bist nimm C#.
Wenn du gerne denkst und gerne was Hardware-nahes machst nimm C++
Wenn du C++ (und am besten noch Java) kannst wirst du mit C# sehr schnell klar kommen.

;)
 
veers schrieb:
Wenn du etwas Hardware nahes willst nimm C++.

Ich glaube die Entscheidung fällt damit auf C++. ;)
Aber ist c# und c++ vom Syntax und von den Befehlen her wirklich so unterschiedlich? Von Namen her lässt sich das eigentlich nicht vermuten. Hätte eher gedacht, dass c++ ne Weiterentwicklung von c# ist. Nachdem nun aber das C# .NET Teil von Microsoft rausgekommen ist konnte meine Vermutung nicht stimmen.

In der CT-Zeitschrift war vor einigen Heften die Visual C# 2005 Express Edition. Damit kann ich dann wohl kein C++ programmieren.

Gibt es kostenlose C++ Editoren+Kompiler? Wenn ja, was wäre da ne Empfehlung?
 
Grinch schrieb:
Es ist andersrum, C# ist die Weiterentwicklung von C++, oder das Kind von C++ und Java ;)
Es gibt auch ne kostenlose Express Version von Visual C++ guggst du hier: https://www.microsoft.com/germany/msdn/vstudio/express/visualc/default.mspx

Aber ist es dann nicht sinnvoller C# zu lernen? *g* Weil theoretisch müsste C# ja dann alles können was C++ kann und eben noch mehr weils ja wie du sagst eine Weiterentwicklung ist.

Ist halt ne wichtige Entscheidung zu treffen. Denn mir gehts dann mal um den beruflichen Nutzen. Und wenn ich dann was veraltetes kann bringts das auch nicht. Und die Zeit beides zu lernen hab ich nun auch wieder nicht *g*
 
Nein c# kann mehr als c++, c# kann ebenfalls (im unsafe Modus) mit Pointern arbeiten usw..
Es ist nur nicht so Hardwarenah, solange du keine embed Programmierung betriebst ist c# eine deutlich bessere Lösung.

€: Solange du noch mit .NET 1.1 programmierst, ist c# sogar plattformunäbhänig, denn das Mono Projekt hat .NET 1.1 inzwischen vollständig eingeholt.
 
Brutos schrieb:
Nein c# kann mehr als c++, c# kann ebenfalls (im unsafe Modus) mit Pointern arbeiten usw..
...Nein?
Templates (nagut c# 2 hat was vergleichbares)
Multiple Inheritance?
Preprocessor?
...?
Dafür ist die Laufzeit Code Generierung von C# sehr kuhl, die Reflection API ein Alptraum...
Zur Syntax, die sieht etwa gleich aus, das stimmt schon.

Brutos schrieb:
Es ist nur nicht so Hardwarenah, solange du keine embed Programmierung betriebst ist c# eine deutlich bessere Lösung.
Seh ich anderst. C++ hat weitere Vorteile als nur die Hardware nähe. Zum Beispiel die Kompatibilität mit C. Die möglichkeit auch mal Prozedurial arbeiten zu können. Ausserdem ist C++ meiner Meinung nach eine gute Basis um +/- jede andere Programmiersprache zu lernen. Wobeis als erste Programmier-Sprache recht depremierend sein kann da du halt einfach nicht so schnell was Sichtbares erreichst. Wo du bei C# einfache Grafische Apps mit Drag & Drop und etwas Leim basteln kannst.

https://en.wikipedia.org/wiki/C_Sharp
Ist vielleicht auch ganz hilfreich.

Am besten wäre es wahrscheinlich wenn du dir beide Sprachen einmal ansiehst und dann entscheidest.
 
Hm schwere Entscheidung. Momentan tendiere ich leicht zu C#.

Hab mir das "hello world"-Beispiel angesehen. Also vom Code her sieht das schon stark nach Java aus. (hab vor ca. 3 Jahren mal Java gemacht, weiß aber sogut wie nix mehr da ich nach dem schulichen Zwang kein Java-Interesse mehr hatte *g*)
 
tobias1985 schrieb:
Hm schwere Entscheidung. Momentan tendiere ich leicht zu C#.

Hab mir das "hello world"-Beispiel angesehen. Also vom Code her sieht das schon stark nach Java aus. (hab vor ca. 3 Jahren mal Java gemacht, weiß aber sogut wie nix mehr da ich nach dem schulichen Zwang kein Java-Interesse mehr hatte *g*)
Wenn du Java kannst wird C# ein leichtes sein. ;)
 
veers schrieb:
Wenn du Java kannst wird C# ein leichtes sein. ;)

Das ist 3 Jahre her. Von "können" kann da nicht mehr die rede sein ;) Ich weiß eigentlich nix mehr davon *g*
Bisher kann ich nur PHP, aber das soll sich ja ändern :)
 
Ich seh Prozeduales Programmieren eher als Nachteil, es führt zu schlecht wartbaren Code. Gut wartbarer Code wird wird immer wichtiger und Prozeduales Programmieren wird immer unzeitgemäßer.
Wenn ich mit PHP arbeite dort, auch NUR Obiekt Orientiert, wobei PHP keine solche Objekt Orientierte Sprache ist wie C#, da ist wirklich alles der OO angepasst, selbst Operatoren. Und vorallem die Namespaces, sowas wünsch ich mir in PHP, diese Obiekt Hirachie find in .NET ich fantastisch, zum glück kommt mit den Modulen in PHP6 etwas vergleichbares.