Forum: PC-Programmierung Unterschied C++ und C#


von Tim (Gast)


Lesenswert?

Hallo!
Ich habe schon viele Beiträge durchforstet, aber noch nicht genau das 
gefunden, was ich suche.
Ich muss mich nun entscheiden, ob ich mich genauer mit C++ oder C# 
beschäftigen soll.

Meine Frage ganz am Anfang ist folgende: Was ist überhaupt der genaue 
Unterschied zwischen den beiden Sprachen? Was kann man mit C++ machen, 
was man mit C# nicht machen kann, bzw. umgekehrt. Mit welcher Sprache 
ist es z.B. leichter, Ports anzusprechen? Gibt es eine Sprache, die 
evtl. besser für Mikrocontroller-Anwendungen geeignet ist? Damit meine 
ich jetzt nicht die Daten, die in den Controller geschrieben werden, 
sondern ein Programm, mit dem man "Geräte" vom PC aus steuern kann 
(Relaisplatine...).
Oder könnte man gar auch C# oder C++ nutzen, um vernünftige 
Mikrocontrollerprogramme zu schreiben?

Ich würde mich freuen, wenn ihr mir helfen könntet!

Viele Dank schon einmal

Tim

von Thomas (Gast)


Lesenswert?

C# ist eine Abwandlung von VisualBasic, hat mit C außer ein paar 
Syntaxelementen nichts zu tun.

von Stefan Salewski (Gast)


Lesenswert?


von Thomas B. (yahp) Benutzerseite


Lesenswert?

Hoi!

> Meine Frage ganz am Anfang ist folgende: Was ist überhaupt der genaue
> Unterschied zwischen den beiden Sprachen?

de.wikipedia.org
Es sind einfach zwei unterschiedliche Sprachen. C# wurde deutlich später 
entwickelt und man ist daher versucht zu sagen, dass es sich in der 
Evolution der Programmiersprachen weiter oben befindet (bzw. dass es 
bekannten Fehlern gelernt wurde). (So eine Bemerkung gibt natürlich Raum 
zum Streit.)


> Was kann man mit C++ machen,
> was man mit C# nicht machen kann, bzw. umgekehrt.

Kurz gesagt, nichts. Ich behaupte, man kann mit beiden alles machen. 
Wenn du allerdings unter Windows programmieren willst und dort Programme 
mit graphischer Nutzeroberfläche rauskommen soll, dann ist das 
.NET-Framework die aktuelle und zu empfehlende Plattform. Und .NET 
willst du einfach nicht mit dem verpfuschten managed C++ programmieren, 
also bleibt da nur C#. Natürlich gibt es auch für C++ Frameworks noch 
und nöcher, deswegen führen solche Fragen auch immer zu nicht enden 
wollenden Diskussionen. Eine allgemeingültige Aussage ist vermutlich 
auch nicht möglich.

Im Endeffekt musst du dich halt entscheiden. Schau dir einmal bei 
www.galileocomputing.de die Bücher über C++ und C# an und bilde dir 
deine eigene Meinung.


> Mit welcher Sprache
> ist es z.B. leichter, Ports anzusprechen?

Ist als ähnlich einzuschätzen.


> Gibt es eine Sprache, die
> evtl. besser für Mikrocontroller-Anwendungen geeignet ist? Damit meine
> ich jetzt nicht die Daten, die in den Controller geschrieben werden,
> sondern ein Programm, mit dem man "Geräte" vom PC aus steuern kann
> (Relaisplatine...).

Subjektiv C#. Ich schätze, dass du ohne Vorkenntnisse mit C# schneller 
zum Ziel kommst als mit C++. Vorteil bei C++ ist die Nähe zu C, was dir 
unter Umständen gewisse "Synergieeffekte" bei der Programmierung des 
Controllers selbst bringen kann. Im Endeffekt sind sich die Sprachen 
doch noch recht ähnlich, es gibt viele Gemeinsamkeit. Beides zu lernen 
ist also nicht doppelt so schwierig ;-)


> Oder könnte man gar auch C# oder C++ nutzen, um vernünftige
> Mikrocontrollerprogramme zu schreiben?

Mmmh. Mir ist so noch kein C#-Crosscompiler bekannt. C++ benutzen wohl 
einige Verrückte für µC, ob das unbedingt notwendig ist, sei mal dahin 
gestellt.


> Ich würde mich freuen, wenn ihr mir helfen könntet!

Tja, ich fürchte nur, dass du von zehn Leuten zwölf verschiedene 
Meinungen hören wirst und am Ende nicht mehr weißt, als jetzt...

von ERDI - Soft (Gast)


Lesenswert?

Man sollte auch nicht vergessen, dass C#, wie Java auch, in ner Virtual 
Machine ausgeführt wird. Dies wohl nicht ganz so exzessiv wie bei Java, 
was wohl auch den Geschwindigkeitsvorteil ausmacht, aber trotzdem 
braucht es eine Runtime-Environment ( -> .NET Framework), ohne das ein 
in C# geschriebenes Programm nicht läuft (unter Linux gibt es Mono, eine 
Implementation des .NET Frameworks, was wohl mittlerweile zum Framework 
1.0 fast 100% komptibel ist und viele Funktionen vom Framework 2 
unterstützt.).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.