Privacy Policy Cookie Policy Terms and Conditions Diskussion:Bjarne Stroustrup - Wikipedia

Diskussion:Bjarne Stroustrup

aus Wikipedia, der freien Enzyklopädie

Der Artikel ist nicht sehr gut. Was seine Arbeit in Bezug auf C++ angeht, empfiehlt sich das Lesen von the Design and Evolution of C++. Da beschreibt er genau, warum er die Sprache wie entworfen hat. Ich habe es gerade nicht hier, sonst würde ich mir die Mühe machen, mehr Details zu geben.

Was ich noch im Kopf habe:

Angefangen hat es mit Ole-Johan Dahls Simula, einer Sprache für Simulation. Von dort hat Stroustrup die Idee der Klassen übernommen. Er schrieb dann einen Übersetzter der "C with Classes" nach C übersetzt, dem Vorläufer von C++. Der erste C++-Compiler heißt "cfront".

Sprachlich hat C++ ziemlich viele Metafeatures, die viele verschiedene Programmierstile, ja sogar -paradigmen erlauben, wie z.B. generische Programmierung.

C++ ist ziemlich einzigartig, weil es sowohl recht low-level (Hardware-nah) wie C ist (C++ ist mit Abwärtskompatibilität entworfen worden, also derart, dass fast alle C-Programme auch gültige C++-Programme sind) und daher auf Effizienz achtet, was Rechenzeit- und Speicherverbrauch angeht, als auch high-level (höheres Abstraktionsniveau) Programmierung zulässt, insbesondere objektorientierte Programmierung.

Vernachlässigt wurden beim Entwurf von C++ die Bibliotheken. Java, das zu Anfang selbst von Sun als vereinfachtes C++ vermarktet wurde (zu einer Zeit, als Programmierer rar waren), hat gezeigt, welch große Erleichterung ein umfangreicher, standardisierter Satz an Bibliotheksfunktionalität bringt. Erst spät wurde eine umfangreiche Standardbibliothek definiert, weitere Beinahe-Standards werden durch das Boost Projekt (www.boost.org) gesetzt.

Auch war die Sprache derart komplex in einigen Bereichen, dass erst spät Compiler auf den Markt kamen, die den Sprachstandard vollständig implementierten.

Java hat auch gezeigt, dass die Interpretation auf einer virtuellen Maschine (Laufzeitoptimiert durch Just-in-Time-Übersetzung) nicht nur von Nachteil ist, sondern auch Vorteile bietet (neben Laufzeitprofiling ist auch Reflexion, Nachladen von Modulen zur Laufzeit einfach möglich). Im Prinzip wäre es auch möglich, vom traditionellen per Compiler übersetzten C++ auf ein ähnlich Java interpretiertes Auführungsmodell überzugehen.

Ein weiterer Ableger von C++ ist neben Java die Programmiersprache C# von Microsoft, das wiederum einige von Java beigesteuerte Ideen aufgreift.

Dahl (und weiter Software Pioniere) kann man übrigens im Netz sehen: http://www.sdm.de/en/it-wissen/themen/sdmkonf-2001/

Marc van Woerkom

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -