Cosa nasconde l'informazione?
Nascondere le informazioni, per quanto riguarda i computer, significa mantenere parti di un programma separate dalle altre parti. Ci sono molti motivi per farlo, uno dei più comuni è la facilità di aggiornamento. Se un programma mantiene il suo core separato dalla sua interfaccia, allora l'uno o l'altro può essere facilmente modificato senza influenzare il suo partner. Ciò consente piccole modifiche alle funzionalità principali del programma o il potenziale per un'interfaccia scalabile, il tutto fornendo un semplice processo di aggiornamento del programma. La parte fondamentale del nascondere le informazioni è l'incapsulamento, mantenendo ogni segmento del programma separato da tutti gli altri.
Esistono molti modi diversi per scrivere programmi per computer. Le prime lingue richiedevano al programmatore di scrivere il programma in una sequenza continua; la prima riga del programma era in cima e l'ultima riga era in fondo. Mentre il programma funzionava, sostanzialmente si spostava verso il basso attraverso il codice.
I moderni linguaggi di programmazione raramente funzionano in modo così rigoroso. Molti si basano su singoli "oggetti" che eseguiranno ciascuno un compito specifico. Questo non solo semplifica la scrittura del programma, ma consente a un pezzo di codice specifico di funzionare ripetutamente senza la necessità di essere riscritto. Ad esempio, se il programma richiede cinque volte un risultato da una specifica funzione matematica, anziché scriverlo cinque volte, i programmatori trasformeranno quella funzione in un oggetto e lo chiameranno cinque volte.
I processi utilizzati per nascondere le informazioni si basano sulla natura dell'oggetto della programmazione. Quando si scrive un programma che utilizza questi concetti, gli oggetti sono designati per le singole parti del programma. In questo caso, un oggetto specifico può avere più versioni, ognuna chiamata da un diverso segmento del programma. Nell'esempio sopra, la stessa chiamata viene effettuata cinque volte nel programma. Se due di quelle chiamate fossero state fatte dall'interfaccia e il programma principale ne avesse fatte tre, i programmatori avrebbero scritto due oggetti praticamente identici.
Il motivo principale per cui i programmi utilizzano il nascondimento delle informazioni è semplificare le modifiche. Se una parte del programma utilizza solo i propri oggetti, è più semplice modificare quella parte del programma. Se gli oggetti sono condivisi attraverso il programma, una piccola modifica potrebbe causare un errore in una parte apparentemente non correlata del sistema.
Il motivo secondario per nascondere le informazioni è la sicurezza. Se ogni parte di un programma funziona nel modo più indipendente possibile, è più difficile per un processo dannoso scorrere in cascata attraverso il sistema. Ad esempio, se un programma dannoso ottiene l'accesso a una determinata parte del sistema incapsulato, può accedere solo alla parte che incontra inizialmente. Le altre parti del programma rimangono, almeno temporaneamente, intatte.