Vorteile, Nachteile und Anwendungsbereiche von C und C++
-
> sondern die C++-Runtime.
Es ist ja auch Quatsch, eine Desktop-Runtime auf µControllern ein zu setzen.
-
- erledigt -
-
Simon2 schrieb:
Z schrieb:
...C++ ist ein vollständiger Ersatz für C, deshalb "kaum noch".
Selbst wenn das Argument stimmten (was ich bezweifele), hieße das noch gar nichts.
Es gibt genug Beispiele dafür, dass sich "besser", "neuer", "Nachfolger", ... nicht in der Breite durchsetzen.Woran auch immer das liegen mag. C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
-
Z schrieb:
C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
Es wird immer spannender
Warum sollte man C++ Programmieren, wenn man dann auf OOP verzichtet - auch wenn is in dem Fall durchaus angebracht wäre?
-
Z schrieb:
Woran auch immer das liegen mag. C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
Bilder sagen mehr als 1000 Worte:
+-----------+ | | +--------+--+ | | |//| C | | |//| | | C++ |//| | | +--+--------+ | | +-----------+
nur im schraffierten Bereich treffen deine Aussagen zu, also da, wo sich die Anwendungsbereiche von C und C++ überlappen
-
Z schrieb:
C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
Wie wohl alle hier bin ich jetzt sehr auf die Begründung gespannt.
-
l'abra d'or schrieb:
Z schrieb:
C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
Es wird immer spannender
Warum sollte man C++ Programmieren, wenn man dann auf OOP verzichtet - auch wenn is in dem Fall durchaus angebracht wäre?Och, ich mag templates, die StdLib, exceptions, ... schon....
Ich denke, aber (wie bei all diesen "Programmiersprachendebatten"), dass die Entscheidung für/gegen eine Programmiersprache in der Realität zu 99% von anderen Faktoren bestimmt wird als Sprachmittel, Syntax, ... .
Deswegen ist es müssig, da einen zusammenhang herstellen zu wollen.Gruß,
Simon2.
-
Und schon jetzt sind wir wieder dort angelangt, was ich befürchtet hatte. Eine für mich sinnlose Diskussion um C und C++.
C --> Die weiter bleibende Grundlage
C++ --> Die sehr nützliche Erweiterung davondaddeldu - ich habe fertig! :p
-
l'abra d'or schrieb:
Z schrieb:
C++ ist definitiv das bessere C, auch wenn man Objektorientierung nicht verwenden will (oder darf).
Es wird immer spannender
Warum sollte man C++ Programmieren, wenn man dann auf OOP verzichtet - auch wenn is in dem Fall durchaus angebracht wäre?Du könntest Templates verwenden, Konstruktoren und Destruktoren in Strukturen, RAII, Smartpointer, die STL, Typüberprüfung ist auch strikter als in C, usw.
zwutz schrieb:
Bilder sagen mehr als 1000 Worte:
+-----------+ | | +--------+--+ | | |//| C | | |//| | | C++ |//| | | +--+--------+ | | +-----------+
Nein, die C-Menge muß von der C++-Menge umschlossen werden.
http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Set_subsetAofB.svg/300px-Set_subsetAofB.svg.png
(A ist C, B ist C++)
-
Z schrieb:
Nein, die C-Menge muß von der C++-Menge umschlossen werden.
http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Set_subsetAofB.svg/300px-Set_subsetAofB.svg.png
(A ist C, B ist C++)void f(restrict int* p) { int arr[*p]; }
warum mag mein legaler c code nicht mit einem c++ compiler kompiliert werden?
-
Z schrieb:
Nein, die C-Menge muß von der C++-Menge umschlossen werden.
Es geht um Anwendungsbereiche in der Realität
zwutz schrieb:
nur im schraffierten Bereich treffen deine Aussagen zu, also da, wo sich die Anwendungsbereiche von C und C++ überlappen
-
Die C/C++-Diskussion gabs schon tausend mal in anderen Threads, sie ist absolut müßig und liefert ziemlich sicher nichts neues mehr.
Gebt mir daher schnell einen Grund warum ich diesen Thread, statt ihn gleich dicht zu machen, offen lassen und auf die "Rund um die Programmierung"-Halde verklappen soll.
Hier gehört er auf jeden Fall nicht hin, in diesem Forum gehts um Standard-C++, nicht um den hundertjährigen C-C++-Bruderkrieg.
-
Shade Of Mine schrieb:
Z schrieb:
Nein, die C-Menge muß von der C++-Menge umschlossen werden.
http://upload.wikimedia.org/wikipedia/commons/thumb/a/a8/Set_subsetAofB.svg/300px-Set_subsetAofB.svg.png
(A ist C, B ist C++)void f(restrict int* p) { int arr[*p]; }
warum mag mein legaler c code nicht mit einem c++ compiler kompiliert werden?
"restrict" und VLAs sind in C dazugekommen, nachdem sich C++ von C abgespaltet hat. Aber wir sollten die Tatsache, daß C++ Nachfolger von C ist, nicht an solchen unbedeutenden Einzelheiten festmachen.
-
Alleserklärmüsser schrieb:
Z schrieb:
Nein, die C-Menge muß von der C++-Menge umschlossen werden.
Es geht um Anwendungsbereiche in der Realität
Das ist doch noch besser. Es gibt keinen vernünftigen Grund, heute noch altes C einzusetzen, außer man hat nur einen C, aber keinen C++ Compiler zur Verfügung.
-
Z schrieb:
"restrict" und VLAs sind in C dazugekommen, nachdem sich C++ von C abgespaltet hat. Aber wir sollten die Tatsache, daß C++ Nachfolger von C ist, nicht an solchen unbedeutenden Einzelheiten festmachen.
const var = 10;
ist legal C. Geht mit C++ auch nicht.
Wenn du erst sagst, C ist in C++ komplett enthalten, und nun einschränkst auf "C von anno dazumal, als sich C++ abgespalten hat", ist das relativer Murks
Schau dir auch mal den Standard an, da sind sicher einige Sachen zu finden, die in C++ eigentlich nicht mehr erlaubt sind, in C aber schon.
-
Z schrieb:
C++ ist ein vollständiger Ersatz für C, deshalb "kaum noch".
Wie bitte?
Wir verwenden im Unternehmen fast ausschließlich C und kaum C++. Selbst neue Projekte werden noch in C geschrieben. Ein "Ersatz" ist es mit Sicherheit nicht.C++ erweitert C lediglich um die Objektorientierung und ist genau wie Delphi eine Hybridsprache. D.h. aber nicht, dass ein rein prozedural basierender C++ Code auch mit einem C Compiler fehlerfrei kompiliert.
Es gibt da schon ein paar Unterschiede, bspw. bei der Variablen Deklaration.
-
mir scheint, Z will diese Diskussion absichtlich ins Lächerliche führen
-
FrEEzE2046 schrieb:
C++ erweitert C lediglich um die Objektorientierung
c++ tut schon ein ordentliches eck mehr...
-
Z schrieb:
Es gibt heute keinen triftigen Grund mehr C zu verwenden, weil man mit C++ alles machen kann, was man auch mit C machen kann"
So ein Quark
. Es kann immer Pro und Kontras für oder gegen eine Sprache geben. Das fängt bei der Erweiterung alter Programm(e)(-Module) an.
Abgesehen davon lässt sich C viel schöner mit Assembler verbinden als C++. Und jetzt sag bitte nicht, dass Assembler keiner mehr für Anwederprogramme benutzt. Bestes Beispiel: John Carmack, auch der verwendet Assembler zum Teil für seine Engines.
Shade Of Mine schrieb:
c++ tut schon ein ordentliches eck mehr...
Nicht wenn ich meine Aussage auf einen einzigen Satz beschränken wollte
.
Klar, aber wenn wir das ganze oberflächlich betrachten dann ist der Größte Unterschied zwischen C und C++ jawohl die Erweiterung um die OOP.
Dass da noch viel mehr dahinter steht ist keine Frage.
-
Nicht wenn ich meine Aussage auf einen einzigen Satz beschränken wollte
Ja, es befreit einen davon, argumentieren zu muessen. Deshalb beschraenke ich meine Aussage auf zwei Woerter: Alles Bullshit.