Refactoring von C++

Programmiersprachen spielen keine wesentliche Rolle habe ich einst gelernt, es kommt vor allem auf die Qualität der Entwickler an. Diese Aussage stammt aus den frühen 80er Jahren, als Barry Boehm sein „Software Engineering Economics“ veröffentlicht hat. Und tatsächlich kann die beste Programmiersprache der Welt wenig ausrichten, wenn das Team inkompetent ist – und ein kompetentes Team wird auch mit altertümlichen Programmiersprachen noch etwas ausrichten können. Also alles in Butter? Gebt mir eine turingvollständige Sprache und ich wuppe Euch das Projekt? Wohl kaum.

Nur in wenigen Bereichen hat sich so viel in den letzten 25 Jahren verändert, wie bei Programmiersprachen und ihren Entwicklungsumgebungen. In den frühen 80ern hatte man im Wesentlichen noch die Auswahl zwischen C, COBOL, Pascal, PL/I und Assembler und bei den Entwicklungsumgebungen die Wahl zwischen vi, emacs und dem Host-Editor. Heute führen die Unterschiede zwischen den verschiedenen Sprachen und Umgebungen durchaus zu Produktivitätsunterschieden von einer Größenordnung, also um den Faktor 10; beim gleichen Team, wohlgemerkt.

Besonders fallen mir diese Unterschiede auf, wenn ich – wie heute einmal wieder – einem Kunden beim Umbauen einer C++ Anwendung helfe. Zur Erinnerung: C++ war der Versuch, dem guten alten C einige Konzepte überzustülpen, die bei flüchtiger Betrachtung als objektorientiert verkauft werden konnten. „Die C-Programmierer müssen dann nicht umlernen“ war die häufigste Begründung für diese Sprache. Ohne das belegen zu können, vermute ich, dass genau dieser Umstand – unreflektierter Einsatz objektorientierter Techniken von Programmierern, die nur in prozeduraler Programmierung ausgebildet sind – zu den häufigsten technischen Gründen für gescheiterte Projekte zählt.
Weiterlesen

Daten sammeln und Daten verlieren

Gestern ging die Meldung durch die Zeitungen, den britischen Steuerbehörden seien wieder einmal sechs CDs mit persönlichen Daten von Steuerpflichtigen abhanden gekommen. Schon letzte Woche war gemeldet worden, dass zwei CDs mit den persönlichen Daten aller Kindergeldempfänger in Großbritannien verloren gegangen sind – inklusive Bankverbindungen und der Social Security Number, der in angelsächsischen Ländern allgegenwärtigen Identifikationsnummer. Betrüger und Kriminelle können mit diesen Daten weitreichenden Schaden anrichten, vermutlich bis hin zu unberechtigten Zugriffen auf die Konten der Betroffenen.

Bei der derzeitigen Datensammelwut der Behörden möchte man sich gar nicht ausmalen, wie solche Meldungen in Zukunft aussehen: „DVDs mit sämtlichen Surfdaten der Stadt verloren gegangen“ – „Richter wegen Seitensprungs erpresst – gestohlene Handydaten wurden ihm zum Verhängnis“ – „Ausländischer Geheimdienst erpresst Politiker nach Besuch auf schwulen Webseiten“.

Eine Grundregel des Datenschutzes besagt, sowenig Daten zu erfassen, wie möglich. Die aktuellen Pläne von Bundesregierung und EU Kommission sprechen dieser Regel Hohn. Die Rundumerfassung des elektronischen Kommunikationsverhaltens (Vorratsdatenspeicherung für 6 Monate), des Reiseverhaltens (Flugdatenerfassung von Reisen in und aus der EU für voraussichtlich 12 Jahre) und möglicherweise auch des Straßenverkehrs (elektronische Erfassung der Fahrzeugkennzeichen) gefährden unseren Rechtsstaat, unsere Demokratie und letztlich unsere Gesellschaftsordnung. Sie vollendet das, was weder die RAF noch islamistische Terroristen vermocht haben: Die Errungenschaften der letzten 60 Jahre zu zerstören. Daher schließe ich mich auch der Verfassungsbeschwerde des Arbeitskreises Vorratsdatenspeicherung an.