loonytoon Geschrieben 20. September 2006 Geschrieben 20. September 2006 Hallo Leute ich bin am Anfang der Ausbildung und würde gerne den Unterschied zwischen den ganzen C Programmen wissen. Wir arbeiten in der Schule mit Visual C++. Zitieren
Klotzkopp Geschrieben 20. September 2006 Geschrieben 20. September 2006 C, C++ und C# sind Programmiersprachen, keine Programme. Das ist der deutsche Wikipedia-Artikel zu C. C++ und C# sind da verlinkt: http://de.wikipedia.org/wiki/C_%28Programmiersprache%29 Visual C++ ist keine Programmiersprache, sondern eine Entwicklungsumgebung von Microsoft. Zitieren
Hakkera Geschrieben 25. September 2006 Geschrieben 25. September 2006 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. Zitieren
Guybrush Threepwood Geschrieben 25. September 2006 Geschrieben 25. September 2006 EDIT: sorry verlesen... Zitieren
Bubble Geschrieben 25. September 2006 Geschrieben 25. September 2006 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. Zitieren
Hakkera Geschrieben 28. September 2006 Geschrieben 28. September 2006 hmmm dann scheine ich da wohl was durcheinander gebracht zu haben und entschuldige mich dafür Zitieren
marcom Geschrieben 4. Oktober 2006 Geschrieben 4. Oktober 2006 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++ :-) Zitieren
TDM Geschrieben 6. Oktober 2006 Geschrieben 6. Oktober 2006 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 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 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). Zitieren
Klotzkopp Geschrieben 7. Oktober 2006 Geschrieben 7. Oktober 2006 In MS Visual Studio gab es auch schon einen (__)gcAber nicht im C++-Standard. Java 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. Zitieren
TDM Geschrieben 7. Oktober 2006 Geschrieben 7. Oktober 2006 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. Zitieren
Empfohlene Beiträge
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.