Für ihr neues Buch "Visionäre der Programmierung - die Sprachen und ihre Schöpfer", das im O'Reilly-Verlag erschienen ist, interviewten Federico Biancuzzi und Shane Warden die Entwickler der 17 bekanntesten und am weitesten verbreiteten Programmiersprachen - von Basic, C++ und C# über Forth, APL, Python, Java und SQL bis hin zu UML, Objective-C, Perl und Postscript. In den Gesprächen mit Persönlichkeiten wie James Gosling, Charles Geschke, Thomas Kurtz, Don Chamberlin, Brad Cox und Bjarne Stroustrup kamen allerlei spannende Geschichten ans Tageslicht. Die Programmierprofis verrieten unter anderem auch, woran sie derzeit arbeiten, wie sie Ihre Sprachen weiterentwickeln möchten und wo sie die Zukunft der Entwicklergilde sehen. Lesen Sie im ersten Teil unserer neuen montäglichen Serie "Berühmte Entwickler ganz privat" ausgewählte Interviewpassagen mit dem C++-Erfinder Bjarne Stroustrup, dem Python-Vater Guido von Rossum und dem APL-Entwickler Adin D. Falkoff (die deutschen Übersetzungen stammen von Thomas Demming).
Der zweite Teil mit Interviews mit Entwicklern der Sprachen Forth, Basic und AWK folgt am kommenden Montag.
Bjarne Stroustrup, C++: Stochern und herumpicken
Wie debuggen Sie? Haben Sie Ratschläge für C++-Entwickler?
Bjarne: Durch Beobachten. Ich untersuche das Programm so lange und stochere darin mehr oder weniger systematisch herum, bis ich es soweit verstanden habe, dass ich eine sinnvolle Abschätzung darüber abgeben kann, wo der Fehler sitzt.
Testen und ein gutes Design sind eine weitere Komponente, um Fehler zu minimieren. Ich mag das Debuggen so wenig, dass ich es so weit wie möglich vermeide. Wenn ich der Designer einer Software bin, baue ich es so um Interfaces und Konstanten herum auf, dass es ziemlich schwer ist, ernsthaft schlechten Code zu erhalten, der sich kompilieren lässt und dann falsch abläuft. Dann gebe ich mein Bestes, um es testbar zu machen. Testen ist die systematische Suche nach Fehlern. Es ist schwer, schlecht strukturierte Systeme systematisch zu testen, daher empfehle ich auch hier eine klare Codestruktur. Das Testen kann automatisiert werden und lässt sich damit so reproduzierbar machen, wie es beim Debuggen gar nicht möglich ist. Eine Schar Tauben auf dem Bildschirm herumpicken zu lassen, um herauszufinden, ob sie eine GUI-basierte Anwendung knacken können, ist nicht der richtige Weg, um eine hohe Qualität sicherzustellen.
Ratschläge? Es ist schwierig, allgemeine Ratschläge zu geben, da die besten Techniken häufig davon abhängen, was bei gegebenem System und Entwicklungsumgebung möglich ist. Auf jeden Fall gilt aber: Finden Sie die wichtigen Schnittstellen, die systematisch getestet werden können, und schreiben Sie Testskripte, die das tun. Automatisieren Sie so viel wie möglich und lassen Sie diese automatisierten Tests häufig laufen. Und führen Sie auch Regressionstests regelmäßig durch. Stellen Sie sicher, dass jeder Einstiegspunkt in das System und jede Ausgabe systematisch getestet werden können. Bauen Sie Ihr System aus qualitativ hochwertigen Komponenten zusammen - monolithische Programme sind unnötig schwer zu verstehen und zu testen.
- IT-Pioniere
Sie prägten die Informationsgesellschaft: Menschen, die IT-Geschichte schrieben. Wir machen uns auf die Spurensuche. - Eric Danke (*1940)
Unter der Leitung des deutschen Informatikers wurde ab 1975 BTX entwickelt, der erste Online-Dienst mit einem Massenpublikum (Killerapplikation: Online Banking). Daraus ging später T-Online hervor. Danke hatte auch den Spitznamen BTX-Papst. (Andreas Dripke, euro. marcom) - Bill Gates (*1955)
Gates ist heute der bekannteste IT-Pionier überhaupt. Er gründete gemeinsam mit Paul Allen im Jahr 1975 die Microsoft Corporation, die die Betriebssysteme MS-DOS und Windows auf den Markt brachte. Seit 2008 kümmert sich Gates gemeinsam mit Ehefrau Melinda ausschließlich um seine eigene Stiftung und ist nebenbei mit rund 73 Milliarden Dollar Privatvermögen der aktuell reichste Mann der Welt. (Foto: Flickr.com) - James Gosling (*1955)
Gosling entwickelte in den frühen Neunzigern die objektorientierte Programmiersprache Java. Die ursprünglich "Oak" genannte Sprache ist plattformunabhängig und heute die wohl häufigst genutzte Programmiersprache der Welt. Gosling arbeitete fast 30 Jahre bei Sun Microsystems und kümmert sich heute bei Liquid Robotics um Wasserforschungs-Software. (Foto: CW-Archiv) - Paul Mockapetris (*1948)
1983 entwarf Mockapetris das Domain Name System (DNS), das sprechende Domains nach IP-Adressen auflöste und auf dem später das gesamte World Wide Web aufgebaut wurde. Heute ist Mockapetris Chairman bei Nominum, das DNS-Lösungen für TK-Unternehmen entwickelt. Nominum implementierte übrigens auch die DNS-Umleitungs-Technologie für das im Jahr 2011 vom Deutschen Bundestag verabschiedete "Zugangserschwerungsgesetz" zur Sperrung von Webseiten, das kurze Zeit später wieder außer Kraft gesetzt wurde. (Foto: Nominum) - Heinz Nixdorf (*1925, †1986)
Der deutsche Unternehmer entwickelte in den Sechzigern eine Rechenmaschine auf Röhrenbasis und war später maßgeblich am Siegeszug der Kleincomputer beteiligt. Die 1968 gegründete Nixdorf Computer AG wurde in den Siebzigern zum Marktführer und machte Nixdorf zu DEM deutschen Computerpionier. Sein Tod war so spektakulär wie sein Leben: Er starb auf der CeBIT 1986 an einem Herzinfarkt. (Foto: Jan Braun/HNF) - Ray Noorda (*1924, †2006)
Der amerikanische Geschäftsmann führte das Konzept der Netzbetriebssysteme ein und gründete 1982 Novell, Microsofts Gegenspieler in den Neunzigern. (Foto: CW-Archiv) - Larry Page (*1973)
Er war gemeinsam mit Sergey Brin Gründer von Google und gab dem PageRank-Suchalgorithmus seinen Namen, einem Werkzeug, an dem sich heute Wettbewerber, Webmaster und Medienhäuser in der ganzen Welt immer wieder die Zähne ausbeißen. - Claude Shannon (*1916, †2001)
Der amerikanische Mathematiker ist Mitautor des Shannon-Theorem, der grundlegenden Arbeit der Informationstheorie. Auf deren Basis arbeiten beispielsweise alle heutigen DSL-Modems. (Foto: MT Museum/HNF) - Travis Kalanick (*1976)
Der amerikanische Unternehmer gründete gemeinsam mit Garrett Camp im Jahr 2009 das Transportvermittlungs-Start-Up Uber, das seitdem den Taximarkt umkrempelte. Kalanick steht Uber bis heute als CEO vor. - Jack Kilby (*1923, †2005)
Der US-Ingenieur gilt als Miterfinder der integrierten Schaltung - zsusammen mit Robert Noyce. Kilby erhielt den Nobelpreis für Physik und gilt als "Vater des Mikrochips". - Jack Ma (*1964)
Der chinesische Unternehmer und Philantrop ist Gründer und CEO der Internet-Unternehmensgruppe Alibaba Group. Zunächst war er als Lehrer und Dozent für Englisch tätig, bevor er ins Web-Business einstieg und zu einem der einflussreichsten IT-Macher und vermögendsten Menschen der Welt aufstieg. - Marissa Mayer (*1975)
Die Vorstandsvorsitzende von Yahoo (seit 2012) studierte Informatik in Stanford und kam nach Forschungsjobs in der Schweiz Anfang 1999 als 20. Mitarbeiterin zu Google. Pionierarbeit leistete sie beim Desgin der schlichten Google-Suche und zeichnete danach für sämtliche Produktinnovationen von Google verantwortlich. Mitte 2012 schließlich wechselte sie zu Yahoo in die Geschäftsführung.