Skip to main content

Что такое стандартная библиотека?

В компьютерном программировании стандартная библиотека - это набор функций, констант и других определений языка, которые включены в состав пакета основного компилятора. Стандартная библиотека предоставляет программисту базовую возможность создавать простые программы и манипулировать основными данными. Он также предоставляет возможность каким-либо образом взаимодействовать с операционной системой хоста, чтобы обработка информации не стала тривиальной задачей. Все реализации данного языкового компилятора включают в себя стандартную библиотеку, и, как правило, она имеет обратную совместимость с предыдущими версиями библиотеки, поэтому базовая функциональность языка сохраняется с течением времени.

Библиотека, в широком смысле, представляет собой набор процедур, функций, классов или других элементов компьютерной программы, доступных для программиста. Эти элементы обычно группируются в категории, которые определяют их функциональные возможности, такие как ввод, вывод и обработка процесса. Некоторые библиотеки полагаются на другие библиотеки, чтобы работать должным образом, концепция называется зависимостью. Важные переменные, такие как максимальное значение целочисленного типа данных или числовое определение нулевого символа, могут храниться в библиотеке. Они также обычно являются уже скомпилированными частями компьютерного кода, предотвращая вредные модификации и защищая проприетарный программный код.

Стандартная библиотека стремится включать все основные и необходимые функции, которые потребуются широкому кругу программ для того или иного запуска. Это должно быть сбалансировано с учетом слишком большого количества библиотек. Большая стандартная библиотека означает, что в некоторых языках размер дистрибутива готовой программы может быть невероятно большим и раздутым из-за библиотек, которые никогда не используются. Включение слишком большого количества файлов в стандартную библиотеку также может привести к проблемам при разработке языка, поскольку редко используемые функции необходимо обновлять при каждом изменении языка или компилятора, увеличивая объем работы, необходимый для нового выпуска.

И наоборот, стандартная библиотека, имеющая слишком мало функций, может привести к тому, что каждому программисту придется настраивать внешние библиотеки по своему выбору и включать их специально в выпуски программ. Это может привести к типу вторичного, поддерживаемого сообществом обслуживания стандарта, который не контролируется командой разработчиков основного языка. Некоторые языки адаптируются к таким ситуациям путем включения часто используемых библиотек в стандартный набор, когда сообщество прояснило необходимость.

У разных языков разная философия дизайна о том, что должно быть в стандартной библиотеке. Кроме того, механизм создания компилятором исполняемой программы также может определять параметры библиотеки. Интерпретируемые языки обычно имеют большую коллекцию библиотек в своем стандартном наборе, в то время как языки низкого уровня часто имеют очень мало.