Стандартная библиотека

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

В некоторых случаях стандартная библиотка описывается в стандарте языка (Python, Perl, Java), в некоторых — отдельными стандартами (C) или определяется исходя из практического наличия функций в реализациях языка (Basic, Pascal).

В зависимости от возможностей языка, стандартная библиотека может содержать:

Обычно стандартная библиотека содержит основные алгоритмы и структуры данных, необходимые для:

  • работы с динамической памятью
  • файловыми операциями ввода-вывода
  • операциями ввода-вывода данных на терминал
  • конвертацией данных между типами
  • функции для работы со строками
  • математические операции
  • функции для работы с сетью
  • функции для обеспечения обработки исключений и ошибок в программе
  • функции для поддержки многопточности

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

Первый: стандартная библиотека должна содержать в себе только те процедуры и функции, которые используются практически всеми и обладают максимальной универсальностью. В частности, этой позиции придерживался Бьярне Строуструп (автор языка C++) [1]

Второй: стандартная библиотека должна содержать в себе максимально-возможное количество типичных алгоритмов, обеспечивать простую работу с большинством (в идеале, со всеми) объектами, с которыми может взаимодействовать программа. Одним из примеров реализации этого принципа является язык Python, девиз которого "Battery included" (батарейки в комплекте) [2].

Реализация в синтаксисе языка

В некоторых языках функции ввода/вывода являются частью синтаксиса самого языка (Basic, Pascal, Python) и не могут быть воспроизведены как самостоятельная функция (процедура). С одной стороны это позволяет создавать более гибкий синтаксис для операторов вывода (например, оператор вывода на экран writelen в Pascal существенно проще по синтаксису чем функция printf в стандартной библиотеке языка C), с другой стороны это усложняет синтаксис языка и затрудряет использование компилятора языка для создания программ не использующих эти возможности (например, в встраиваемых компьютерах).

Ссылки

  1. Bjarne Stroustrup. The C++ Programming Language. 3rd Ed. Addison-Wesley, 1997
  2. Guido van Rossum. Python Tutorial

См. также

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home