Posts tonen met het label Cobol. Alle posts tonen
Posts tonen met het label Cobol. Alle posts tonen

maandag 30 juli 2007

Wat is software-ontwikkeling?

Een collega vroeg me laatst eens te kijken naar een leerboek over "software-ontwikkeling". Het was een aardig boek, ongeveer langs de lijnen zoals die boeken tegenwoordig worden geschreven; vrij veel OO en UML, maar verder het nodige over architecturen (J2EE, Corba, etc), wat over UIs, wat over projectaanpak (RUPachtig), etc. Ik vind dat toch wel raar. Want Sw-ontwikkeling is een "proces" met heel veel totaal verschillende
activeiten en deelgebieden erin.

Van oudsher werd het grootste deel overzien door de 'analist-programmeur'. Die deed een soort halfwas IA, hij ontwierp het systeem in techische zin, en programmeerde ook vrijwel alle aspecten; het "echte" programma, detransactiehandling, de JCL, de files, het scherm als daarvan sprake was. En hij organiseerde ook zijn eigen "project".

Ik ben nog zo opgeleid, maar dat begon toen al een beetje onzin te worden. Iig dreven informatie-analyse en min of functioneel ontwerp weg van het meer technische deel. En dat wegdrijven is alleen maar verder gegaan. "Business modeling" is een aparte tak van sport geworden, "architectuur" ook. DBA is al lang apart. GUI-design wordt door specialisten gedaan, en het resultaat wordt weer door andere specialisten
gebouwd. Etc, etc.

Bovendien: als die activiteiten nog in 1 hand vallen, is dat een probleem, want het resultaat zal suboptimaal zijn. De Programmero Universalis is dood.

En dan hebben we het nog niet over allerhande projectaanpakken, met bijbehorende pseudo-specialismen (agile, RUP, spiral, etc, etc).De nieuwe ontwikkelingen (SOA, SaaS, MDA/E, offshoring/outsourcing, enz) versterken dat alleen maar.

Dat zo zijnde: wat heeft heeft het dan voor zin om een "allesomvattend" verhaal te schrijven over software-ontwikkeling? Of het als 1 onderwerp te doceren, for that matter?

Die leerboeken leggen dan ook sterk de nadruk op OO en UML, maar ze durven zich er niet toe te beperken. Maar wat doen al die verhalen over Corba, RMI, J2EE, er dan toe? Waarom geen Flex, of C#, of VB, of voor mijn part Cobol en CICS? En waarom een of andere RUP-variant, en niet AD? Waarom geen verhaal over SaaS en de consequenties
daarvan?

En door al die aandacht voor die zaken er omheen, zal het OO-design verhaal ook de kern missen, denk ik. Want de grap is natuurlijk dat je OO moet gebruiken als een platform- en aanpak-onafhankelijke "taal" geschikt voor analyse en design, meer niet.

Ik denk dat het niet veel zin heeft om software-ontwikkeling, met alle aspecten die daarbij horen (van requirements gathering tot versiebeheer, en van testen tot design patterns) als 1 discipline te beschouwen. Dat is het niet meer, en dat is maar goed ook. Nu de leerboeken nog.

dinsdag 24 juli 2007

Dijkstra en Cobol

Elders schrijft Rik:

"Tja, het zijn allemaal bekende uitspraken van hem. De eerste die je hieronder noemt is ongetwijfeld bedoeld om het meest te shockeren. Enigszins vergelijkbaar met "goto statement considered harmful".

Ik denk overigens dat het ook zijn bedoeling was om te shockeren. Allerlei afgewogen meningen over talen of taalconstructies beklijven toch een stuk minder dan dit soort uitspraken."

En daarop heb ik geantwoord:
Natuurlijk was het zijn bedoeling om te shockeren. Maar als ie echt de boel op stelten had willen jagen, dan had ie moeten zeggen dat Cobol juist heel erg prima is, of zo. Dat was pas echt een provocatie geweest. Want dit was ook toen al zeer voorspelbaar. Dus het was niet alleen provocatie.

En er komt nog iets bij: het is duidelijk onzin. Waarom is die GOTO-uitspraak zo bekend geworden? Omdat ie weliswaar eenzijdig en overdreven, maar wel waar is. Dijkstra had een punt.

Maar wat betreft Cobol wist Dijkstra gewoon niet waar hij het over had. Er is een hoop mis met Cobol, maar het was toentertijd een doorbraak, de taal was stabiel en zeer goed bruikbaar, en de code was zelfs portable.

En als Dijkstra het beter wist, had ie zelf met iets zinnigers moeten komen, in plaats van dit soort kreten te slaken.

Maar erger is dat een hele generatie informatici het geroep van Dijkstra voor zoete koek hebben aangenomen, en kritiekloos dit soort kreten zat na te bauwen.

Ik heb menige verjaardag van mijn Geleerde Broer doorgebracht met het aanhoren van afgestudeerde of zelfs gepromovederde informatici die mij de les lazen over Cobol. Terwijl ze zelf de taal niet kenden. Maar Dijkstra had het gezegd dus was het waar.

Natuurlijk kun je Dijkstra daarvoor niet verantwoordelijk stellen, maar hij liet zich die rol van goeroe maar al te graag aanleunen. En hij voedde dat met dit soort gezwam.

Affijn, het is natuurlijk een Held van de Automatisering, maar niet mijn favoriet.

maandag 23 juli 2007

Genuezel uit Nuenen

Een oude tirade van Dijkstra, o.m. over Cobol. Blijkbaar dacht Dijkstra dat ie een kruising was tussen WF Hermans en Ludwig Wittgenstein.

Over Cobol:

"The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offence."

En de rest is navenant.