# C++ weiterlernen oder auf C# umsteigen?



## Spaiki (13. Juli 2009)

Hiho zusammen,

neben meiner Ausbling zum Fachinformatiker habe ich mir selbst die Programmiersprache C++ angeeignet - sicher noch sehr viel ausbaufäig aber ich denke gute Grundlagen sind vorhanden.

Nu da meine aktuelle Lektüre langsam zu neige geht hab ich mich mal hingesetzt und mit guten Bekannten drüber gesprochen wie ich nu weiter mache. Da gehen die Meinungen aber sehr stark auseinander weshalb ich gerne auch noch welche von euch hätte.

Die einen meinen ich soll mit C++ weitermachen und mein Wissen vertiefen zudem mich mit Virsual C++ vertraut machen andere meinen ich soll aufgrund des wachsenden Marktes auf C#/VisualC# umsteigen. zumal soll C# die bessere Objektorientierte Sprache sein.

Immo bin ich echt am grübeln und hab auch schon bissel gelesen in anderen Foren aber die Meinungen sind da teils sehr veraltet (2003 und älter) und sehr oberflächlich geschrieben.

Deshalb meine Frage an euch! was meint Ihr? Was ist besser was bringt mehr? Wo liegen Vor- und Nachteile? 

Bleibt nartürlich die Frage was ich möchte - Sicher möchte ich mal kleinere Anwendungen (vieleicht später auch größere, vieleicht auch mal nen Minigame) schreiben aber in erster Linie möchte ich meine Wissen erweitern um im späteren Berufsleben eventuell davon zu profietieren.

Sagt mal eure Meinungen  Freu mich auch über Links ect 

Gruß Spaiki


----------



## pVt_m4sTeR (13. Juli 2009)

Da Java C++ in der Syntax sehr ähnlich ist würde ich damit weitermachen, da Java mittlerweile ja auch überall verwendet wird 

Ich habe selbst habe mein Abitur auf einem technischem Gymnasium für Informationstechnik erworben und wurde dort C++ gelehrt. Einige Leute aus meinem Freundeskreis studieren Informatik und dort wird wohl sehr viel Java verwandt.

Gruß


----------



## Riddance (13. Juli 2009)

Also ich hab jetzt schon so einiges an Sprachen durch... C --> Java --> C++ --> C (diesesmal HW-nahe) --> C#.

Im Grunde hängts immer davon ab, in welcher Sparte man beruflich arbeitet... In der Firma wo ich arbeite, wird ein Großteil mit C# geproggt und nur eine eher "tote" Abteilung codet Java. In meiner alten Firma wars eher 50/50 aufgeteilt. 

Ich jedenfalls bin von C# begeistert, da man sehr viel damit anstellen kann und Visual Studio gefällt mir auch sehr 

Es is außerdem sehr einfach, zwischen einigen Sprachen zu switchen... Java --> C# ist der Unterschied jetzt von der Syntax / Methoden nicht so unterschiedlich. Liegen nur in anderen Libraries


----------



## Kadauz (15. Juli 2009)

Lern doch mal zur Abwechslung ne Scriptsprache. Perl ist da sehr mächtig.


----------



## Spaiki (16. Juli 2009)

Erstmal danke für die Antworten.

Mit einer Scriptsprache zu arbeiten wollte ich eigentlich nicht da es mir darum geht meine Kenntnisse so zuvertiefen das sie vorzeigbar werden. 

Ganz nach dem prinzip: Keine halben Sachen machen.

Das lässt sich auch auf die Aussage meines Ausbilders adaptieren: lerne eine richtig erstmal und wenn du ne andere brauchst kannst du dich gut drin einarbeiten. Hauptsache man hat das verständnis fürs programmieren.

Von daher denke ich werd ich mal c# was genauer anschauen und dann schaun war mal weiter 

Gruß Spaiki


----------



## Riddance (16. Juli 2009)

Wennst Fragen zu C# hast, kannst dich bei mir melden 

Bin ja von Berufswegen her C# Entwickler und auch in der Freizeit entwickle ich so einiges


----------



## Havenger (16. Juli 2009)

also ich würde wenn ich du wäre eher auf c# umsteigen, da c++ die ineffizienteste programmiersprache der welt ist ! selbst mit vs2010 braucht das noch nen eigenen compiler für x64 progs und da c# inzwischen auch spiele entwicklung mit dem xna framework ermöglicht empfehle ich es dir ...

zu dem ist die sprache c# verständlicher als c++ und daher einfacher auch zu erlernen ...


----------



## Ladnaks (19. Juli 2009)

C# hat eigentlich nicht viel mit C/C++ zu tun, auch wenn der Name etwas anderes andeutet. 



> Die einen meinen ich soll mit C++ weitermachen und mein Wissen vertiefen zudem mich mit Virsual C++ vertraut machen andere meinen ich soll aufgrund des wachsenden Marktes auf C#/VisualC# umsteigen. zumal soll C# die bessere Objektorientierte Sprache sein.


Wenn es dir um den Marktanteil und die Objektorientierung geht dann müsstest du eigentlich zu Java wechseln und nicht zu C#. Generell sind C# und Java recht ähnliche Sprachen, wobei C# den Nachteil hat, dass es nur unter Windows läuft. Es gibt zwar Mono, aber so toll funktioniert das auch nicht.

Aber wenn du ohnehin sagst, dass deine C++ Kenntnise noch ausbaufähig sind würde ich an deiner Stelle einfach mal damit weitermachen.


