IT-ликбез

Что такое библиотеки в программировании?

Фото: Manuel Alvarez / shutterstock
Классическая фраза в разговоре про библиотеки в программировании – «не изобретать велосипед». Сегодня уже не предполагается, что программисты пишут технологические продукты полностью сами. Они используют библиотеки. IT-ликбез на ALMAMAT Blog: не углубляясь в непонятные новичкам детали, объясняем базовые концепции, чтобы погружение в IT не отпугивало сложностью.
Что такое библиотеки?
Библиотека в программировании (Library) – это сборник подпрограмм или объектов, используемых для разработки программ. Можно сказать и так: это набор классов, компонентов или модулей для разных задач.

В программах много стандартных элементов, например, кнопки, проигрыватели видео, запросы и т. д. Нет необходимости каждый раз писать их с нуля, потому что все это уже существует – есть открытые бесплатные библиотеки.

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

Библиотеки для программирования бывают встроенными и дополнительными. У каждого языка есть свои библиотеки. Примеры. Библиотеки для Ruby ищут на The Ruby Toolbox. У Java есть множество готовых классов в Java Standard Libraries, а также в JHipster и т. д. Для С++ существует Boost, а для Python – Simplejson или Requests (вторую используют такие гиганты, как Amazon и Spotify). Готовые классы для кода на Objective-C и Swift можно найти в UIKit Framework. И так далее.

Количеством библиотек во многом определяется развитость и популярность языков. Чем больше приверженцев, тем больше библиотек. А чем больше библиотек, тем больше приверженцев.

Библиотеки бывают для компилируемых языков и интерпретируемых языков (об этом расскажем чуть позже, подписывайтесь на ALMAMAT в соцсетях); динамические и статические; используемые одной программой или несколькими; с критическими функциями и с дополнительными. Отличие динамических в том, что исходный код библиотеки не вставляется, а только прописывается путь и имя функции. В случае со статическими, напротив, исходный код из объектных файлов библиотек вставляется в программу на этапе компоновки, когда создается исполняемый файл программы. Соответственно, везде есть преимущества, нюансы и логика работы.
Почему важен навык работы с библиотеками?
Они дают очевидную экономию времени на всех этапах. Использование библиотек – это составляющая функционального подхода к написанию программ. Программа состоит из подпрограмм. Современные программисты по мере необходимости используют готовые подпрограммы и целые модули, состоящие из подпрограмм, то есть библиотеки.

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

Чрезвычайно важно изучать библиотеки того языка, который вы выбрали, чтобы потом быстро ориентироваться в них: у развитых языков чрезвычайно много библиотек. Навык обращения с библиотеками – один из обязательных для современного программиста. almamat blog
Almamat рассказывает, как стать QA-инженером

для лучшего понимания темы читайте также