Wat is Literate Programming?
Geletterd programmeren is een strategie die dient als alternatief voor gestructureerd programmeren. Het achterliggende idee achter dit type programmering is om ontwikkelaars meer te laten focussen op logica en de stroom van hun denkprocessen bij het schrijven van programma's, in plaats van te vereisen dat de programmering wordt geschreven op een manier die is vereist door de computer waar de software is bedoeld voor gebruik. Met deze aanpak concentreert de programmeur zich meer op de meest logische manier om de programmering te schrijven zodat het het gewenste resultaat bereikt, en vervolgens op hoe de computer zo moet worden geprogrammeerd dat de software correct werkt.
In tegenstelling tot gestructureerd programmeren, maakt geletterd programmeren vaak gebruik van gewone taal gecombineerd met broncode die als traditioneel wordt beschouwd. Deze benadering maakt het voor de programmeur mogelijk om macro's te maken die beschrijvend en verklarend van aard zijn, op basis van de hoewel processen van de programmeur. Het eindresultaat is het creëren van een taal die de onderliggende programmeertaal effectief dekt met deze verklarende zinnen. Met geletterde programmering wordt de codedocumentatie als gelijk aan de code zelf beschouwd, in plaats van als een hulp- of hulpkarakter.
Een ander aspect dat helpt om geletterd programmeren te onderscheiden van gestructureerd programmeren, is de manier waarop de elementen van de programma's met elkaar omgaan. In gestructureerde programmeringssituaties is de interactie meer verticaal of hiërarchisch van opzet. Bij de geletterde benadering van de programmeertaak worden de elementen gedacht in termen van een verweven mozaïek, waarin de elementen min of meer gelijk zijn aan elkaar.
Voorstanders van geletterde programmering beweren meestal dat deze specifieke benadering het voor programmeurs noodzakelijk maakt om de denkprocessen die in het programma ingaan, te verwoorden. Dit biedt het voordeel dat fouten in de logica van de programmeur nauwkeuriger kunnen worden geïdentificeerd en wijzigingen of aanpassingen kunnen worden doorgevoerd waardoor de programmering nauwkeuriger en efficiënter kan werken. Bovendien helpt de aard van deze aanpak bij het creëren van een spoor van documentatie dat het eenvoudiger maakt om de logica die van toepassing is op de taak te reconstrueren. Wat betreft het aanpassen van de code voor specifieke toepassingen door eindgebruikers, maakt dit het eenvoudiger om de logische stroom voor het basisprogramma te volgen en een aftakpunt te identificeren om een specifieke taak uit te voeren. Vanaf dat moment kan de programmeur de code toevoegen of wijzigen, zodat essentiële functies niet worden aangetast en de nieuwe functie eenvoudig in het totale proces kan worden geïntegreerd.