Эта статья требует дополнительных ссылок для проверки . ( май 2019 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
Стандартная библиотека в компьютерном программировании является библиотекой доступны через реализации языка программирования . Эти библиотеки обычно описываются в спецификациях языков программирования ; однако содержимое библиотеки, связанной с языком, также может определяться (частично или полностью) более неформальной практикой языкового сообщества.
Обзор [ править ]
Стандартная библиотека языка , является часто рассматривается как часть языка с помощью своих пользователей , хотя разработчики , возможно, относились к ней как отдельное юридическое лицо. Многие языковые спецификации определяют базовый набор, который должен быть доступен во всех реализациях , в дополнение к другим частям, которые могут быть реализованы при желании. Таким образом, граница между языком и его библиотеками различается от языка к языку. В самом деле, некоторые языки спроектированы таким образом, что значения некоторых синтаксических конструкций невозможно даже описать без ссылки на базовую библиотеку. Например, в Java , A строка символов определяется как экземпляр класса java.lang.String; аналогично в Smalltalk, выражение анонимной функции («блок») создает экземпляр класса BlockContext библиотеки. И наоборот, Scheme содержит несколько согласованных подмножеств, которых достаточно для построения остальной части языка в виде библиотечных макросов, поэтому разработчики языка даже не утруждают себя вопросом, какие части языка должны быть реализованы как языковые конструкции, а какие - как части. библиотеки.
Содержание [ править ]
Стандартные библиотеки обычно включают определения для часто используемых алгоритмов, структур данных и механизмов ввода и вывода. В зависимости от конструкций, доступных на основном языке, стандартная библиотека может включать:
- Подпрограммы
- Macro определения
- Глобальные переменные
- Определения классов
- Шаблоны
Большинство стандартных библиотек включают определения, по крайней мере, для следующих часто используемых средств:
- Алгоритмы (например, алгоритмы сортировки )
- Структуры данных (например, списки , деревья и хеш-таблицы )
- Взаимодействие с хост-платформой, включая ввод / вывод и вызовы операционной системы
Философия [ править ]
Философия дизайна стандартной библиотеки сильно различается. Например, Бьярн Страуструп , дизайнер C ++ , пишет:
Что должно быть в стандартной библиотеке C ++? Один из идеалов - это способность программиста найти в библиотеке все интересные, важные и достаточно общие классы, функции, шаблоны и т. Д. Однако вопрос здесь не в том, что должно быть в какой-нибудь библиотеке? но "Что должно быть в стандартной библиотеке?" Ответ "Все!" является разумным первым приближением к ответу на первый вопрос, но не на второй. Стандартная библиотека - это то, что должен предоставить каждый разработчик, чтобы каждый программист мог положиться на нее. [1]
Это предполагает относительно небольшую стандартную библиотеку, содержащую только конструкции, которые «каждый программист» может разумно потребовать при создании большой коллекции программного обеспечения. Это философия, которая используется в стандартных библиотеках C и C ++ .
Напротив, Гвидо ван Россум , разработчик Python , принял гораздо более всеобъемлющее видение стандартной библиотеки Python, которая предлагает нам простые в кодировании, объектно-ориентированные средства языка высокого уровня. Кроме того, у нас есть многочисленные библиотеки Python [2] для выполнения таких задач, как математика, интеллектуальный анализ данных, исследование данных и визуализация; в учебнике Python он пишет:
У Python есть философия "батарейки включены". Лучше всего это видно по сложным и надежным возможностям более крупных пакетов. [3]
Ван Россум продолжает перечислять библиотеки для обработки XML , XML-RPC , сообщений электронной почты и локализации - возможностей, которые отсутствуют в стандартной библиотеке C ++. Эта другая философия часто встречается в языках сценариев (например, Python или Ruby ) или языках, использующих виртуальную машину , таких как языки Java или .NET Framework . В C ++ такие средства не являются частью стандартной библиотеки, а являются частью других библиотек, таких как Boost .
Примеры стандартных библиотек [ править ]
Эта статья представлена в виде списка , но может читаться лучше как проза . Ноябрь 2016 г. ) ( |
- Стандартная библиотека C , для языка программирования C
- C ++ стандартная библиотека , для C ++ язык программирования
- Библиотека классов Framework (FCL) для .NET Framework
- Библиотека класса Java (JCL) для языка программирования Java и Java Platform
- Фактор стандартная библиотека , для языка программирования Factor
- Стандартная библиотека рубина , для языка программирования Ruby ,
- Стандартная библиотека Python для языка программирования Python
- Стандартные библиотеки (CLI)
Ссылки [ править ]
- ^ Бьярн Страуструп. Язык программирования C ++ . 3-е изд. Эддисон-Уэсли, 1997
- ^ «12 лучших библиотек Python на 2021 год - блог Codersera» . 2021-02-16 . Проверено 18 февраля 2021 .
- ^ Гвидо ван Россум. [1] .