Berühmte Entwickler ganz privat

Kurse sind Zeitverschwendung

23.11.2009 von Simon Hülsbömer
Die Programmierer Charles Moore, Thomas Kurtz, Alfred Aho, Peter Weinberger, Brian Kernighan und James Gosling geben Expertentipps.
"Visionäre der Programmierung - die Sprachen und ihre Schöpfer" ist im O'Reilly-Verlag erschienen.
Foto: O'Reilly

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 zweiten Teil von "Berühmte Entwickler ganz privat" ausgewählte Interviewpassagen mit dem Forth-Erfinder Charles H. Moore, dem BASIC-Designer Thomas E. Kurtz, den awk-Entwicklern Alfred Aho, Peter Weinberger und Brian Kernighan sowie Java-Vater James Gosling (die deutschen Übersetzungen stammen von Thomas Demming). Die vollständigen, um viele Seiten längeren Interviews lesen Sie nur im O'Reilly-Buch.

Charles H. Moore, Forth: Mehr Kerne kennen

Wie wird Forth zukünftige Computersysteme beeinflussen?

Chuck: Das ist schon geschehen. Ich arbeite seit 25 Jahren an Mikroprozessoren, die für Forth optimiert sind, und derzeit an einem Mehrkernprozessor, dessen Kerne Forth-Computer sind.

Was bietet Forth? Als einfache Sprache ermöglicht es einen einfachen Computer: 256 Wörter im lokalen Speicher, zwei Push-down-Stacks, 32 Anweisungen, asynchrone Operationen, einfache Kommunikation mit den Nachbarn. Klein und mit wenig erforderlicher Leistung.

Forth-Vater Charles H. Moore

Forth unterstützt hoch faktorisierte Programme. Die sind gut geeignet für die parallele Verarbeitung, was bei einem Mehrkernprozessor benötigt wird. Viele einfache Programme fördern das sorgfältige Design jedes einzelnen Programms. Und benötigen vielleicht nur ein Prozent des Codes, der sonst geschrieben würde.

Immer, wenn ich höre, wie Leute mit Millionen von Codezeilen prahlen, weiß ich, dass sie ihr Problem gar nicht verstanden haben. Es gibt keine aktuellen Probleme, die Millionen von Codezeilen nötig machen. Vielmehr gibt es sorglose Programmierer, schlechte Manager und unmögliche Kompatibilitätsanforderungen.

Das Programmieren vieler kleiner Computer mit Forth ist eine exzellente Strategie. Andere Sprachen haben gar nicht die Modularität und Flexibilität. Und da die Computer kleiner werden und per Netzwerk miteinander kooperieren (Smart Dust?), wird das die Umgebung der Zukunft sein.

IT-Pioniere
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.

Nicht aufs Warten warten müssen

Was ist der größte Fehler, den Sie in Bezug auf Design oder Programmierung gemacht haben? Was haben Sie daraus gelernt?

Chuck: Vor etwa 20 Jahren wollte ich ein Tool zum Designen von VLSI-Chips entwickeln. Ich hatte auf meinem neuen PC kein Forth, daher gedachte ich, einen anderen Ansatz zu versuchen: Maschinensprache. Nicht Assembler, sondern tatsächlich die Eingabe der Hex-Anweisungen.

Ich baute den Code so auf, wie ich es in Forth getan hätte, mit vielen einfachen Wörtern, die hierarchisch interagieren. Es funktionierte. Ich nutzte das Tool zehn Jahre lang. Aber es war schwierig zu warten und zu dokumentieren. Schließlich baute ich es in Forth nach, und es wurde kleiner und einfacher.

Meine Schlussfolgerung war, dass Forth effizienter als Maschinensprache ist. Teils aufgrund seiner Interaktivität und teils aufgrund seiner Syntax. Ein netter Aspekt von Forth-Code ist, dass Zahlen durch die Ausdrücke dokumentiert werden können, aus denen sie berechnet wurden.

Welchen Ratschlag würden Sie einem Anfänger geben, damit das Programmieren angenehmer und effektiver wird?

Chuck: Nun, sicherlich nicht überraschenderweise würde ich sagen, dass Sie lernen sollten, Forth-Code zu schreiben. Selbst wenn Sie das nicht beruflich tun werden, werden Sie einige dieser Lektionen lernen und eine bessere Sichtweise auf jegliche andere Sprache erhalten. Wenn ich ein C-Programm schrieb - ich habe kaum welche geschrieben - tat ich das im Forth-Stil mit vielen einfachen Unterroutinen. Selbst wenn das teurer war, lohnte es sich meiner Meinung nach, weil die Wartbarkeit deutlich stieg.

Die andere Sache ist, das Ganze einfach zu halten. Der unvermeidliche Trend beim Entwerfen eines Flugzeugs oder beim Schreiben einer Anwendung, selbst einer Textverarbeitung, ist, Features über Features hinzuzufügen, bis das Ganze nicht mehr wartbar ist. Es wäre besser, ein halbes Dutzend Textverarbeitungen zu haben, die sich auf unterschiedliche Märkte konzentrieren. Das Schreiben einer E-Mail mit Word ist verrückt, 99 Prozent der verfügbaren Features sind unnötig. Sie sollten einen E-Mail-Editor haben. Es gab solche Editoren, aber der Trend scheint davon wegzuweisen. Mir ist nicht klar, warum das so ist.

