Che cos'è una libreria standard?
Nella programmazione per computer, una libreria standard è una serie di funzioni, costanti e altre definizioni linguistiche incluse nel pacchetto principale del compilatore. La libreria standard offre a un programmatore la capacità di base di creare programmi semplici e manipolare dati di base. Fornisce inoltre la possibilità di interagire in qualche modo con il sistema operativo host in modo che l'elaborazione delle informazioni non diventi un compito banale. Tutte le implementazioni di un determinato compilatore di lingue includono la libreria standard ed è generalmente compatibile con le versioni precedenti della libreria, pertanto le funzionalità di base del linguaggio vengono preservate man mano che si evolve nel tempo.
Una libreria, in senso lato, è una raccolta di procedure, funzioni, classi o altri elementi di un programma per computer disponibili per un programmatore. Questi elementi sono generalmente raggruppati in categorie che ne definiscono la funzionalità, come input, output e gestione dei processi. Alcune librerie si affidano ad altre librerie per funzionare correttamente, un concetto chiamato dipendenza. Le variabili importanti, come il valore massimo di un tipo di dati intero o la definizione numerica di un carattere null, possono essere archiviate in una libreria. Inoltre, di solito sono già compilati pezzi di codice per computer, che impediscono modifiche dannose e proteggono il codice di programmazione proprietario.
Una libreria standard si sforza di includere tutte le funzionalità di base e necessarie che un'ampia gamma di programmi richiederà per essere eseguita in un modo o nell'altro. Questo deve essere bilanciato con l'inclusione di troppe librerie. Una libreria standard di grandi dimensioni significa che, in alcune lingue, la dimensione di distribuzione di un programma completato potrebbe essere incredibilmente grande e gonfia di librerie che non vengono mai utilizzate. Includere troppi file in una libreria standard può anche causare problemi con lo sviluppo della lingua, poiché le funzionalità utilizzate di rado devono essere aggiornate con ogni modifica della lingua o del compilatore, aumentando la quantità di lavoro richiesta per una nuova versione.
Al contrario, una libreria standard che ha funzionalità troppo ridotte può portare ogni programmatore a dover installare librerie esterne personalizzate e includerle in modo specifico nelle versioni del programma. Ciò può portare a un tipo di manutenzione secondaria, guidata dalla comunità, di uno standard che non è controllato dal team di sviluppo del linguaggio primario. Alcune lingue si adattano a tali situazioni includendo le librerie di uso comune nel set standard quando la comunità ha chiarito la necessità.
Lingue diverse hanno filosofie progettuali diverse su ciò che dovrebbe essere nella libreria standard. Inoltre, la meccanica alla base di come il compilatore crea un programma eseguibile può anche determinare i parametri per la libreria. Le lingue interpretate tendono ad avere una raccolta più ampia di librerie nel loro set standard, mentre le lingue di basso livello ne hanno spesso pochissime.