Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Обзор [ править ]

Стандартная библиотека языка , является часто рассматривается как часть языка с помощью своих пользователей , хотя разработчики , возможно, относились к ней как отдельное юридическое лицо. Многие языковые спецификации определяют базовый набор, который должен быть доступен во всех реализациях , в дополнение к другим частям, которые могут быть реализованы при желании. Таким образом, граница между языком и его библиотеками различается от языка к языку. В самом деле, некоторые языки спроектированы таким образом, что значения некоторых синтаксических конструкций невозможно даже описать без ссылки на базовую библиотеку. Например, в Java , A строка символов определяется как экземпляр класса java.lang.String; аналогично в Smalltalk, выражение анонимной функции («блок») создает экземпляр класса BlockContext библиотеки. И наоборот, Scheme содержит несколько согласованных подмножеств, которых достаточно для построения остальной части языка в виде библиотечных макросов, поэтому разработчики языка даже не утруждают себя вопросом, какие части языка должны быть реализованы как языковые конструкции, а какие - как части. библиотеки.

Содержание [ править ]

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

Большинство стандартных библиотек включают определения, по крайней мере, для следующих часто используемых средств:

Философия [ править ]

Философия дизайна стандартной библиотеки сильно различается. Например, Бьярн Страуструп , дизайнер C ++ , пишет:

Что должно быть в стандартной библиотеке C ++? Один из идеалов - это способность программиста найти в библиотеке все интересные, важные и достаточно общие классы, функции, шаблоны и т. Д. Однако вопрос здесь не в том, что должно быть в какой-нибудь библиотеке? но "Что должно быть в стандартной библиотеке?" Ответ "Все!" является разумным первым приближением к ответу на первый вопрос, но не на второй. Стандартная библиотека - это то, что должен предоставить каждый разработчик, чтобы каждый программист мог положиться на нее. [1]

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

Напротив, Гвидо ван Россум , разработчик Python , принял гораздо более всеобъемлющее видение стандартной библиотеки Python, которая предлагает нам простые в кодировании, объектно-ориентированные средства языка высокого уровня. Кроме того, у нас есть многочисленные библиотеки Python [2] для выполнения таких задач, как математика, интеллектуальный анализ данных, исследование данных и визуализация; в учебнике Python он пишет:

У Python есть философия "батарейки включены". Лучше всего это видно по сложным и надежным возможностям более крупных пакетов. [3]

Ван Россум продолжает перечислять библиотеки для обработки XML , XML-RPC , сообщений электронной почты и локализации - возможностей, которые отсутствуют в стандартной библиотеке C ++. Эта другая философия часто встречается в языках сценариев (например, Python или Ruby ) или языках, использующих виртуальную машину , таких как языки Java или .NET Framework . В C ++ такие средства не являются частью стандартной библиотеки, а являются частью других библиотек, таких как Boost .

Примеры стандартных библиотек [ править ]

  • Стандартная библиотека C , для языка программирования C
  • C ++ стандартная библиотека , для C ++ язык программирования
  • Библиотека классов Framework (FCL) для .NET Framework
  • Библиотека класса Java (JCL) для языка программирования Java и Java Platform
  • Фактор стандартная библиотека , для языка программирования Factor
  • Стандартная библиотека рубина , для языка программирования Ruby ,
  • Стандартная библиотека Python для языка программирования Python
  • Стандартные библиотеки (CLI)

Ссылки [ править ]

  1. ^ Бьярн Страуструп. Язык программирования C ++ . 3-е изд. Эддисон-Уэсли, 1997
  2. ^ «12 лучших библиотек Python на 2021 год - блог Codersera» . 2021-02-16 . Проверено 18 февраля 2021 .
  3. ^ Гвидо ван Россум. [1] .