Halten Sie es einfach. Wenn Sie mit einer Anwendung zu tun haben, wenn Sie ein Teil des Designteams sind, versuchen Sie, die anderen Leute auch davon zu überzeugen, es einfach zu halten. Greifen Sie nicht zu weit vor. Lösen Sie keine Probleme, von denen Sie glauben, dass sie in Zukunft auftreten könnten. Lösen Sie die Probleme, die Sie jetzt haben. Vorausschauen ist sehr ineffizient. Sie können sich zehn Sachen vorstellen, die passieren könnten, von denen nur eine eintreten wird. Also haben Sie viel Aufwand umsonst getrieben.

Wie erkennen Sie einen guten Programmierer?

Chuck: Ein guter Programmierer schreibt schnell guten Code. Guter Code ist korrekt, kompakt und lesbar. "Schnell" bedeutet Stunden oder Tage.

Ein schlechter Programmierer wird über das Problem sprechen wollen, Zeit mit Planung statt mit Schreiben verschwenden und auf dem Schreiben und Debuggen von Code seine Karriere aufbauen.

Thomas E. Kurtz, BASIC: OOP ist ein großer Betrug

Welches ist der beste Weg, eine neue Programmiersprache zu erlernen?

Tom: Wenn Sie einmal wissen, wie man programmiert, und die Konzepte kennen (zum Beispiel wie Speicher alloziert wird), ist das Erlernen einer neuen Sprache einfach, wenn man Zugriff auf eine Referenzanleitung und eine ordentliche Implementierung (zum Beispiel einen Compiler) hat. Ich habe das häufig getan.

An einem Kurs teilzunehmen, ist eigentlich ziemliche Zeitverschwendung.

BASIC-Programmierer Thomas E. Kurtz (Foto: MIT)

Jeder Programmierer, der sein Geld wert ist, wird während seiner Arbeitsjahre viele Sprachen erlernen. (Ich habe vermutlich mehr als 20 verwendet.) Neue Sprachen lernt man, indem man die Anleitung liest. Mit ein paar Ausnahmen haben die meisten Programmiersprachen eine ähnliche Struktur und ein ähnliches Verhalten, daher lassen sich neue Sprachen ziemlich einfach erlernen, wenn es eine ständige Beschreibung für sie gibt.

Nachdem Sie sich einmal mit den spracheigenen Begriffen vertraut gemacht haben (Was bedeutet Polymorphismus?), geht der Rest quasi von allein.

Ein Problem beim heutigen Programmierstil ist, dass es keine Anleitungen gibt - nur Tools zum Bauen von Schnittstellen. Sie sind so entworfen, dass Programmierer viele der Anweisungen nicht mehr Buchstabe für Buchstabe tippen müssen, sondern eher wie bei den CAD- und CAM-Tools der Ingenieure vorgehen können. Für Programmierer der alten Schule ist das ein Gräuel - ich möchte den ganzen Code tippen, Zeichen für Zeichen.

Es gab in der Vergangenheit Versuche, das Tippen zu vereinfachen (für schlechte Schreiber oder Studenten), indem Makros bereitgestellt wurden (wie zum Beispiel ein einzelner Tastendruck für das Schlüsselwort LET), aber so richtig durchgesetzt haben sie sich nie.

Ich versuche momentan, eine Sprache zu erlernen, die wohl "objektorientiert" ist. Es gibt keine Referenz, zumindest habe ich keine gefunden. Die verfügbaren Anleitungen zeigen nur ziemlich triviale Beispiele und nutzen 90 Prozent des Platzes dafür, zu zeigen, warum OOP (objektorientierte Programmierung, Anm. d. Red.) eine so überragende "Religion" ist. Ich habe Freunde, die an einem C++-Kurs teilgenommen haben, aber es war aus pädagogischer Sicht ein Desaster. Meiner Meinung nach ist OOP ein großer Betrug, der an der Community begangen wird. Alle Sprachen wurden ursprünglich für eine bestimmte Klasse von Anwendern entworfen - FORTRAN für umfangreiche numerische Berechnungen und so weiter. OOP war dafür gedacht, dass seine Anwender sich überlegen fühlen können, weil sie "dazugehören". In Wahrheit ist der einzige wichtige Aspekt des OOP ein Ansatz, der schon vor Jahrzehnten entwickelt wurde: das Kapseln von Unterroutinen und Daten. Alles andere ist nur Dekoration.

Man schütze sich vor Hardware und Reglementierung!

Hat die Entwicklung der Hardware auch die Entwicklung der Sprache beeinflusst?

Tom: Nein, weil wir dachten, die Sprache sei ein Schutz, um nichts über die Hardware wissen zu müssen. Als wir BASIC entwarfen, machten wir es unabhängig von der Hardware, es gibt nichts in der Sprache oder in den Features, die später dazukamen, was die Hardware widerspiegelt.

