Das ganz normale Chaos, täglich frisch auf den Tisch. Direkt aus der hintersten Provinz in die Metropolen von Groß-Blogistan.


  1. Programmieren
  1. Programmieren

    Fri, 15 Feb 2008 09:34:17 GMT

    Programmieren: Chart

    Wer kennt das nicht. Ich habe 30 Jahre Erfahrung in der Programmierung und kenne das sehr gut aus eigener Erfahrung. Doch man kann Etwas dagegen tun. Und das muss man auch, wenn man als Programmierer überleben will.

    Die gängigen Tipps für die Programmierung größerer Objekte sind: Modularisierung, kleine Module, Objektorientierung, gut und sauber definierte Abstraktionsebenen, und vor Allem: Erst denken, dann schreiben. Wer am Anfang viel Zeit in eine gute Konzeption steckt, ohne dabei groß Code zu schreiben, der spart diese Zeit gegen Ende vielfach wieder ein. Und noch später bei der Wartung erst recht. Gut Ding will Weile haben. Wer schnell ankommen will, sollte langsam gehen. Beides gilt ganz besonders für Softwareentwicklung. Die meisten Menschen können sich den Grad an Komplexität einer Software gar nicht vorstellen, geschweige denn, dass ein Produkt überhaupt eine solche Komplexität haben kann. Wirklich große Softwareprodukte von heute reichen in ihrer Komplexität bereits an einfache biologische Organismen heran. Wer versucht, so Etwas mal eben schnell hinzuschmieren, wird scheitern.

    Ich weiss, das hören (oder lesen) Auftraggeber nicht gerne. Heute muss Alles schnell-schnell gehen. Nur, je schneller man hier am Anfang vorgeht, um so langsamer ist man insgesamt. Das ist schlicht unausweichlich. Daran ändert auch der größte Druck seitens der Marketingexperten Nichts. Genau genommen ist es (für die Marketingexperten) sogar noch schlimmer:

    Um eine Software wirklich gut und richtig zu gestalten, muss man wissen, wie man es zu machen hat. Man kann jedoch nur dann wirklich wissen, wie Etwas zu machen ist, wenn man es gemacht hat. Denn nur dann, wenn man eine Aufgabe einmal erfolgreich zu Ende gebracht hat, weiss man, wie es geht. Alles Andere davor sind allgemeine Theorien, allgemeine Erfahrungen und allgemeine, aus ähnlichen Projekten abgeleitete Lehrmeinungen. Aber wie das konkrete Projekt am Besten zu erstellen ist, das weiss man erst, wenn man es erfolgreich einmal erstellt hat. Konsequenterweise müsste man also, wenn das Projekt fertig gestellt ist, dieses auf keinen Fall den Marketingexperten zum Verkauf überlassen, sondern es komplett wegwerfen und noch einmal machen. Diesmal richtig und mit der gewonnenen Erfahrung. Erst danach erhält man ein wirklich abgeschlossenes, rundes Produkt. Über den Lebenszyklus eines solchen Produktes betrachtet lohnt sich eine solche Vorgehensweise sogar, und das vielfach. Leider können die meisten Menschen nicht über so lange Zeiträume hinweg denken. Diese Art der Softwareentwicklung bleibt daher wohl für immer den Hobbyisten überlassen.