Quote:
Doch. Intern nutzt die STL andere Teile der STL. Zumal der Programmierer, der die STL anwendet, in der STL Implementation nichts zu fingern hat. Dafür sind viel schlauere Personen zuständig.
Doch ich würde glatt behaupten du hast dich hier vertippt
|
Willst du nun Erbsen zählen?
Es geht mir nicht darum, dass die Entwickler von C++ natürlich massives OOP, Generisches Programmieren und auch Prozedurales genutzt haben.
Aber jemand der anstatt printf( nun cout << schreibt, betreibt kein OOP, das könnte man auch als Funktionsaufruf mit anderer Syntax abtun (warte, das ist es ja sogar auch ;O).
Quote:
Natürlich macht es das, da du ab diesem Zeitpunkt an deinen Code in keinem C Compiler mehr erstellen kannst. Sobald du mit Elementen aus C++ arbeitest wirst du zum C++ Programmierer.
Das macht dich allerhöchstens (so weit will ich mich eigentlich gar nicht aus dem Fenster lehnen, da es auch dafür legitime Fälle gibt) zu einem schelchten C++ Programmierer.
|
Dann haben wir unterschiedliche Standpunkte und eine weitere Diskussion ist eigentlich unnötig.
Für mich ist jemand ein C++ Programmierer, wenn er die Sprache kennt, verstanden hat und sie in ihrem Umfang (nicht bei jedem Projekt gleich den vollen, aber zumindest dazu fähig wäre) nutzt.
Wenn jemand einfach nur sein C Programm mit ein paar angenehmeren C++ Features vermengt und so einen hässlichen C/C++ Mix erschafft, da nutzt für mich eben schon
Quote:
|
Originally Posted by Nightblizard
Viele sind einfach auf der Stelle stehen geblieben und denken noch immer C++ sei C mit Klassen, doch es ist so viel mehr!
|
genau das.
Quote:
So bald du auch nur die kleinste Sache aus C++ nutzt, ist dein Programm ein C++ Programm. Warum? Weil C++ fast vollständig abwärtskompatibel ist, C jedoch nicht aufwärtskompatibel.
Als Beispiel:
|
Hälst du micht für blöd? Das ist mir klar, das macht dich aber nicht zum C++ Programmierer.
Oder willst du mir erzählen, wenn man C++ c&p't, ist man auch ein C++ Programmierer?
Quote:
|
Das hier ist kein C-Code! Du bewegst dich erst im Bereich C, wenn du absolut gar nichts aus C++ nutzt!
|
Das ist richtig, es ist hässlich ;O
Quote:
Das zu verstehen ist wichtig, da das diese ganze Diskussion unsinnig macht.
Falls es also noch immer nicht verständlich war versucht den obigen Code in einem C Compiler und in einem C++ Compiler zu erstellen. Ersteres wird nicht funktionieren, da C new und die STL nicht kennt. Letzteres hingegen schon, da C++ die CRT kennt (und versteht).
|
Entweder hast du meinen Standpunkt nicht ganz verstanden, was gut möglich ist, da ich auch krank bin :p oder du hälst mich echt für blöd.
Mir ist klar, dass C++ Code nicht immer mit einem C Compiler kompilierbar ist (man beachte nicht immer! In einigen Fällen könnte man vielleicht mit ein paar Makros nachhelfen ;O), darum ging es mir auch gar nicht.
Nicht jeder, der ein Auto fährt, weiß auch genau, wie es zu bedienen ist. Jemand ohne Führerschein, der sich einfach hinter's Steuer eines Automatik-Autos setzt, kann mit ein bisschen Gas Geben auch fahren, ist für mich aber kein Autofahrer.
Das ist man für mich erst, wenn man den Führerschein hat -> Die Sprache C++ mit all ihren Paradigmen kennt und nicht einfach nur C um ein paar Klassen aus der STL erweitert.
Quote:
|
Nutzt du etwas aus C++ programmierst du in C++ aufgrund dieser Tatsache. Und da ist es egal, ob es sich dabei um einen Anfänger handelt oder nicht.
|
Und wieder ein falscher Ansatz.
Ich sagte nicht, dass Anfänger Sein damit etwas zu tun hat.
Ich sagte, dass man als C++ Anfänger wohl kaum die ganzen C++11 Features kennt, geschweige denn davon Gebrauch machen kann, also kannst du diese nicht aufführen, wenn es darum geht, ob C++ für Anfänger nutzerfreundlicher ist.
Quote:
Du musst auch nicht erst C lernen, um den obigen Code zu verstehen! Warum? Weil die sprachlichen Grundlagen in C++ sich mit denen aus C überschneiden. Sprich, du lernst die C Syntax als "Nebeneffekt". Genau so wie du die C++ Syntax teilweise lernst, wenn du dir C anschaust. Jedoch lernst du dadurch nicht C++!
So kann ein C'ler nichts mit new oder std::cin.get(); anfangen, aber ein C++'ler weiß über Funktionsaufrufe, Pointer und Schleifen Bescheid!
|
Du scheinst wirklich nicht alles aufmerksam gelesen zu haben, das sagte ich bereits vorher, als ich selbst argumentierte, dass es keinen Sinn macht, C vor C++ zu lernen.