Das gilt nicht für einige der frühen PC-Versionen von BASIC, die mit dem, was wir in Dartmouth gemacht haben, nur wenig zu tun haben. So gibt es zum Beispiel in einer PC-Version von BASIC eine Möglichkeit, den Inhalt eines Speicherplatzes zu setzen oder auszulesen. Bei unserem eigenen BASIC gab es das nie. Daher waren diese PC-BASICs natürlich außerordentlich abhängig von den Hardwaremöglichkeiten, und das Design dieser PC-Sprachen spiegelte die Hardware wider, die verfügbar war.

Wenn Sie mit Leuten sprechen, die Microsoft BASIC entwickelt haben, würden die sagen, dass die Features der Sprache durchaus durch die Hardware beeinflusst waren, aber das war bei Dartmouth mit dem ursprünglichen BASIC nicht der Fall.

Wenn Sie heute eine komplett neue Programmiersprache für die Lehre entwerfen müssten - wie stark würde sie BASIC ähneln?

Tom: Sie wäre sehr ähnlich, da die Prinzipien, denen wir folgten, immer noch gültig sind. So haben wir zum Beispiel versucht, eine Sprache zu bauen, die man sich leicht merken kann, sodass eine Person, die sie längere Zeit nicht verwendet hat, trotzdem schnell wieder damit arbeiten kann.

Wir haben versucht, eine Sprache zu bauen, die ein Minimum an esoterischen Anforderungen hat. Wenn Sie zum Beispiel in FORTRAN eine Zahl ausgeben wollten, mussten Sie eine Format-Anweisung verwenden und genau angeben, wie sie ausgegeben werden soll. Das ist sehr esoterisch, insbesondere für Leute, die die Sprache nicht so häufig verwenden, daher haben wir in BASIC dafür gesorgt, dass die Zahl einfach von vornherein so ausgegeben wird, wie es unserer Meinung nach sinnvoll ist. Wenn es eine Integer-Zahl war, gaben wir sie als Integer-Zahl ohne Dezimalpunkt aus, obwohl wir intern mit Gleitkommazahlen arbeiteten. Wenn Sie eine Zahl eingeben wollten, mussten Sie sich um das Format auch keine Gedanken machen. Sie hätten einfach die gewünschte Formel hingeschrieben, und die Zahl wäre genutzt worden - ohne Einschränkung auf ein bestimmtes Format beim Eingeben von Daten.

Das orientiert sich meistens an Tabellenkalkulationen - die sind darin richtig gut. Sie könnten festlegen, dass Sie für Zahlen in einer bestimmten Spalte eine Ausgabe mit einer festen Anzahl von Nachkommastellen haben wollen. Wenn Sie sich nicht darum scheren, erhalten Sie die allgemeine Form. Ich denke, so ungefähr gingen wir auch in BASIC vor. Wir haben die Eingabe von Zeichen zugelassen und machten es dabei sehr einfach: ohne Regeln.

Während der 70er und 80er Jahre haben wir in Dartmouth strukturierte Programmierversionen von BASIC entwickelt und die Elemente hinzugefügt, die für eine objektorientierte Programmierung notwendig sind. Wir würden heute nichts anders machen.

Alfred Aho, awk: Die Dokumentation ist unbezahlbar

Wie setzen Sie eine Programmiersitzung nach ein paar Tagen fort? Oder nach ein paar Monaten?

Alfred Aho

Al: Wenn jemand ein Programmiersystem (oder auch ein Buch) schreibt, muss er das gesamte System irgendwie in seinem Kopf unterbringen. Durch Unterbrechungen werden die Gedankenketten aufgebrochen, aber wenn es nur ein kurzer Zeitraum ist, kann man normalerweise schnell wieder einsteigen, wenn man sich den Code erneut anschaut. Nach einer Unterbrechung, die Monate oder Jahre dauert, bin ich schnell dabei, Artikel, Bücher oder Notizen zu studieren, in denen ich meine Algorithmen dokumentiert habe, um mein Wissen über das, was ich vorher programmiert habe, wieder aufzufrischen.

Ich denke also, dass gute Kommentare und eine gute Dokumentation sowohl für die ursprünglichen Systemdesigner als auch für andere, die den Code über lange Zeit warten müssen, sehr hilfreich sein können. Brian (Kernighan, Anm. d. Red.) hat ein Protokoll der wichtigsten Entscheidungen geführt, die wir beim Entwerfen der Sprache getroffen haben. Ich fand dieses Protokoll unbezahlbar.

Brian Kernighan, awk: Über die Lehre zur Perfektion

Was hat Sie an der Programmierung gefesselt?

Brian Kernighan

Brian: Ich kann mich gar nicht an ein besonderes Ereignis erinnern. Ich hatte sogar erst einen eigenen Computer, als ich im College anfing, und bis ich wirklich gelernt hatte, zu programmieren (in FORTRAN), dauerte es noch mal ein Jahr oder so. Ich denke, am meisten Spaß beim Programmieren hatte ich bei einem Ferienjob beim Projekt MAC am MIT im Sommer 1966, bei dem ich an einem Programm arbeitete, das ein Aufgabenband für den brandneuen GE 645 in den ganz frühen Tagen von Multics erstellte. Ich schrieb in MAD, das viel einfacher und eleganter als das vorher von mir genutzte FORTRAN oder COBOL war. Und ich nutzte CTSS, das erste Timesharing-System, das unendlich einfacher und angenehmer als Lochkarten war. Das war der Punkt, an dem der Aspekt des Rätsellösens bei der Programmierung wirklich Spaß machte, da die mechanischen Details nur noch sehr selten im Weg standen.

