030
26.07.2004, 12:52 Uhr
0xdeadbeef
Gott (Operator)
|
Äh...ohne jetzt meine eigenen Fähigkeiten beurteilen zu wollen - es mag sein, dass bei Mickeysoft ein paar fähige Leute rumlaufen, aber die treffen scheinbar nicht die Entscheidungen über das Design des Codes. Allein solche Dinge wie die GUI im Kernel zu versenken zeugen nicht gerade von fähigen Softwarearchitekten, und Excel behauptet heute noch, dass 1900 ein Schaltjahr sei (Interessanterweise tut Visual Basic für Excel das aber nicht...). Da wird Code doppelt und dreifach geschrieben und nachher mal eben was drangehackt, damit es wieder halbwegs läuft. Wenn man mit Excel 4-Makros (bis heute die einzige Möglichkeit, die Funktionen in den Funktionsassistenten einzubauen) externe Funktionen aus einer DLL registriert, erwartet Excel ein struct mit einem void* und einem Pointer auf eine Callback-Funktion zurück, die den Speicher wieder freigibt - schönes Design? Wohl kaum, und das sind noch ein paar der harmloseren Beispiele.
Teilweise hat man das Gefühl, dass da ein paar alte BASIC- und Pascal-Programmierer dran gesetzt wurden, das C-Interface von QDOS zu erweitern, womit sie völlig überfordert waren, und dass später ein paar C-Programmierer ein C++-Interface darum basteln sollten, womit sie auch völlig überfordert waren, weil sie erstens keine Ahnung von C++ und zweitens ein darunterliegendes Interface hatten, das von Leuten, die keine Ahnung von C hatten, geschrieben wurde.
Vielleicht muss man den Leuten zugute halten, dass C++ zu dieser Zeit noch nicht standardisiert war, weswegen es weder gute C++-Compiler (man findet heute noch THROW/TRY/CATCH-Makros in MS-C++-Code) noch fähige C++-Programmierer gab (Stroustrup mal ausgenommen), aber warum man dann auf eine unfertige Sprache aufsetzt, will mir irgendwie nicht in den Kopf.
Microsoft hat im wesentlichen gute Manager und Anwälte . Bei den Programmierern wär ich mir da nicht so sicher, und die Softwarearchitekten entwickeln sich den hinterletzten Dreck zusammen. -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra |