PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterschied zwischen C,C++ und C#



c00p3r
08.11.2007, 14:11
Was ist der Unterschied zwischen C,C++ und C#?
Womit habt ihr die besten Erfahrungen?
Was ist mit welchem System combatibel?
Was ist am einfachsten?
....

born2die
08.11.2007, 14:21
Also C++ und C# bauen auf C auf. Ich glaub man kann mit allem unter jedem OS coden, bei C# bin ich mir nicht sicher.
Der unterschied ist, wasi ch weiß, das es immer objekt orientrierter wird was unter c komplett fehlt.

rob00n
08.11.2007, 14:28
C ist auch Objektorientiert! C++ baut auf C auf.
C# ist die, von vielen verpöhnte, "Microsoft-Variante".
(Hab mir C# noch nie angeschaut. Aber viele sagen es hätte kaum noch was mit C/C++ zu tun.)

]=-antr4xx-=[
08.11.2007, 16:14
C ist auch Objektorientiert!
Meines Wissens nach nicht...

C++ baut auf C auf.
Das stimmt schon, C++ ist gewissermaßen eine Erweiterung von C
C ist schneller als C++, C++ erleichtert Fehlersuche, etc, ausserdem gibt es für C++ viele gute Bibliotheken.

l0dsb
08.11.2007, 16:37
C: Nicht objektorientiert, es gibt mittlerweile aber auch objektorientiertes C. Läuft nativ auf Windows. Definiert einige Standardfunktionen in der sog. C-Lib.

C++: Dieselbe Syntax wie C, mittlerweile aber eine eigenständige Sprache. Bietet objektorientierte Programmierung an, ist aber kein Muss. Dazu kommen noch kleinere Features wie der Datentyp bool, Templates etc. Nicht langsamer wie C, außer man verlässt sich zu sehr/überhaupt auf die STL - die jedoch kein Teil von C++ ist! Ebenfalls nativ auf Win32.

C#: Hat lediglich eine ähnliche Syntax wie C/C++, ansonsten nicht viel gemein. Läuft nicht nativ, sondern arbeitet mit dem .NET Framework, um höchstmögliche OS-Kompatiblität zu bieten. Deshalb ein wenig langsamer als intelligent gecodete C/C++-Projekte (JITTer etc.), aber eben plattformunabhängig.

-[RiDER]-
08.11.2007, 16:40
Auch C++ und C# sind nicht objektorientiert!
Es sind beides funktionale, sequentielle Sprachen, die lediglich eine objektorientierte Symantik erlauben, die dem Coder das Leben erleichtern sollen.
All das lässt sich auch in C mit structs und Pointern machen. Ich finde es (deshalb) überflüssig!

C ist eigentlich eine "Human-readable"-Version der Assembler-Sprache. Im Prinzip nur eine andere Schreibweise (dieser Satz wird bei vielen heftiges Herzklopfen und Atemprobleme auslösen - es stimmt aber trotzdem!).

C und C++ ist wohl auf allen Prozessoren lauffähig.
Und alle Systeme, die du im Leben verwenden wirst, werden sicher einen Compiler zur Verfügung stellen.
C# ist eine Microsoft-eigene Programmiersprache, die in der Tat nur noch wenig mit den Ansätzen von C und C++ gemeinsam hat.

Ich selbst präferiere C.
Es ist in meinen Augen am systemnaheste aller hohen Programmiersprachen und außerdem um einiges schneller als C++ bzw. C#

MfG RiDER

rob00n
08.11.2007, 16:44
Hm, naja. Dann muss ich mich mal verbessern bzw. fragen:
Ist C an sich jetzt objektorientiert oder nicht?

l0dsb
08.11.2007, 16:46
Ja, ok, das mit dem objektorientiert habe ich nicht allzu genau genommen.

Ich habe allerdings keine Geschwindigkeitsunterschiede feststellen können (also zwischen einem C und einem C++-Projekt mit WinAPI - und ohne weitere Libs). Sogar mit reinem Assembler kann sich C/C++ messen, sofern der Compiler eine durchschnittliche Optimierungsroutine besitzt.

Verwende selbst auch keine Klassen - Polymorphie und virtuelle Funktionen sowieso nicht. Im Grunde ist der Unterschied zwischen C und C++ nicht so groß, das sind eigtl. alles nur kleinere Unterschiede.

-[RiDER]-
08.11.2007, 16:51
Weder C, noch C++, noch C# sind objektorientiert! ;)

C++ und C# verfügen über eine objektorientierte Semantik, sind aber dennoch funktionale und sequentielle Praogrammiersprachen!
Selbst Java (was irgendwo eine native Syntax von C++ ist, ) ist (dadurch) nicht objektorientiert!

MfG RiDER

IronMaiden
09.11.2007, 12:42
mit c können betriebssysteme programiert werden

bei c++ nicht

Cyrics
09.11.2007, 13:00
Also wir programmieren in der Schule einen Microcontroller mit C, was, wie ich glaube, nicht mit C++ oder C# geht!

@-[RiDER]- was ist deiner Meinung nach objektorientierte Programmierung bzw. ein objektorientierte Sprache, da ich der Meinung war, dass zumindest C# objektorientiert ist ....

l0dsb
09.11.2007, 13:04
Mit C++ können natürlich auch Betriebssysteme (/edit: gilt auch für Microcontroller...) programmiert werden. Verwechselt die Sprache C++ nicht mit ihren Bibliotheken (STL etc.)!

-[RiDER]-
09.11.2007, 18:25
@-[RiDER]- was ist deiner Meinung nach objektorientierte Programmierung bzw. ein objektorientierte Sprache, da ich der Meinung war, dass zumindest C# objektorientiert ist ....
Perl, Ruby und Konsorten.

MfG RiDER

Schlurmann
10.11.2007, 02:55
mit c können betriebssysteme programiert werden

bei c++ nicht

!!Akuter Bullshitalarm!!! =)