Wie können Programmierer ihr Programmieren verbessern?

Brian: Schreiben Sie mehr Code! Und dann machen Sie sich Gedanken über den Code, den Sie geschrieben haben, und versuchen, ihn zu überarbeiten, um ihn besser zu machen. Lassen Sie andere Leute den Code lesen, wenn das möglich ist, egal ob als Teil Ihres Jobs oder als Teil eines Open Source-Projekts. Es ist auch hilfreich, verschiedene Arten von Code zu schreiben, eventuell sogar in unterschiedlichen Sprachen, da Sie damit Ihr Repertoire an Techniken erweitern und mehr Wege haben, Programmierprobleme anzugehen. Lesen Sie zum Beispiel den Code von anderen Leuten und versuchen Sie, Features hinzuzufügen oder Fehler zu beheben - das wird Ihnen zeigen, wie andere Leute Probleme angehen. Schließlich geht nichts über das Unterrichten des Programmierens, um den eigenen Code zu verbessern.

Peter Weinberger, awk: WYSIWYG pur

In welchem Umfeld sehen Sie AWK als bessere Wahl als zum Beispiel SQL an?

Peter: Nun, die beiden lassen sich nicht einfach vergleichen. awk hat keine expliziten Typen, SQL ist damit völlig überladen. awk liest und schreibt also Strings, aber es ist darauf ausgelegt, manche Strings als Zahlen zu betrachten, wenn man es darum bittet. SQL nutzt Joins, aber um das Gleiche in awk zu machen, muss man ein Programm vorweg laufen lassen, vermutlich join. SQL führt Sortier- und Aggregationsaufgaben aus, aber im Unix-Umfeld wird das durch sort und dann ein erneutes Pipen in awk oder ein anderes Unix-Programm umgesetzt. Kurz gesagt war awk dafür gedacht, Teil einer Sequenz von nacheinander ausgeführten Befehlen zu sein. SQL war dafür gedacht, mit Daten verwendet zu werden, die in einer eigenen Struktur versteckt sind, wobei der Anwender das Schema kennt. Schließlich sind in SQL Jahre der Abfrageoptimierung eingeflossen, während Sie in awk das bekommen, was Sie sehen.

James Gosling, Java: Spezifikationen lösen keine Probleme

Wie ändert das allgegenwärtige Internet das Konzept einer Programmiersprache?

Java-Erfinder James Gosling ist einer der bekanntesten Entwickler der Welt.

James: Die Anwesenheit eines Netzwerks beeinflusst das Design einer Programmiersprache in sehr großem Maße. Sobald Sie ein Netzwerk haben, müssen Sie sich mit Diversität und Kommunikation beschäftigen. Sie müssen darüber nachdenken, was für Auswirkungen Fehler haben können. Sie müssen sich um die Zuverlässigkeit sorgen.

Insbesondere müssen Sie sich darüber Gedanken machen, wie Sie stabile Systeme aufbauen können, die auch bei Teilausfällen noch funktionieren, da die meisten Systeme, die gebaut werden und tatsächlich für etwas nützlich sind, genau die sind, bei denen immer irgendetwas kaputt ist.

Die klassische Sichtweise der Software war immer "ganz oder gar nicht": Es funktioniert, oder es funktioniert nicht. Viele der Überlegungen dazu fließen in Dinge wie den Java-Exception-Mechanismus, das starke Typensystem, den Garbage Collector (erklärendes PDF, Anm. d. Red.), die virtuelle Maschine und so weiter ein. Ich glaube, das Netzwerk hat wirklich grundlegende Auswirkungen auf das Design von Java - die Sprache und die virtuelle Maschine.

Glauben Sie eher an eine formale oder eine vollständige Spezifikation eines Projekts, bevor Sie es bauen?

James: Ich habe gegenüber formalen Spezifikationen gemischte Gefühle. In der Theorie sind sie wohl toll, aber in der Praxis scheinen sie nicht ganz so gut zu funktionieren. Für ziemlich kleine Sachen mag es noch in Ordnung sein, aber je größer es wird, desto weniger formal werden die Spezifikationen, da sie nicht sehr gut skalieren.

Wichtiger ist noch, dass formale Spezifikationen ein Problem häufig gar nicht lösen. Sie verschieben das Problem vom Finden von Fehlern in Ihrer Software hin zum Finden von Fehlern in Ihrer Spezifikation. Und es kann wirklich schwer sein, Fehler in der Spezifikation zu finden.

Selbst wenn Sie keine formalen Spezifikationen schreiben, führen Sie eine Art Anforderungs-Analyse durch - viele Organisation gehen da nach dem Wasserfallmodell vor, bei dem eine Gruppe eine Anforderungsdokument schreibt, das sie an die Leute übergibt, die dann tatsächlich das Ding bauen müssen.

