Zum Inhalt springen

Wie unterscheidet sich C, C++ und C#


Empfohlene Beiträge

Geschrieben

Klotzkopp hat recht ^^

zu den unterschieden... Genau kann ichs auch nicht sagen

es ist einfach so das Befehle etc. etwas anders sind

z.B. wirst du in C++ noch mit Zeigern arbeiten die es in C# nicht mehr gibt. genau so ist das mit den Strukturen die es in C++ gibt in C# nicht mehr.

Einfach nur um unnützes nicht mehr dabei zu haben und fehler zu beseitigen.

Aber wenn du C++ lernst wirste später z.B. c# echt schnell lernen können da wirklich viel genauso ist.

Geschrieben

z.B. wirst du in C++ noch mit Zeigern arbeiten die es in C# nicht mehr gibt. genau so ist das mit den Strukturen die es in C++ gibt in C# nicht mehr.

In C# gibt es structs, die im Gegensatz zu Klassen einen value type darstellen. Zeiger gibt es in C# auch.

Geschrieben

Vielleicht ein paar zusätzliche Anmerkungen:

Zwar kann man unter C# Pointer benutzen, sie sind allerdings nicht mehr Standard (so wie bei C oder C++) und man muss C# Programme mit einem speziellen Flag (unsafe) kompilieren. C# führt einen Garbage Collector ein, der sich um das Speichermanagement kümmert. Das ist eines der größten Unterschiede zu den älteren C Sprachen. Ist schon eine feine Sache zumal unerfahrene Programmierer schneller die Sprache erlernen können und nicht gefährlichen Code schreiben können (*). C# ist allerdings für Windows optimiert (da es von Microsoft entwickelt wurde) und ich weiß gar nicht ob es eine ähnliche Implementation unter Linux gibt?

C / C++ erlauben dafür einen viel dierekteren Umgang mit dem Speicher womit man unter Umständen schneller unterwegs ist. C ist rein prozedural während C++ objektorientiert ist.

Man kann auch nicht sagen, welche Sprache besser wäre. C++ unterstützt features, die C# nicht mehr hat (Vererbung von mehreren Klassen)

Ist Geschwindigkeit die allerhöchste Priorität, dann wird C (bzw. Fortran ;-) ) verwendet.

Gehts um rapid prototyping unter Windows, dann C#.

Will man beides Betriebssystemunabhängig-> C++ :-)

Geschrieben
C# führt einen Garbage Collector ein, der sich um das Speichermanagement kümmert. Das ist eines der größten Unterschiede zu den älteren C Sprachen.

In MS Visual Studio gab es auch schon einen (__)gc

C# ist allerdings für Windows optimiert (da es von Microsoft entwickelt wurde) und ich weiß gar nicht ob es eine ähnliche Implementation unter Linux gibt?

Java :rolleyes:

C ist rein prozedural während C++ objektorientiert ist.

Mit Strukturen und Funktionspointern kann ich komplette Klassen in (ANSI-) C darstellen.

Man kann auch nicht sagen, welche Sprache besser wäre. C++ unterstützt features, die C# nicht mehr hat (Vererbung von mehreren Klassen)

Das ist kein Feature, das ist gefährlich :floet:

Ist Geschwindigkeit die allerhöchste Priorität, dann wird C (bzw. Fortran ;-) ) verwendet.

ASM :D

Will man beides Betriebssystemunabhängig-> C++ :-)

Nein, komplett betriebssystemunabhängig ist C++ nicht. Die MFC-Klassen funktionieren nicht unter Linux (ohne WINE). Java ist aufgrund der JRE die einzige mir bekannte Programmiersprache (wenn auch etwas lahmer).

Geschrieben
In MS Visual Studio gab es auch schon einen (__)gc
Aber nicht im C++-Standard.

Java :rolleyes:
Mono. Mit Java hat C# außer einer ähnlichen Syntax und Parallelen in der Art der Ausführung nicht viel gemeinsam.

Mit Strukturen und Funktionspointern kann ich komplette Klassen in (ANSI-) C darstellen.
Richtig. Genauso kann man in C++ prozedural oder (mit Templates) generisch programmieren.

Nein, komplett betriebssystemunabhängig ist C++ nicht. Die MFC-Klassen funktionieren nicht unter Linux (ohne WINE).
Solange man den Bereich des Standards nicht verlässt, sind C und C++ plattformunabhängig. Sobald man plattformspezifische Bibliotheken benutzt, ist es natürlich damit vorbei.
Geschrieben
Mono. Mit Java hat C# außer einer ähnlichen Syntax und Parallelen in der Art der Ausführung nicht viel gemeinsam.

Ging ja um eine ähnliche Implementation ;)

Aber stimmt, mit Mono sollte C# auch unter Linux laufen.

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...