ProgrammerenPraat
PierreGorissen: Hoort niet ook object oriënted programmeren bij?
GideonKlok: Dat is een hele goede opmerking.
Laat me dat dus even toelichten: Object geOriënteerd Programmeren (OOP) een vorm van Black-Box Abstractie. Er zijn meerdere strategieën geweest modulair programmeren, structureel programmeren, en andere hypes; zoals bijvoorbeeld Aspect Oriented Programming (AOP) waar op dit moment vrijwel iedereen achter aan holt.
Vragen: Zijn Classes objecten? Zijn functies of procedures objecten? Zijn getallen objecten? Het antwoord is verschillend per taal/omgeving: er zijn geen absolute antwoorden.
Een probleem van OOP is dat niemand echt weet wat het inhoud. Als alles wat OOP wordt genoemd ook OOP is dan betekend het niets. OOP in SmallTalk (gebaseerd op verzamelingen leer en dus met Classes, en Classes zijn objecten) is veel dieper en breeder dan in Java (waar Classes als regel geen objecten zijn). OOP in CommonLisp (CLOS) is nog weer anders maar vergelijkbaar met SmallTalk. Dan heeft SmallTalk ook weer een nakomeling gekregen met de naam Self die OOP zonder classes, maar met prototypen heeft.
Veel programmeer talen (bijvoorbeeld C en Java) ondersteunen alleen maar black-box abstractie, ik dacht dat Java 1.5 vrij recentelijk een beetje grammatica voor een map of een for-each had gekregen, wat dus een basis van Conventionele Interfaces zou kunnen zijn. Meta-Linguistische Abstractie wordt echter voor zo ver ik weet slechts in CommonLisp, Scheme en SmallTalk ondersteund. Dit is op zich natuurlijk niet erg: je hebt het vaak helemaal niet nodig.
Groter bezwaar tegen Fortran Familie talen is dat ze programmeren onnodig moeilijk (technische) maken en de programmeur veel onnodig (schrijf) werk laten doen. Tijd die nutiger besteed had kunnen worden.
Met uitzondering van 1 regel over Language Oriented Programming heb ik geprobeerd om dit enigszins tijdloos op te schijven en dus zoveel mogelijk moderne hypes te vermijden. De reden hiervoor is dat ik niet denk dat dit veel zal worden bewerkt door anderen en ik heb de tijd niet om het elke keer up to date te houden. De informatie die hier staat is al meer dan 30 jaar stabiel gebleven: er is sindsdien eigenlijk niets nieuws ontwikkeld. Ik heb ook niet echt het idee dat er binnenkort opeens een nieuw inzicht zal zijn.
Dat is best wel triest als je er over nadenkt.
Pagina's die naar hier verwijzen
Programmeren | ProgrammerenPraatReacties
Er zijn nog geen reacties bij deze pagina. [Reactie toevoegen]

Trackbacks (URL)
Er zijn geen trackbacks voor deze pagina.