Wäre C++ so erfolgreich ohne die Unterstützung von C?
-
Ohne die Möglichkeit, in C++ auch C schreiben zu könne, wäre C++ niemals so erfolgreich gewesen. Das war ja der hinterhältige Plan: Ahnungslose C-Programmierer mit vielen neuen Sprachfeatures zu einer scheinbar kompatiblen Sprache locken, so dass sich die Sprache schon weit verbreitet hat, bevor jemand was merkt.
Ohne C++ würden wir alle entweder in C oder in richtigen High-Level-Sprachen programmieren, und wären in jedem Fall sehr viel glücklicher.
-
Programmieren denn die Ahnungslosen C Programmierer denn nun auch wirklich C++ oder verwenden sie einfach nur ein paar kleine Features und glauben denn C++ zu nutzen und zu verstehen ?
-
Knuddlbaer schrieb:
Programmieren denn die Ahnungslosen C Programmierer denn nun auch wirklich C++ oder verwenden sie einfach nur ein paar kleine Features und glauben denn C++ zu nutzen und zu verstehen ?
Sie benutzen einen C++ Compiler. Das reicht.
-
Knuddlbaer schrieb:
Programmieren denn die Ahnungslosen C Programmierer denn nun auch wirklich C++ oder verwenden sie einfach nur ein paar kleine Features und glauben denn C++ zu nutzen und zu verstehen ?
Nein, kaum ein C++-Programmierer versteht C++ wirklich.
Das gehört ja auch zum hinterhältigen Plan: C++ ist so kompliziert, dass einerseits jeder, wenn er mit den Mängeln von C++ in Kontakt kommt, das Problem erstmal bei seinem eigenen unzureichenden Verständnis vermutet und sich somit noch weiter mit C++ beschäftigt; und andererseits C++ dadurch über jede Kritik erhaben ist, dass man Kritikern immer vorwerfen kann, sie würden irgendetwas nicht verstehen.
-
namespace invader schrieb:
Ohne C++ würden wir alle entweder in C oder in richtigen High-Level-Sprachen programmieren, und wären in jedem Fall sehr viel glücklicher.
ach, ich glaube die richtigen fans sind eigentlich ganz glücklich mit c++. merkt man z.b. daran, dass sich viele darüber freuen freuen, dass im nächsten standard noch mehr total abgefahrene sachen reinkommen, die zu einem teil reparaturmassnahmen für frühere schnellschüsse und zum anderen teil rein esoterischer selbstzweck sind, nur um die grenzenlose abstraktionsgier der fangemeinde zu befriedigen.
-
namespace invader schrieb:
Ohne C++ würden wir alle entweder in C oder in richtigen High-Level-Sprachen programmieren, und wären in jedem Fall sehr viel glücklicher.
Welche sollte das denn deiner Meinung nach sein? Oder glaubst du, wenn es C++ nicht gegeben hätte, hätte jemand eine High Level Sprache entwickelt, die es jetzt nicht gibt?
-
Ohne C wäre C++ nicht einmal bekannt geworden. Punkt.
Es hat einfach nur den Namen & die Syntax der damals sehr beliebten & sehr weit verbreiteten Sprache übernommen und misslungen erweitert. Da Programmierer von Haus aus neugierig sind und sich vor allem angesprochen fühlen, wenn man ihnen eine bekannte Syntax vorlegt, wurde C++ ausprobiert.
Das ist Tatsache. Warum? Ganz einfach: Schau dir doch mal die vielen OOP Sprachen an, die VOR C++ existierten. Deren Verbreitung lief & läuft gegen 0.
Und warum? ganz einfach: Weil sie sich nicht marketingtechnisch am Namen & Syntax einer verbreiteten Sprache vergriffen haben.
Das selbe passiert doch gerade mit C#. Kein Schwein würde C# verwenden, wenn es nicht so viele C++ Programmierer gäbe, die sich durch das C angesprochen fühlen. Zudem klingt # nach einer weiterentwicklung/erweiterung.
Wie oft traf ich Programmierneulinge, die gerade in die Programmierung eingestiegen sind und dann verwundert waren, dass C# keine weiterentwiclung/ keine neue version von C++ ist.
Das ist alles nur marketing. Wer etwas anderes behauptet, ist nur ein verblendeter Fanboy.
-
Das der Name ein Teil zur Verbreitung beiträgt ist bestimmt zu einem Teil wahr, aber ich glaube kaum, dass sich eine schlechte Programmiersprache nur wegen des Namens dennoch durchsetzt. Die Sprachen, die keine Existenzberechtigung haben, verschwinden. Die, die eine haben bleiben. Und für C++ war durchaus ein Bedarf da. Darum hat sich die Sprache ja entwickelt, respektive hat Stroustrup die entwickelt..
C++ sollte halt die Hardwarenähe von C mit den Hochsprachenmöglichkeiten von bereits vorhandenen Sprachen verbinden, was auch recht gut gelungen ist.Klar. Ohne C gäbe es C++ nicht, aber dafür wahrscheinlich eine andere Sprache, die die gleichen Bedürfnisse abdeckt. Und warum ist es schlecht einen ählnichen Namen dafür zu haben, wenn es auch in der Tat ähnlich ?!
OK. Bei C# ist bestimmt sehr viel Marketing dabei, aber auch hier sehe ich nichts bösartiges. Ich finde das sehr einheitlich und klar. (Bei Anfängern kann es bestimmt Verwirrung hervorrufen, aber mit der Zeit finde ich es so logischer..)
Allerdings wäre C# auch nicht so bekannt, wenn es nur Mist wäre. Die Verbreitung war halt wahrscheinlich am Anfang schnell, als sie gewesen wäre mit einem völlig anderem Namen, aber den Erfolg hat es bestimmt durch die Features, die es bieten kann und nicht nur wegen dem Erfolg der Vorgänger. Und auch hier ist die Syntax sehr an C++ angelehnt, was ich auch nicht als schlecht empfinde.. Warum sollte man denn eine neue, für die Entwickler verwirrende Sprache erfinden, wenn es schon best-practise gibt? Da haben alle etwas davon. Die Sprache wird mehr benutzt und die Entwickler müssen sich weniger darauf umschulen, wie denn hier jetzt das und das gemacht wird, sondern auf die wessentlichen Dinge der Sprache konzentrieren.
-
Aus meiner Perspektive stellt sich das alles ein bisschen anders dar. Ich hab 1990 mit Programmieren angefangen. Damals waren BASIC, Turbo Pascal und Assembler angesagt. C führte auf dem PC (und erst recht auf den anderen üblichen Heimcomputern) ein absolutes Nischendasein. Dann kam plötzlich dieser C++-Hype auf, alles war auf einmal objektorientiert, OOP wurde teilweise mit GUI und Windows zu einem undifferenzierten Mischmasch verrührt. Viele haben sich C++ angeschaut, fanden es anscheinend ganz toll, haben aber den "++"-Teil nicht wirklich verstanden, und sind bei C ohne ++ hängen geblieben, auch bekannt als C/C++
(Ein Professor von mir hat sogar C++ grundsätzlich als C ausgesprochen. :D) Dass man überhaupt C als von C++ eigenständige Sprache wahrnimmt ist mir erst seitdem Linux eine größere Verbreitung hat bewusst geworden, das muss so um 1999 gewesen sein. Vorher, und besonders in den 80ern, kann ich mir C eigentlich nur als eine Sprache von vielen vorstellen, die eigentlich nur in der Unix-Welt verbreitet war.
Dass das alles nicht so ganz richtig sein kann ist klar, denn die Winapi war auch schon 1990 in CTrotzdem, mich würden mal persönliche Berichte von Leuten interessieren, die auch um die Zeit oder eher angefangen haben. Wie war das damals mit C und C++?
-
Das Problem, das heute alle C++ nur im heutigen Kontext sehen. Aber C++ ist über 25 Jahre alt. Und man sollte sich einfach mal in die damaligen Zeit zurück versetzen. Als es noch kein Java, C# usw. gab. Dann weiß man, warum C++ erfolgreich wurde. Und das zu Recht.
Es gab ja damals schon OO-Sprachen, wie z.B. Simula. Stroustrup hatte ja damals ein Projekt in Simula programmiert (als es noch kein C++ gab). Simula war von der Sprache her sehr geeignet für sein Projekt. Leider war aber die Implementierung sehr langsam, so das die Laufzeit seines Programms nicht zufriedenstellend war.
Also setzte er sein Projekt in einer schnelleren Sprache um: BCPL. Diese Sprache war aber für größere Projekte total ungeeignet.
Dann tauchte aber C auf, welches seine Stärken in UNIX unter Beweis stellte.Und so hat er ja eigentlich C und Simula zu C++ gemacht.
Bei den ganzen heutigen C++-Flames wird leider immer vergessen, das Stroustrup sehr wohl viele sprachen ausprobierte, es aber damals nunmal keine Sprache wie C++ gab. Es ist ja nicht so, das Java und C# am Horizont auftauchte, und Stroustrup gesagt hat "Na, da werde ich denen aber mal mit C++ zuvor kommen!". Nein, er hat in der Praxis festgestellt, das er sein Projekt nicht optimal lösen konnte. Simula war OO, aber sehr langsam. BCPL nur für Mini-Projekte geeignet. C war schnell und für größere Projekte geeignet, aber nicht OO. Also nimmt man das beste aus Simula und C: C with Classes. Und C++ entwickelte sich dann aus C with Classes.
Er hat damals einfach ein Problem erkannt. Und C# und Java gab es halt damals noch nicht. Und C++ ist nunmal viele Jahre (egal wie sch*** ihr es findet) führend gewesen.
-
Bashar schrieb:
Wie war das damals mit C und C++?
C wurde vor allem mit den Heimcomputern mit 68K CPU in den späten 80ern in Hobby-Kreisen populär, deren Betriebssysteme zumindest teilweise in C geschrieben waren.
Da damals wegen der hohen Hardware-Anforderungen und Kosten wenige Hobbyisten Zugriff auf eigene *n*x-Systeme hatten (wenn nicht über die Uni), spielten die genannten 16/32-bit Homecomputer eine wichtige Rolle bei der Popularisierung von C. Auch relativ verbreitet waren damals Sprachen aus der Richtung pascal (im Unterricht), modula 2, am Rande auch oberon.