Das Anforderungsdokument ist häufig mit Problemen angefüllt, und solange es keine wirklich kurze Feedbackmöglichkeit gibt, finden Sie keine Fehler in den Spezifikationen. Währen ich also im Allgemeinen ein großer Fan von Spezifikationen und Anforderungen und solchen Sachen bin, tendiere ich dazu, sie nicht furchtbar ernst zu nehmen, und ich erwarte auf keinen Fall, dass sie große Probleme lösen.

Hat Java die Meinung der Öffentlichkeit über Plattformunabhängigkeit beeinflusst?

Die Öffentlichkeit denkt nicht nach

James: Ich glaube nicht, dass die Öffentlichkeit über Plattformunabhängigkeit nachdenkt. Aus meiner Sicht als Entwickler, der diese großen Systeme aufbaut, sollte die Öffentlichkeit aber eigentlich auch nichts davon mitbekommen müssen.

Wenn Sie Ihre EC-Karte in einem Geldautomaten nutzen, bemerken Sie vermutlich gar nicht, dass da mit großer Sicherheit schon Java-Code genutzt wird, der auf Sun-Rechnern und IBM-Rechnern und Dell-Rechnern und HP-Rechnern und anderen Kisten mit x86-Architektur und PowerPC-Architektur und sonst was läuft.

Viele dieser Prozesse laufen hinter den Kulissen ab. Sie fahren mit der U-Bahn: Wenn Sie eine dieser Transponderkarten nutzen, wie der Oyster-Card bei der Londoner U-Bahn, nutzen Sie ein auf Java basierendes System.

Sie nutzen tatsächlich alle die Plattformunabhängigkeit, und wenn die Konsumenten genötigt würden, sich der Programmiersprache bewusst zu sein, mit der das System aufgebaut wurde, wäre das ein echter Fehler des Systems. Eines unserer Ziele ist, vollständig transparent zu sein und von den Leuten gar nicht bemerkt zu werden. Natürlich bringt das die Marketingleute zur Verzweiflung. Sie würden gerne immer dann ein Java-Log anzeigen, wenn Sie die Zugangssperren bei der U-Bahn passieren, aber das wäre verrückt.

