Voorjaarsconferentie 1999

Lezing

Heaven and Earth
software ontwikkelen onder UNIX en Windows

Joop Lanting
UNiSYS

<joop.lanting@nl.unisys.com>


Het is over het algemeen niet mogelijk een rechtstreekse vergelijking te maken tussen software ontwikkeling op UNIX (varianten daargelaten) en Windows (varianten OOK daargelaten). De platforms dienen geheel verschillende doeleinden en dat moeten de ontwikkelaars beseffen. UNIX is tegenwoordig HET systeem voor werkpaarden, Windows is de evolutionaire nazaat van de terminal (sorry, Bill). UNIX lijkt soms op een Meccanodoos, het is alsof je steeds van scratch af aan moet beginnen te bouwen, steeds dingen opnieuw moet uitvinden en het resultaat oogt niet zo fijn; je kunt alle kanten op maar de weg naar de oplossing leidt door moerassen en over bergen: een uitputtingsslag. Net het Aardse bestaan. Nee, dan Windows: de glimmende kartonnen dozen met gelikte ontwikkeltools schitteren je tegemoet. Een paar rake toetsaanslagen, een paar wizards starten en ... je applicatie is een wereldwondertje. Hoewel ... nu moet er nog even een optie aan worden toegevoegd! Een hopeloze zoektocht begint. Bestaat de oplossing die je zoekt eigenlijk wel? Stapels boeken, uren op websites, talloze telefoontjes ... en je schiet maar niets op. Zo volmaakt en zo beperkt is de Hemel (zeggen ze).

Ik sta in deze ervaringen niet alleen, heb ik gemerkt. Het probleem van platformkeuze, toolkeuze en taalkeuze is zo oud als de automatisering. Overigens kan geen van genoemde platforms de ander verslaan of overbodig maken, commerciele trucs daargelaten. Elk heeft unieke eigenschappen en nog decennia bestaansrecht. "De mensen passen zich wel aan ..." : niemand verhuist heden ten dage van de ene omgeving naar de andere om daar EXACT het zelfde te gaan doen. D.w.z. de meeste mensen breiden de functionaliteit van hun huidige systeem uit, nemen de andere omgeving ERNAAST voor nieuwe toepassingen of EVOLUEREN in hun carriere helemaal naar een andere vorm van computergebruik op een ander platform. De typische architectuurverschillen tussen deze platforms vormen de belemmeringen dan wel de drijfveren. Dat komt o.a. tot uiting in vragen als: "Waarom is er geen Clipboard en Undelete in UNIX?", "Waarom kun je niet twee of meer applicaties tegelijk opstarten op een Windows PC en inloggen op die van de buren?".

Stellingen:
. migreer nooit de implementatie van een project naar een ander platform, maar het ontwerp.
. imiteer een platform dat je goed kent niet op een vreemde plek.
. hecht geen geloof aan verzekeringen m.b.t. performance en doorlooptijden.
. reken er niet op dat een ervaren automatiseerder "zich wel even omschoolt".

Aan de hand van een paar praktijkervaringen met "hybride" projecten worden enige problemen belicht, die men op zijn weg mag verwachten bij software ontwikkeling op een van beide of beide platforms. Bepaalde zaken zijn direkt terug te voeren op de verschillen in architektuur, die dan ook luchtig worden behandeld, in anekdote vorm.

Doelgroep

De technische diepte is "ondiep" en de doelgroep is "algemeen".