Jump to content

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

(Перенаправлено из Stdlib )

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

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

Содержание

[ редактировать ]

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

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

Философия

[ редактировать ]

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

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

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

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

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

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

Примеры стандартных библиотек

[ редактировать ]
  1. ^ Бьерн Страуструп. Язык программирования C++ . 3-е изд. Аддисон-Уэсли, 1997 г.
  2. ^ Гвидо ван Россум. [1] .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 4d3f2acf5393b412abae9a337e82ad11__1722098340
URL1:https://arc.ask3.ru/arc/aa/4d/11/4d3f2acf5393b412abae9a337e82ad11.html
Заголовок, (Title) документа по адресу, URL1:
Standard library - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)