----------



## HolyDeath89 (22. Juli 2009)

In welchen Bereich willst du deinen Schwerpunkt setzen? C++ ist interessant, wenn du leistungsmäßig alles rausholen willst oder sehr hardwarenah entwickeln willst (Treiber und ähnliches).

Für eine gewöhnliche Anwendung würde ich eher auf C#/.NET setzen, da dir dort das Framework sehr viel abnimmt und du sehr schnell zum Ziel kommst. Mit XNA kannst du damit auch Spiele entwickeln.

Mit .NET kannst du gewöhnliche Desktopanwendungen entwickeln, serverseitige Webanwendungen (ASP.NET), RIAs (Silverlight), Anwendungen für mobile Geräte auf Win Mobile Basis (.NET Compact Framework), Spiele (XNA) und Embedded Geräte (.NET Micro Framework).

Schau dir es doch einfach mal an. Zum Start reicht die kostenlose C# Express Edition völlig aus.


----------



## Bauer87 (22. Juli 2009)

Ich sehe in C++ den Vorteil, dass es wirklich überall und dazu noch effizient läuft. C# ist von Microsoft, Microsoft hält Patente und keiner darf was ohne Erlaubnis von Microsoft machen. C++ wird dagegen von allen großen Firmen, Universitäten, etc. unterstützt und rechtlich absolut unbedenklich.

Microsoft hat IBM innerhalb von zwei Jahren(!) aus dem Markt gedrängt. IBM hat zuvor Apple auch in kurzer Zeit aus dem Makt gedrängt. Beide waren auch viele Jahre Weltmarktführer. Was ich damit sagen will: Kein Mensch weiß, ob sich MS noch lange hält. Wenn man sich anguckt, was Apple und Google aus Windows Mobile gemacht haben (Smartphone-OS Nr. 1, jetzt Randgruppe), könnte ähnliches auch auf dem Desktop passieren. Dann ist C# mit einem Schlag tot. Das muss natürlich nicht passieren, aber es kann durchaus.

Für mich eindeutig C++. Das läuft schnell, es gibt Bibliotheken für jeden Zweck und es läuft zudem auf jeder Plattform (auch auf MacOS, Linux, auf dem Handy, …). Mit entsprechenden Bibliotheken sogar ohne jegliche Anpassung. (Ich empfehle hier Qt.)


----------



## HolyDeath89 (22. Juli 2009)

>> C# ist von Microsoft, Microsoft hält Patente und keiner darf was ohne Erlaubnis von Microsoft machen.

Das ist Quatsch. C# wie die CLR (Laufzeitumgebung von .NET) sind standardisiert bei der ECMA und diese können problemlos verwendet werde, um eigene Implementierungen zu schreiben. Die bekannteste ist Mono, welches auch außerhalb von Windows läuft. Und vor kurzem gab es seitens MS auch ein Community Promise, dass keinerlei Patente eingeklagt werden gegen Implementierungen, die auf die Standards aufbauen.

>> Für mich eindeutig C++. Das läuft schnell, es gibt Bibliotheken für jeden Zweck und es läuft zudem auf jeder Plattform (auch auf MacOS, Linux, auf dem Handy, …). Mit entsprechenden Bibliotheken sogar ohne jegliche Anpassung. (Ich empfehle hier Qt.)

Die Geschwindigkeit ist wirklich top und funktionsmäßig geht auch so gut wie alles, aber man muss einmal dafür relativ selber schreiben und man hat sehr viel Verantwortung, da C++ zur Laufzeit keine Prüfungen durchführt. Da kommen dann Themen dazu wie Buffer Overflows u.ä. Das kann man vermeiden - klar, aber diese Selbstdisziplin hat nicht jeder.

Also wenn nicht jedes Quäntchen Leistung zählt, würde ich eher auf .NET oder Java (was ich persönlich nicht mag - aber sei's drum) setzen, da man produktiver ist.


----------



## k-b (23. Juli 2009)

Java und C# sind das Gegenteil von produktiven Sprachen. Man kämpft oft mehr mit Overhead als das man wirklich etwas produziert.

Was Spricht auf eine Sprache die eher Zukunft hat? Ruby oder Python z.b.?


----------



## Riddance (24. Juli 2009)

Hab ich was verpasst oder wo hat C# keine Zukunft? oO


----------



## k-b (24. Juli 2009)

Zukunft schon - war vielleicht etwas unglücklich ausgedrückt. Weg bekommen wird man die Sprache leider nicht mehr so schnell. Wollte nur Vorschlagen, dass der Threadersteller eine Sprache lernt die etwas mehr bringt als C# - gerade in HINBLICK auf die Zukunft.


----------



## Riddance (28. Juli 2009)

Denke C# lernen bringt schon einiges. Aus meinen bisherigen Erfahrungen werden C# Entwickler noch genauso stark gesucht wie vor einem Jahr, als die große Suche nach C# Entwicklern anfing. (Ok jetzt werden dank Siemens hier in Wien ja einige C# Entwickler arbeitslos  ). 
Denke kaum, dass in Zukunft C# seine Daseinsberechtigung verlieren wird. Gerade im ECM Bereich mit SharePoint werden derzeit händeringend Entwickler mit Skills gesucht... Ist halt eine "Spezialecke" von C#, aber trotzdem isses C# 

So sry für die Ausschweifungen :O


----------