Neulich in...
Neulich...in Düsseldorf
Wie gut kann man sich auf ein Bewerbungsgespräch vorbereiten? Manchmal auch ein bisschen zu gut, wie der Fall einer SAP-Beraterin in Düsseldrof zeigt.
Neulich..im Vertriebsgespräch
Bekanntlich hat ja Facebook WhatsApp für 19 Milliarden Dollar übernommen. Spätestens jetzt kennt jeder diese Smartphone-App, die unter anderem einen populären Ersatz für die gute alte SMS darstellt.
Neulich...in einem Startup
Das junge Berliner Startup Fairnopoly hat einen radikal-kreativen Ansatz gewählt, um für Vertrauen und Transparenz im Internet zu werben.
Neulich...in Melbourne
Umlaute sind im englischen Sprachraum eine große Herausforderung und führen zuweilen zu Verzögerungen beim Kaffeegenuss, wie ich als Berater in Australien erfahren musste.
Neulich...in Turnschuhen beim Vorstand
Die Themen Kleidung und Etikette werden auf unserer Homepage gut angenommen und von vielen Lesern kommentiert. Diesmal ärgert sich (ein jüngerer?) IT-Manager über seine krawattentragenden Kollegen. Seiner Meinung nach sollten solche äußerlichen Aspekte keine Rolle spielen:
Neulich...beim Abwerbeversuch
Auf der verzweifelten Suche nach den begehrten SAP-Beratern verlieren manche Headhunter den Durchblick, wie das folgende Telefonat zeigt.
Neulich... in einem Münchner Restaurant
Ja, es gibt die Personaler und Geschäftsführer, denen Etikette über alles geht und die auch kein Pardon kennen, wenn sich der Bewerber einen - aus Sicht eines weniger anspruchsvollen Zeitgenossen - unerheblichen Fehler leistet. Die fachliche Qualifikation kann die beste sein, der konmmunikative Aspekt in Ordnung und selbst der Sympathiefaktor hoch - es reicht dennoch nicht.
Neulich...auf Youtube
Kreative Bewerbung: Was früher konservative Personalchefs zur Weißglut getrieben hätte, scheint heute im Zeitalter von Social Media als Kreativleistung honoriert zu werden.
Neulich...am Telefon
Die interkulturelle Kommunikation hat ihre Tücken, auch wenn man scheinbar dieselbe Sprache spricht. Das musste ein bayerischer Softwareunternehmer erfahren, als er bei seinem Kunden in Österreich anrief.
Neulich...als die Einbrecher kamen
Wer abends lange im Büro bleibt, lebt manchmal gefährlich, wie Markus Müller von Ubitexx berichten kann.
Neulich...beim Essen mit dem Chef
Wenn der Chef den künftigen Mitarbeiter zum Essen einlädt, ist schon im Taxi Vorsicht geboten.
Neulich...nach dem Urlaub
Not macht erfinderisch. Wenn es dann gleich zur Gründung einer Firma führt - umso besser.
Neulich...in einer Offshoring-Diskussion
Die indischen Provider setzen die etablierten Provider mit günstigen Preisen, qualifizierten Arbeitskräften und länderübergreifenden Lieferprozessen unter Druck.
Neulich im ...Café St. Oberholz
Berlins digitale Bohème trifft sich im St. Oberholz, ist manchmal schlampig und verliert so manches.
Neulich...Stress mit dem iPhone
So mancher Manager braucht etwas länger, seine Feinmotorik mit dem iPhone abzustimmen.
Neulich...in der Mittagspause
Die EM ist lange vorbei, doch in Deutschlands Firmen finden täglich Fußballturniere statt - am Tischkicker. Und die Kollegen auf Geschäftsreise sind dank Cloud-Lösung live dabei.
Neulich...in einer IT-Abteilung
In jeder Stellenanzeige werden Soft Skills wie Kommunikationsstärke oder Teamfähigkeit betont. Das interessierte einen Junginformatiker allerdings wenig.
Neulich in ... einem Biergarten
Sobald das Wetter schön wird, strömen die bayerischen Beschäftigten in die Biergärten. Je nach Unternehmenskultur darf auch mal das eine oder andere Meeting - wie das heute neudeutsch heißt - unter blühenden Kastanienbäumen bei einem (alkoholfreien) Bier stattfinden. <br/><br /><br /><a href="http://www.computerwoche.de/index.cfm?pid=3149&pk=2488130" target="_blank">Zum Beitrag</a>
Neulich auf ... der Toilette eines Konzerns
Dass es zwischen IT- und Fachabteilung nicht immer harmonisch zugeht, gehört zum Unternehmensalltag. Allerdings nehmen die Konflikte manchmal skurrile Züge an.
Neulich in ... einer wichtigen Sitzung
Banker sind Zahlenmenschen, also geübt im Umgang mit Zahlen und Tabellen. Manche von ihnen haben aber eine Aversion gegen Tabellen, wenn sie von einem bekannten Softwareprogramm erstellt wurden.
Neulich...im Zug zur CeBIT
Was tun, wenn Mitreisende unangehem riechen?
Neulich in ... Vapi bei Mumbai
Antrittsbesuch bei unserer Tochtergesellschaft in Vapi unweit vom indischen Mumbai, um mir einen Überblick vor Ort zu verschaffen, wie die IT dort arbeitet.
Neulich...auf einem Polizeirevier
Ein IT-Freiberufler musste auf das Polizeirevier, weil er auf unkonventionellem Wege seine Unterlagen für das Finanzamt entsorgen wollte.
Neulich bei ... einem Management-Essen
Im Unternehmen wird beschlossen, einen Web-Filter zum Blocken von unseriösen Web-Seiten zu installieren. (Foto: Ilan Amith/Fotolia.com)<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1895894/index.html" target="_blank">Zum Beitrag</a>
Neulich in ... einem Berliner Meldeamt
Jeder elektronischer Reisepass braucht einen Fingerabdruck. Eine Berlinerin bekam ihren neuen Ausweis auch ohne und musste sich dafür nicht die Finger abhacken lassen. (Foto: Digital Stock) <br/><br /><br /><a href="http://www.computerwoche.de/knowledge_center/security/1883805/" target="_blank">Zum Beitrag</a>
Neulich in ... Singapur
Für die Eröffnung des Regional Headquarters Asia von Rohde & Schwarz in Singapur wünschte sich der lokale CEO etwas Besonderes <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1937748/" target="_blank">Zum Beitrag</a>
Neulich in ... Paris
Ein Jahr lang dauerte unser Projekt bei Alcatel in Paris, in dem es unter anderem darum ging, Prozesse vollständig auf eine modellgetriebene Entwicklung umzustellen. Gleich unsere erste Sitzung bot eine Überraschung.. <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/2353046/" target="_blank">Zum Beitrag</a>
Neulich in ... einem Chef Meeting
Die Blackberry-, Smartphone- und sonstige mobile Kommunikation geht den Chefs langsam auf die Nerven. <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1929363/" target="_blank">Zum Beitrag</a>
Neulich in...einer deutsch-amaerikanischen Sitzung
Besprechungen mit Amerikanern können so locker und entspannt sein, wenn man zwei Grundregeln nicht vergisst.
Neulich in ... einer schwedischen Kleinstadt
Nach einem Zwischenstopp in Kopenhagen lande ich in einer kleinen schwedischen Stadt und treffe dort den internen Projektleiter, um die Großveranstaltung, die ich am nächsten Tag moderiere, zu besprechen: <br/><br /><br /><a href="http://www.computerwoche.de/index.cfm?pid=3149&pk=2349225" target="_blank">Zum Beitrag</a>
Neulich in ... Erlangen
Chefs können manchmal ganz schön nerven. Besonders wenn sie der Sekretärin in letzter Minute unnötige Arbeit aufbrummen.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/2357581/" target="_blank">Zum Beitrag</a>
Neulich … am Telefon mit dem CEO eines Softwareherstellers
Bis sich ein Unternehmen für eine Software entscheidet sind in der Regel viele Sitzungen nötig. Ein IT-Techniker nahm eine Abkürzung und rief den Chef des Softwareherstellers selbst an. <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1908132/" target="_blank">Zum Beitrag</a>
Neulich in ... Saigon
Der erfahrene Vertriebsleiter eines Softwarehauses hatte in Asien zu tun und machte Station auch in Saigon <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1927198/" target="_blank">Zum Beitrag</a>
Neulich in ... Hannover
Liebe geht durch den Magen, Hannover nicht. Wer mehrere Tage auf der CeBIT verbringt, braucht einen robusten Magen und sollte keinen Gedanken an Service in der Gastronomie verschwenden.
Neulich in ... Palo Alto
Die Zeiten, in denen Startups mit großem Pomp auftraten, sind offenbar vorbei, wie CW-Redakteur Sascha Alexander während seines Besuchs bei Qwaq in Kalifornien feststellte. <br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/arbeitsmarkt/1878214/" target="_blank">Zum Beitrag</a>
Neulich in ... Shanghai
Eines kann man den meisten deutschen Firmen gewiss nicht vorwerfen: Im Vergleich zu Betrieben aus anderen Ländern geben sie sich große Mühe, ihre Mitarbeiter auf den Auslandsaufenthalt vorzubereiten <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1935951/" target="_blank">Zum Beitrag</a>
Neulich ... um Mitternacht mit dem Blackberry
Ein CIO darf sich für nichts zu schade sein. Das zeigt das Beispiel eines Finanzvorstandes, der seinen IT-Chef wegen eines Blackberry-Problems aus dem Bett holte. <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1911086/" target="_blank">Zum Beitrag</a>
Neulich in ... Peking
Wer geschäftlich nach Peking reist, sollte gut zu Fuß sein und das Regencape parat haben. Diese Erfahrung machte Eckhard Schneider, Chief Technology Officer der Kommunikationsagentur Interone, auf seiner letzten China-Reise. (Foto: Arno Brignon - Fotolia.com)<br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/personal_management/1888741/" target="_blank">Zum Beitrag</a>
Neulich ... vor der Chefsitzung
Solides Service Level Management nützt nichts, sobald Blackberrys Probleme haben. (Foto: Fotolia, N. Pogson) <br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/personal_management/1898460/" target="_blank">Zum Beitrag</a>
Neulich im... "goldenen Dreieck"
Mathias Duda ist eigentlich Key Account Manager beim Softwarehaus Omikron. Auf einer Reise durch Myanmar und Thailand erlebte er das dortige Elend der Kinder und beschloss zu helfen. <br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/personal_management/1886036/" target="_blank">Zum Beitrag</a>
Neulich in ... Quebec
Wer sich auf internationalem Parkett bewegt, sollte Fremdsprachen beherrschen. Viele denken dabei nur an Englisch. In Quebec ist das ein Fauxpas. (Foto: Cybercrisi/Fotolia.com)<br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/personal_management/1894792/" target="_blank">Zum Beitrag</a>
Neulich ... beim Besuch der US-Niederlassung
Dass man bei einem Besuch in Bangalore nicht vor Ort mit dem rechnet, was man im Westen gemeinhin als neueste Hightech-Errungenschaften betrachtet, ist nichts Ungewöhnliches. Aber manchmal warten auch die USA mit Überraschungen auf: <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1934834/" target="_blank">Zum Beitrag</a> (Foto: Fotolia.com/Thaut Images)
Neulich in ... Amsterdam
Dass man in anderen Ländern regelmäßig auch andere Sitten vorfindet, ist eine oft zitierte und sehr zutreffende Regel. Die Niederlande bilden da keine Ausnahme. (Foto: Pixelio, Schubalu)<br/><br /><br /><a href="http://www.computerwoche.de/heftarchiv/2009/14/1226640/" target="_blank">Zum Beitrag</a>
Neulich im ... Metro-Supermarkt St. Augustin
Wir rücken mit zwei Autos an, um vorbestellte Kamellen, Bonbons etc. für den Bonner Rosenmontagszug zu kaufen. Pech! Unsere Ausweise galten nicht mehr! (Foto: Pixelio/Janine)<br/><br /><br /><a href="http://www.computerwoche.de/heftarchiv/2009/10/1226325/" target="_blank">Zum Beitrag</a>
Neulich in ... Bukarest
Wer Kooperationspartner in Osteuropa sucht, kann oft Abenteuerliches erzählen wie Dirk Buschmann von der KI AG aus Köln: Denn nicht jede Homepage hält, was sie verspricht. (Foto: Alexandra Bucurescu/Pixelio)<br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/arbeitsmarkt/1874262/" target="_blank">Zum Beitrag</a>
Neulich ... im Rechenzentrum
Unsere Hochverfügbarkeitssoftware ist die Beste, so der Vertriebsmann. Aber ausgerechnet Referenzkunden lassen einen manchmal alt aussehen. (Foto: Fotolia, PetrusB) <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1903912/" target="_blank">Zum Beitrag</a>
Neulich in ... Hannover (CeBIT 2010)
Es gibt bequemere Wege, als nach einem CeBIT-Tag mit der U-Bahn nach Hause zu fahren. Warum nicht zur Abwechslung den Fahrservice von Kanzlerin Angela Merkel in Anspruch nehmen? <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1931089/?r=456619212839138&lid=69228" target="_blank">Zum Beitrag</a>
Neulich in ... Bangalore
Indien ist für viele deutsche IT-Profis weit, weit weg. Für viele Inder hingegen rückt der deutsche Markt immer näher. <br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/arbeitsmarkt/1895465/" target="_blank">Zum Beitrag</a>
Neulich...auf dem Kopf eines Roboters
Der Kampf um die zu wenigen guten IT-Experten lässt die Arbeitgeber richtig kreativ werden, wie das aktuelle Beispiel der Antwerpes AG in Köln zeigt.
Neulich ... auf dem Oktoberfest
Was tun, wenn man mit Geschäftspartnern auf das Oktoberfest in München gehen will, aber vergessen hat, einen Tisch zu reservieren? Kreativ sein! (Nicky Graziosi/Fotolia)<br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/arbeitsmarkt/1874779/" target="_blank">Zum Beitrag</a>
Neulich in ... Taergoviste
Wer in Rumänien SAP einführen will, trifft zwar nicht mehr auf Vampire. Dafür auf abenteuerliche Technik. <br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1905777/" target="_blank">Zum Beitrag</a>
Neulich in ...Alicante
Die spanische Costa Blanca lockt auch IT-Freiberufler an. Arrangieren muss man sich nur mit längeren Mittagspausen.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/2360469/" target="_blank">Zum Beitrag</a>
Neulich in ... Buenos Aires
Alle für einen, einer für alle, heißt es so schön bei den drei Musketieren. Die Argentinier brauchen nur eine Tasse Tee und einen Strohhalm, um den Teamgedanken zu vermitteln.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/2360189/" target="_blank">Zum Beitrag</a>
Neulich ... auf einer Party
Jahrelang galten IT-Führungskräfte als die Langweiler, wenn sie auf privaten Parties über ihren beruflichen Alltag sprachen - SAP-Einführung, Migrationsprojekt, Server-Virtualisierung - geht`s noch fader?<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/2353682/" target="_blank">Zum Beitrag</a>
Neulich in ... Hannover
Wer die Telekom als 'ehemaliges verstaubtes Staatsunternehmen' bezeichnet, kann ins Schwitzen kommen, wie ein CW-Redakteur in Hannover feststellen mußte.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/http://www.computerwoche.de/karriere/karriere-gehalt/1938557/" target="_blank">Zum Beitrag</a>
Neulich ... auf einer Vernissage
Was haben Kunst und IT gemeinsam? Auf Anhieb nicht so viel. Manchmal kommt es aber zu einer ungewöhnlichen Konstellation:<br/><br /><br /><a href="http://www.computerwoche.de/karriere/freiberufler/1931023/" target="_blank">Zum Beitrag</a>
Neulich in ... einer Webagentur
Sein Auftreten ließ zu wünschen übrig, seine PC-Kenntnisse auch. Dennoch entpuppte sich ein Bewerber als bester Projektleiter, den Peter Schöner, Chef der Münchner Web-Agentur Memoray, je eingestellt hatte.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1899513/" target="_blank">Zum Beitrag</a>
Neulich in ... Singapur
Wer seinen Server-Betrieb nach Asien auslagern will, sollte keine Projektgewohnheiten wie in Deutschland erwarten. (Foto: Fotolia/deVice) <br/><br /><br /><a href="http://www.computerwoche.de/knowledge_center/it_services/1885866/" target="_blank">Zum Beitrag</a>
Neulich beim ... Treffen mit asiatischen Managern
Aus Gesprächen mit asiatischen IT-Dienstleister werden deutsche Manager manchmal nicht schlau. Warum das so ist, erklärt Michael Römer, Principal bei A. T. Kearney.<br/><br /><br /><a href="http://www.computerwoche.de/karriere/karriere-gehalt/1898417/index.html" target="_blank">Zum Beitrag</a>
Neulich ... in Facebook
Ein gutes Vorstellungsgespräch allein genügt nicht, um den begehrten Job zu bekommen. Diese Erfahrung machte ein Junginformatiker aus Baden-Württemberg. .<br/><br /><br /><a href="http://www.computerwoche.de/karriere/hp-young-professional/2362838/" target="_blank">Zum Beitrag</a>
Neulich in ... Santa Fe
Wenn sich die Informatikerin Sabine Niodusch am Flughafen in Santa Fe auf die Technik verlassen hätte, wäre sie heute noch nicht wieder in Hamburg. (Foto: Florian Hoffmann/Fotolia.com) <br/><br /><br /><a href="http://www.computerwoche.de/job_karriere/karriere_gehalt/1883322/" target="_blank">Zum Beitrag</a>

Den ersten Teil von "Berühmte Entwickler ganz privat" mit Gesprächen über C++, Python und APL lesen Sie hier.