Kann ein Programmierer der C++ kann auch C?

Wollte einige Leute korrigieren: C++ ist, anders als behauptet, auch eine imperative Programmiersprache wie C.
Was die "echte Teilmenge" angeht, muss ich auch widersprechen. Es wurde bereits ein Beispiel eines gültigen
C-Ausdrucks gebracht, der in C++ zu einem Compilerfehler führt. Es gibt aber auch Ausdrücke, die in C wie C++
gültig sind, aber zu unterschiedlichem Verhalten führen. Ein Beispiel, das ich hier öfter angeführt habe, war der
Wert von sizeof() auf einen char-Literal. In C ist der Wert sizeof(int), in C++ sizeof(char).

Es bleibt für mich festzuhalten, dass C und C++ Sprachen sind, die einen gemeinsamen Ursprung haben, sich
allerdings mittlerweile stark auseinanderentwickelt haben und man von völlig unterschiedlichen und eigenstän-
digen Sprachen sprechen muss.

Deshalb für den Threadstarter: Ein C++-Programmierer kann nicht automatisch C, aber es wird ihm sicher leichter
fallen, sich umzugewöhnen, als jemand, der nur ein völlig anderes Paradigma kennt, zum beispiel die funktionale
Programmierung. Aber das wurde so, oder ähnlich ja bereits mehrfach hier gesagt.
 
asdfman schrieb:
Wollte einige Leute korrigieren: C++ ist, anders als behauptet, auch eine imperative Programmiersprache wie C.

danke :kuss:
Ich dachte schon ich bin in ein komisches Paralleluniversum gefallen indem imperative Programmierung das Gegenteil von objektorientierter Programmierung ist...
Das ganze klang, dann aber mehr nach "ich werfe mal mit Begriffe von denen ich keine Ahnung um mich, um klüger zu klingen"
 
asdfman schrieb:
Wollte einige Leute korrigieren: C++ ist, anders als behauptet, auch eine imperative Programmiersprache wie C.
Was die "echte Teilmenge" angeht, muss ich auch widersprechen. Es wurde bereits ein Beispiel eines gültigen
C-Ausdrucks gebracht, der in C++ zu einem Compilerfehler führt.
ich sagte die syntax ist als eine echte teilmenge zu sehen und nicht die sprache selbst!
niemand hat behauptet, dass die sprache eine echte teilmenge ist, oder hab ich was übersehen?
Ergänzung ()

character schrieb:
Hier sei noch erwähnt, dass z.B. der ganze Visual-Studio-Kram nicht mal C99 unterstützt, C++11 aber schon (Komplett? Bin nicht sicher). Allein daran schon sieht man, dass es bei aller Ähnlichkeit signifikante Unterschiede gibt. Die Sprachen werden unabhängig voneinander weiterentwickelt.
deswegen vergleicht man üblicherweise ansi standards gleicher jahre.

Ich bin der Meinung, dass ein C++-Profi nicht automatisch guten C-Code schreibt und umgekehrt. Der Lernaufwand wird allerdings sicher geringer sein als wenn man von weniger alten oder "manuellen" Sprachen kommt.
was gibt es denn deiner meinung nach für ein c++ entwickler zu lernen um guten c-code zu schreiben? (ausser der umgang mit malloc und co)

die denke die du brauchst ist im grunde dieselbe. sie prozedural abzubilden ist viel einfacher als objektorientiert, letzteres erlaubt eifnach zu viele schlechte konzepte.

ich würde sogar sagen, es ist um welten einfacher schlechten objektorientierten code zu schreiben als c-code.
 
Dese schrieb:
deswegen vergleicht man üblicherweise ansi standards gleicher jahre.
Hm? Wie soll das gehen? Die Release-Zyklen hängen nicht voneinander ab.

Die Standards driften immer mehr auseinander. http://david.tribble.com/text/cdiffs.htm (ich weiß das das nicht mehr ganz frisch ist, aber C99 war bis vor kurzem noch aktuell)

Dese schrieb:
sie prozedural abzubilden ist viel einfacher als objektorientiert, letzteres erlaubt eifnach zu viele schlechte konzepte.
Das kann man meiner Meinung nach überhaupt nicht verallgemeinern, egal bei welcher Sprache.
Wer gut mit Objekten klar kommt, kommt nicht "automatisch" rein prozedural klar, zumal es in C ja auch "Patterns" gibt, nur eben ohne Objekte und Pipapo.

Meiner Erfahrung nach programmieren sich C und C++ vollkommen anders. Die Syntax ist ähnlich, aber das war es eigentlich auch schon.

Lies mal in den gängigen Mailing-Listen, wo sich C-Fans rumtreiben (besonders im *nix-Bereich eben), warum sie C++ nicht mögen und andersrum.

Mehr kann ich dazu nicht sagen, weil ich versuche, C++ wie die Pest zu meiden. Leider fängt jetzt ein Projekt an, bei dem ich mich wieder damit beschäftigen muss. Eine Qual.
 
character schrieb:
Mehr kann ich dazu nicht sagen, weil ich versuche, C++ wie die Pest zu meiden. Leider fängt jetzt ein Projekt an, bei dem ich mich wieder damit beschäftigen muss. Eine Qual.

das erklärt eniiges ;)
 
Zurück
Oben