Che cos'è la programmazione generica?
La programmazione generica è un tipo popolare di programmazione per computer scritto in modo tale da creare il codice più efficiente possibile consentendo al contempo al codice di applicarsi il maggior numero possibile di situazioni senza richiedere modifiche al codice originale stesso. Una volta che il codice è stato scritto, può eseguire solo le esatte funzioni per cui è stato scritto. Utilizzando la programmazione generica per creare codici che funzionano in diverse situazioni, pur eseguendo la stessa funzione generale di base, i programmatori possono utilizzare un singolo pezzo di codice in programmi diversi senza mai apportare modifiche all'originale.
Durante gli anni '70, la programmazione generica fece il suo debutto nei linguaggi di programmazione Ada e CLU. Poco dopo, altri linguaggi di programmazione come Java e C ++ hanno iniziato a utilizzare la programmazione generica per semplificare il codice di programmazione consentendo allo stesso codice di essere utilizzato in più scenari. Ogni linguaggio di programmazione ha un modo particolare di usare questo codice e termini diversi per descriverlo. "Generici", "modelli" e "tipi con parametri" sono stati tutti usati in un punto o nell'altro per fare riferimento a istanze di programmazione generica.
Per comprendere questo tipo di programmazione, è importante conoscere i concetti di base su come funziona un linguaggio di programmazione. Se, ad esempio, Paul vuole scrivere un programma che aggiunge due numeri insieme, digiterebbe il codice del computer per aggiungere due oggetti. Avrebbe quindi detto al computer che quei due oggetti sono numeri e che anche la risposta finale dovrebbe essere un numero.
Mentre il programma funzionerà finché Paul aggiunge due numeri, si bloccherà se tenta di aggiungere qualcos'altro insieme. Se Paul decidesse di mettere insieme delle frasi per formare un paragrafo, il programma andrebbe in crash perché troverebbe lettere e non numeri. Paul potrebbe risolvere questo problema, tuttavia, usando la programmazione generica per dire al programma originale di accettare un numero di variabili - sia numeri che lettere - e quindi il programma potrebbe creare frasi o eseguire aggiunte.
Non tutti i linguaggi di programmazione necessitano del concetto di programmazione generica per essere efficienti. Quelli che lo usano sono lingue tipicamente statiche. Questo significa semplicemente che il codice è impostato su pietra, per così dire, e non può essere modificato mentre il programma è in esecuzione. Per questo motivo, se un programmatore specificava che l'input dell'utente sarebbe stato in forma di lettere e l'utente digitava un numero, il programma non poteva usare l'input. Quindi i programmatori cercano di prevedere tutti i tipi di dati logici che un utente potrebbe inserire, siano essi numeri, lettere o simboli, e creare un programma che può adattarsi di conseguenza.