Wat verbergt informatie?
Informatie verbergen, zoals die betrekking heeft op computers, gaat over het gescheiden houden van delen van een programma van andere delen. Er zijn veel redenen om dit te doen, een van de meest voorkomende is het gemak van upgraden. Als een programma zijn kern gescheiden houdt van zijn interface, dan kan het een of het ander eenvoudig worden gewijzigd zonder zijn partner te beïnvloeden. Dit maakt kleine wijzigingen in de kernfuncties van het programma of de mogelijkheid voor een schaalbare interface mogelijk, terwijl tegelijkertijd een eenvoudig upgradeproces voor het programma wordt geboden. Het belangrijkste deel van het verbergen van informatie is inkapseling, waardoor elk segment van het programma gescheiden blijft van alle andere.
Er zijn veel verschillende manieren om computerprogramma's te schrijven. Vroege talen vereiste dat de programmeur het programma in een doorlopende volgorde schreef; de eerste regel van het programma stond bovenaan en de laatste regel stond onderaan. Terwijl het programma functioneerde, ging het in principe omlaag door de code.
Moderne programmeertalen werken zelden zo strikt. Velen vertrouwen op individuele 'objecten' die elk een specifieke taak uitvoeren. Dit vereenvoudigt niet alleen het schrijven van het programma, maar maakt het ook mogelijk om een specifiek stuk code steeds opnieuw te laten werken zonder te hoeven worden herschreven. Als het programma bijvoorbeeld vijf keer een resultaat van een specifieke wiskundige functie vereist, in plaats van dat proces vijf keer uit te schrijven, maken de programmeurs van die functie een object en laten ze het programma vijf keer oproepen.
De processen die worden gebruikt bij het verbergen van informatie zijn afhankelijk van de objectkarakteristiek van programmeren. Bij het schrijven van een programma dat deze concepten gebruikt, worden de objecten aangewezen voor afzonderlijke delen van het programma. In dit geval kan een specifiek object meerdere versies hebben, die elk door een ander segment van het programma worden aangeroepen. In het bovenstaande voorbeeld wordt vijf keer dezelfde oproep gedaan in het programma. Als twee van die aanroepen via de interface werden gedaan en het kernprogramma drie, dan zouden de programmeurs twee objecten schrijven die vrijwel identiek waren.
De belangrijkste reden waarom programma's informatie verbergen, is het vereenvoudigen van wijzigingen. Als een deel van het programma alleen zijn eigen objecten gebruikt, is het gemakkelijker om dat deel van het programma te wijzigen. Als objecten binnen het programma worden gedeeld, kan een kleine wijziging een storing veroorzaken in een schijnbaar niet-gerelateerd deel van het systeem.
De secundaire reden voor het verbergen van informatie is beveiliging. Als elk onderdeel van een programma zo onafhankelijk mogelijk werkt, is het moeilijker voor een schadelijk proces om door het systeem te stromen. Als een schadelijk programma bijvoorbeeld toegang krijgt tot een bepaald deel van het ingekapselde systeem, heeft het alleen toegang tot het gedeelte dat het aanvankelijk tegenkomt. De andere delen van het programma blijven, althans tijdelijk, onaangeroerd.