Aangezien op het gebied van object-oriëntatie niet eens twee experts het echt met elkaar eens kunnen zijn ‘verwachtte ik dan ook wel wat dingen te lezen die niet geheel stroken met mijn eigen ervaring", schrijft Bert Bril.
Op het eerste gezicht leek het artikel ‘Schrijf je moers taal’ – over objectgeoriënteerde talen die te weinig semantiek bieden (Computable, 21 november) – wel leuk, met een eenvoudige uitleg en voorzien van voorbeelden. Aangezien in dit soort gebieden van de informatica geen twee experts het echt eens zijn, verwachtte ik dan ook wel wat dingen te lezen die niet geheel stroken met mijn eigen ervaring.
Dit is op zich geen probleem en kan zeker tot denken aanzetten. Ook begrijp ik dat de redactie van dit onderwerp misschien weinig kaas gegeten heeft. Dit is te billijken: men kan nu eenmaal niet overal verstand van hebben. Toch moet gewoon aandachtig lezen voldoende zijn om in te zien dat er hier toch echt iets mis moet zijn. Ik wil niet op details ingaan, maar lees gerust de stellingen nog eens na.
De stellingen
Wat zijn die ‘objecten’ in stelling 1? Toch niet de ‘bedrijfsobjecten’ van stelling 2. En zeker niet de objecten uit het blauwe kader, want die communiceren er lustig op los. Wat is eigenlijk de boodschap van deze stellingen? Alleen maar dat je het anders moet of mag noemen? Stelling 3 is gewoon onzin. Objecten worden _ontworpen_ als abstracte superklassen voordat er ook maar iets geïmplementeerd wordt. Elk goed ontworpen objectgeoriënteerd systeem heeft een netwerk van abstracte superklassen als ‘back-bone’. En wat te denken van: "Ongecontroleerd toepassen van overerving leidt tot niet-onderhoudbare programmatuur" – dat haalt je de koekoek. Dat kan ik ook: ‘Ongecontroleerd toepassen van views leidt tot niet-onderhoudbare databases’. ‘Ongecontroleerd gebruik van slappe verhaaltjes leidt tot slechte artikelen’.
Stelling 5 slaat echter alles. Niet: "Bedrijfsobjecten kunnen worden", nee: "Bedrijfsobjecten worden gespecificeerd en gemodelleerd zonder overerving". Ik neem aan dat de e-mails naar Booch, Rumbaugh, Martin, Fowler en zo voort al verstuurd zijn. Stelling 6. Ja schopt u hem maar in. Hij stond toch al open. Eindelijk. Stelling 7 is zinnig. Maar waarom kunnen de bekende ‘patterns’ (zie bijvoorbeeld Fowler: Analysis Patterns – Reusable object models) niet gewoon gebruikt worden?
De conclusies mogen er wezen. Ik denk echter dat ook hier weer grote ruzie zal ontstaan tussen de auteur zijn vermaarde collega’s, die menen dat je toch echt een stap met formele modellen moet tussenvoegen. Er is niets mis met andere meningen, als de auteur hier maar gewoon melding van maakt. Dit artikel ademt uit: ‘zo is het’, en kan derhalve geclassificeerd worden als misleidende informatie voor marketing-doeleinden.
Bert Bril
de Groot – Bril Earth Sciences bv
Enschede