Gestructureerd programmeren: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
Zanden30 (overleg | bijdragen)
Zanden30 (overleg | bijdragen)
Regel 119:
Het hiërarchisch gebruik van het concept van de subroutine is analoog aan het concept van [[abstractie]] in de [[systeemtheorie]]. Door het samenbouwen van vele subroutines kunnen toch betrouwbare extreem complexe software systemen worden gebouwd, omdat het gehele systeem is opgebouwd uit van elkaar geïsoleerde kleine overzichtelijke systeem componenten die afzonderlijk gebouwd en getest kunnen worden. Op deze wijze worden gedetailleerde datastructuren, algoritmes en bewerkingen verborgen gehouden voor subroutines op hogere systeemniveaus.
 
[[Edsger Dijkstra]] wees als eerste in augustus 1969 op de noodzaak van deze aanpak vanwege de beperkte vermogens van de menselijke geest: "het is onmogelijk om de correctheid van een programma van vele pagina’s te doorgronden". Hij pleitte er daarom voor om programma's en hun subroutines altijd te beperken in omvang en te voorzien van een heldere, goed afgebakende, bij voorkeur enkelvoudige functionaliteit. Later is dit concept van abstractie en gebruik van subroutines terecht gekomen in de Object Oriented [[OO]] aanpak, waarbij subroutines vervangen zijn door "Methods" van Objecten of Klassen.
 
0.J. [[Dahl]], E.W. Dijkstra en C.A.R. [[Hoare]] publiceerden in 1972 gezamenlijk een boek waarin de basisprincipes van programmacorrectheid, gestructureerde data, programma hiërarchie en lagen van abstractie fundamenteel werden behandeld. Ook het denken in klassen met data hiding en encapsulation werd hierin geïntroduceerd. Deze 3 vroege computerprogramma wetenschappers hebben de basis gelegd voor alle latere werken over gestructureerd programmeren en de object oriented aanpak.