Программное обеспечение
Программное обеспечение, или ПО, – это совокупность программ на компьютере или другом устройстве. Еще так называют сами программы. По-английски программное обеспечение – software, поэтому используется еще и термин «софт».
Цифровая система состоит из трех компонентов:
- hardware, или «железо» – аппаратные составляющие;
- middleware – «прослойка» между железом и программами, инфраструктура для связи компонентов друг с другом;
- software – программная «начинка» устройства.
Для примера можно взять смартфон. В нем есть процессор, экран, оперативная память – это «железо». Есть разные протоколы и службы – это middleware. А еще есть операционная система и приложения внутри нее – это software, программное обеспечение.
Кто пользуется программным обеспечением
В широком смысле с ПО работает каждый, у которого есть компьютер или другой гаджет. Программная начинка есть и в более мелкой технике: смарт-часах и браслетах, «умных» чайниках и пылесосах, наушниках. Задача софта в таких устройствах – выполнять заданные алгоритмы, например, управлять мотором или ставить музыку на паузу при нажатии.
В компьютерах и смартфонах ПО разнообразнее. Это системные приложения для нормальной работы ОС, прикладные программы – профессиональные и бытовые. Видеоигра, текстовый редактор, приложение социальной сети – все это софт.
В узком смысле с ПО работают программисты, тестировщики и другие IT-специалисты. Их задача – не просто пользоваться софтом, а разрабатывать и отлаживать его. Команды айтишников создают и поддерживают программное обеспечение – программируют, пишут код, который выполняет нужные инструкции.
Для чего используют ПО
Есть электроника, которая работает без программного обеспечения, но ее мало. Это обычно примитивные устройства вроде настольных ламп – там процессы происходят благодаря непрограммируемым электрическим схемам.
Чаще, чтобы «железо» выполняло свои функции, нужны программы. Программирование дает возможность работать с устройством более гибко и разнообразно, благодаря нему техника стала умнее и функциональнее. А еще программируемые контроллеры часто дешевле, чем непрограммируемые схемы – так что электроника стала еще и более доступной.
Программное обеспечение очень разнообразно. Его используют, чтобы:
- управлять работой «железных» компонентов;
- взаимодействовать с компьютером через интерфейс;
- выходить в сеть и делиться информацией;
- генерировать, хранить и пересылать данные;
- выполнять прикладные задачи – писать, считать, рисовать что-то и так далее.
И это только часть примеров. Софт везде: без него компьютер стал бы просто конструкцией из металла и пластика, которая почти ничего не умеет.
Каким бывает ПО по назначению
Существует популярная классификация программного обеспечения по видам. Это не единственное разделение – о других мы поговорим позже. Но конкретно эта классификация помогает понять, для чего вообще используют разное ПО.
Системное. Это программное обеспечение, которое нужно для работы компьютерной системы. Как пример такого софта – операционная система Windows или macOS, ее службы и процессы. Без нее обычный пользователь просто не сможет пользоваться компьютером, да и профессионал вряд ли обойдется вообще без софта. Еще к системному ПО относят прошивки смартфонов и других умных устройств, управляющие инструкции в домашней технике и промышленной электронике. Системное ПО есть практически в любой системе – от принтера до космической ракеты.
Инструментальное. Так называют софт, который нужен для создания других программ. Это профессиональные инструменты айтишников. Компиляторы и интерпретаторы языков программирования, разные библиотеки и фреймворки, среды программирования и редакторы кода – все это инструментальное ПО. Часть таких программ есть на вашем компьютере, даже если вы не занимаетесь IT. Ведь даже некоторое прикладное ПО не запускается, если на компьютере не установлен инструментальный софт для его языка.
Прикладное. Это самая знакомая обычному пользователю группа – программы, которыми мы пользуемся в повседневной жизни, от «Блокнота» до 1С. Сюда же относятся приложения на телефон, разные плагины и надстройки для программ, браузеры и многое другое. Онлайн-сервисы – по сути тоже прикладное ПО. Это такие же программы, только установлены они не на компьютере пользователя, а на удаленных серверах.
Примеры программного обеспечения
Приведем несколько примеров разнообразного софта – так будет легче увидеть, насколько широкое это понятие.
Операционные системы. Операционная система нужна, чтобы компьютером можно было управлять. Через нее запускаются прикладные программы, она же администрирует управление «железом»: выделяет оперативную память, делает запросы и дает команды. Без операционной системы работать с большей частью возможностей компьютера невозможно.
ОС тоже бывают разными. Есть домашние, такие как Windows и macOS, а есть профессиональные – их устанавливают на сервера, мощные сетевые компьютеры. Такие системы отличаются от домашних: ими сложнее управлять, иногда у них даже нет графического интерфейса. Но и возможности очень широкие.
Современные домашние компьютеры поставляются с уже предустановленной операционной системой. Но даже если ОС на них нет, и ее приходится устанавливать самостоятельно – софт все равно есть. Это примитивные и очень близкие к железу программы, без которых не получилось бы даже установить Windows.
СУБД. Еще один пример программного обеспечения, без которого никуда. Системы управления базами данных и сами базы данных – это не аппаратные сущности, а программные. Базы данных хранят информацию, а СУБД помогают управлять ей: вызывать и выдавать по запросу, удалять, обновлять и так далее. Это так важно, потому что в компьютерных системах все есть информация: и маленькая картинка, и огромный список пользователей сайта — и даже этот текст.
Корпоративные системы. Программами пользуются компании и производства – не только обычные люди. CRM, CMS, ERP – все эти сложные аббревиатуры означают разные виды профессионального софта. Он предназначен для работы с бизнес-процессами:
- учетом пользователей и продаж,
- администрированием сайтов,
- ведением бухгалтерии,
- хранением данных,
- автоматизацией документооборота и многим другим.
Например, всем известная 1С относится как раз к категории корпоративных систем. Зарубежные системы вроде SAP – тоже.
«Бытовые» приложения. Здесь все, чем мы пользуемся каждый день. Текстовые и графические редакторы, интернет-браузеры, программы-плееры для просмотра кино и прослушивания музыки, видеоигры и многое, многое другое. Фитнес-трекер на умных часах или приложение для VPN – все это ПО для повседневного использования. Кстати, некоторые программы вполне могут существовать в нескольких версиях – например, домашней и профессиональной.
Профессиональные программы. Еще есть специализированный софт для разных профессиональных задач. Например, AutoCAD для инженера или Blender для 3D-моделлера. Математики и аналитики могут работать в MATLAB или похожем ПО. А про инструментальный софт, нужный любому программисту, мы уже говорили.
Программное обеспечение по типу доступа
Как мы и говорили – есть разные классификации софта. Еще одна популярная – по типу доступа. Она описывает, какие части программы могут быть доступны пользователю и на каких условиях. Тут обычно выделяют три типа ПО.
Закрытое, или проприетарное. В основном это коммерческие программы – такие, которые продаются за деньги. Такими программами можно пользоваться, если у вас есть к ним доступ, но посмотреть исходный код нельзя. Он закрыт, его не видно. Нельзя и дорабатывать программу по своему усмотрению – авторские права запрещают нецелевое использование.
Свободное. Такое ПО дает пользователю больше свободы. Он может запускать, изучать, улучшать и распространять программу – в отличие от проприетарного софта, который можно только запускать. У создателя свободного ПО остаются авторские права, его разработка выпускается под одной из специальных «свободных» лицензий. Исходный код в таких программах обычно открыт, его можно посмотреть и отредактировать. Пользователи могут дорабатывать свободный софт, выпускать свои «версии» и «сборки» – но на развитие основного продукта не влияют.
Открытое. Свободное и открытое ПО иногда путают. На самом деле эти понятия различаются, хоть и похожи. Открытым, или open-source, называют софт с открытым исходным кодом – любой может просмотреть этот код и внести в него свои правки. Хотя у свободного софта исходный код чаще всего тоже открыт, есть разница: классический open-source полностью общедоступен. Это значит, что даже владелец не имеет исключительных прав на такую программу, а помогать в ее разработке могут и сами пользователи.
Коммерческое и бесплатное ПО
Это разделение немного отличается от способа доступа. Оно показывает, как создатели монетизируют программное обеспечение:
- коммерческие программы стоят денег – их нужно купить один раз или оплачивать подписку регулярно;
- за бесплатные программы платить не нужно, они доступны для всех.
В теории открытая программа может при этом быть коммерческой и платной, а проприетарная – бесплатной. Но чаще всего открытое и свободное ПО – бесплатное. Платные программы в большинстве случаев проприетарные, например, Windows или Adobe Photoshop.
Есть программы, которые сразу выпускают в двух версиях: бесплатной и платной. Обычно бесплатной можно пользоваться новичкам, ученикам или тем, кто не собирается извлекать из софта выгоду. А платная – для профессионалов и компаний, у нее обычно более широкие возможности.
Другие классификации программного обеспечения
Классификаций программ очень много. Вот только несколько видов.
По режиму использования. Бывают персональные программы для работы в одиночку, коллективные – для работы в команде, и сетевые, где доступ есть у каждого, кого пригласят через сеть.
По стабильности. Стабильные программы – те, которые редко сбоят. Они предсказуемы и удобны. Еще есть ПО средней стабильности и нестабильное – оно чаще «падает» и ведет себя некорректно. Обычно это софт, который вышел недавно.
По масштабу. Бывает малое, среднее и большое ПО. Масштаб измеряется в том, сколько ресурсов потребляет программа и сколько функций реализует. «Блокнот» – малое ПО, ERP-система – большое.
По языку и среде. Программы различаются еще и тем, на каком языке программирования они написаны и для какой среды предназначены. Например, приложение для Android не запустится в Windows. А программа на языке C++ будет отличаться от программы на Python и логикой, и быстродействием.
По степени защиты, доступу и так далее. Эти классификации в основном используют для корпоративного софта. В компаниях важны защищенность и возможность разделить доступ к данным. Например, есть ПО, которое дает рядовому пользователю одни функции, а руководителю – другие, более широкие. Есть разные типы программ по спектру выполняемых задач, по требованиям к мощности и другим параметрам – но обычные пользователи редко сталкиваются с этими классификациями.
Жизненный цикл программного обеспечения
Программные продукты не возникают из ниоткуда. Их пишут разработчики, проверяют тестировщики, выпускают на рынок менеджеры. Каждая, даже небольшая программа – это серьезный труд людей. Если маленькую программку сможет написать один человек, то в разработке какого-нибудь пакета офисного ПО обычно заняты сотни, если не тысячи специалистов.
Стадии создания и работы с продуктом можно условно разделить на три части.
Написание. На этом этапе программа еще не готова. Есть какая-то идея, которую нужно реализовать. Возможно, есть и планы, как это сделать. Планы и идеи – зона ответственности менеджеров или тех, кто придумал проект.
А вот реализацией занимаются специалисты. Разработчики пишут код, дизайнеры создают интерфейс, тестировщики ищут ошибки. Есть и люди, которые руководят процессом: тимлиды, проджект-менеджеры и продуктовые менеджеры.
Не всегда работает именно такая команда. Есть проекты, созданные 1-2 людьми – это обычно ПО, которое придумали и разработали «по зову души». Яркий пример – инди-игры.
В зависимости от размера проекта разработка может занимать как несколько недель, так и несколько лет. Например, высокобюджетные игры создают годами. А, скажем, небольшой плагин можно набросать за несколько дней.
Запуск и работа. Рано или поздно программа оказывается готова, и наступает следующий этап. Продукт нужно запустить и вывести на рынок. Тут тоже много работы: рассказать пользователям о продукте, развернуть его в нужной среде или дать инструкции для установки на локальный компьютер. А еще маркетинг, выбор площадки и многое другое.
После релиза – так называется выпуск программы – она остается работать. И тут обязанности создателей не заканчиваются. ПО, которое только что выпустили, часто «сырое», недоработанное, в нем есть ошибки – чем-то неудобно пользоваться, какой-то важной функции нет. Разработчики доделывают программу: если она работает не сервере, дописывают ее и разворачивают снова, а если это ПО для локальной установки – выпускают патчи или новые версии.
Поддержка. Даже программы, которым уже много лет, постоянно доделывают и улучшают. Это нормально, ведь рынок меняется, как и требования и нужды пользователей. Вспомните любой сайт 10 лет назад и сейчас – получится два разных продукта и внешне, и по функциям. Без обновлений программа быстро устареет.
Но поддержка – это не только выпуск обновлений. Это еще и работа с клиентами, ответы на их вопросы: кто-то спросил, как исправить ошибку, у кого-то проблемы с новой функцией. Кстати, так монетизируют некоторые open-source проекты: бесплатное и открытое ПО, но платная техподдержка.
Как создать программу самостоятельно
Большие команды работают над сложными проектами. Но и в одиночку можно создать сервис или программу, которая окажется полезной людям или просто интересной. Например, известную игру Minecraft создал разработчик-одиночка. А уж утилит для разработки, созданных одним человеком, и вовсе очень много.
Чтобы создать свое ПО, нужно уметь программировать. Иногда люди выпускали пилотные проекты, не умея ничего на старте – они обучались в процессе разработки. Не обещаем, что так получится у каждого, но практика – действительно хороший способ научиться создавать реальные проекты.
Как назвать программы для компьютера одним словом
Программное обеспечение (ПО) компьютера — совокупность всех программ, предназначенных для выполнения на компьютере.
Программное обеспечение компьютера делится на три группы: системное ПО, прикладное ПО и системы программирования.
Структура программного обеспечения:

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

Обслуживание дисков и диагностика компьютера
Архивирование файлов
• сжатие программ и данных
Защита от вирусов
• обнаружение компьютерных вирусов и средства «лечения»
Системы программирования
Комплекс программных средств, предназначенных для разработки новых программ, называют системой программирования или интегрированной средой разработки.
Основные компоненты: специализированный текстовый редактор, транслятор, отладчик и другие инструменты, позволяющие облегчить работу программистов и сократить время на разработку сложных программ.

Первым в мире программистом считается англичанка – Ада Лавлейс (1815–1852). Она выполнила детальное описание вычислительной машины, проект которой был разработан Чарльзом Беббиджем, и составила первую программу для этой машины. Именно Ада Лавлейс ввела в употребление термины «цикл» и «рабочая ячейка».
Прикладное ПО
Программы, с помощью которых пользователь может работать с разными видами информации, не прибегая к программированию, принято называть прикладными программами или приложениями.
Приложения общего назначения требуются практически всем.
Приложения общего назначения:

Приложения специального назначения предназначены для профессионального применения квалифицированными пользователями.
Приложения специального назначения:

Онлайн-офис — это набор веб-сервисов, включающий в себя все основные компоненты традиционных офисных пакетов: текстовый редактор, электронные таблицы, редактор презентаций и др.
Онлайн-офис доступен с любого компьютера, имеющего выход в Интернет, независимо от того, какую операционную систему этот компьютер использует.
Значение слова «софт»

1. комп. жарг. собир. программное или математическое обеспечение ◆ Конфискованы десятки компьютеров, на которых обнаружено немыслимое количество нелегального софта, а также оцифрованные звукозаписи и еще не вышедшие в прокат фильмы. Анна Майорова, ««Эшелон» до цугундера довезет. Карательная экспедиция на остров цифровых сокровищ», 2001 г. // «Известия» (цитата из НКРЯ) ◆ Производители «харда» (аппаратного обеспечения) и «софта» (программного обеспечения) продолжают идти «ноздря в ноздрю». Д. Усенков, «Windows Vista — две стороны медали», 2007 г. // «Наука и жизнь» (цитата из НКРЯ)
софт II
1. устар. ученик-послушник в мусульманском медресе ◆ Это собрание, под влиянием Мехмед-Али, зятя Султана, в то время всесильного в Турции и вполне преданного старым началам исламизма, возбудило фанатизм улемов и софтов, а чрез них и общественное мнение невежественного народа. М. И. Богданович, «Восточная война 1853–1856 годов. Т. 1», 1876 г. (цитата из НКРЯ) ◆ Толпа софтов, вооружившись палками, холодным и огнестрельным оружием, двинулась к старому, базару, призывая к погрому христиан. «Балканские события. Телеграммы наших заграничных корреспондентов», 1908 г. // «Русское слово» (цитата из НКРЯ) ◆ С самого утра, бросив занятия, софты крупнейших мечетей — Фатих, Баязидие и Сулеймание — вновь начали митинговать. Ю. А. Петросян, ««Новые османы» и борьба за конституцию 1876 г. в Турции», 1958 г.
Делаем Карту слов лучше вместе
/>Привет! Меня зовут Лампобот, я компьютерная программа, которая помогает делать Карту слов. Я отлично умею считать, но пока плохо понимаю, как устроен ваш мир. Помоги мне разобраться!
Спасибо! Я стал чуточку лучше понимать мир эмоций.
Вопрос: засоня — это что-то нейтральное, положительное или отрицательное?
Программное обеспечение

Програ́ммное обеспе́че́ние (ПО, программная система; англ. software), набор программ , баз данных , файлов , а также описывающих их документов, составляющих систему, для решения группы связанных задач на одном или нескольких взаимодействующих компьютерах .
Термин впервые применил математик из Принстонского университета Дж. Тьюки в 1958 г. В компьютерном сленге часто используется слово «софт» (англ. soft – мягкий, гибкий).
В отличие от программы, в состав ПО обычно включаются все информационные материалы, необходимые для его функционирования, понимания деталей его работы, поддержки работоспособности и дальнейшего развития при возникновении изменений или дополнений в постановке решаемых задач. В компьютерных системах ПО дополняет аппаратное обеспечение (вычислительные устройства и различное оборудование). Изучением характеристик, правил функционирования, а также методов создания и развития ПО занимается программная инженерия .
По типу решаемых задач и виду программ различают прикладное, системное и встроенное ПО. К прикладному относят любое ПО, решающее конкретные практические задачи и имеющее интерфейс для взаимодействия с пользователями: веб-браузеры , текстовые и графические редакторы , электронные таблицы, системы подготовки презентаций, информационные системы для бизнеса, игровое ПО, системы документооборота, управления технологическими процессами, вычислительного моделирования и др. Системное ПО служит для разработки программ или предоставляет среду для работы других программ, решая задачи эффективного выделения им вычислительных ресурсов и доступа к различным устройствам. К системному ПО относят: операционные системы ; системы управления базами данных ; драйверы различных устройств; реализации телекоммуникационных протоколов ; ПО промежуточного слоя, служащее для построения распределённых компьютерных систем и решающее задачи обеспечения взаимодействия между их составляющими и управления ресурсами поверх операционных систем отдельных компьютеров; защитное и антивирусное ПО; широко используемые библиотеки программ , а также интерпретаторы , компиляторы , среды разработки программ (современное название инструментов разработки, позволяющих объединять другие инструменты для выполнения задачи), инструменты тестирования программ, средства контроля версий и др. Системное ПО, необходимое для разработки программ, но ненужное для их дальнейшего функционирования, часто называют инструментальным . Встроенное ПО размещено в каком-либо устройстве или системе (например, станок, телевизор или автомобиль) и играет важную роль в решении задач этой системы, не взаимодействуя с её пользователями непосредственно (такое взаимодействие осуществляется только через интерфейс самой системы).
Современное ПО часто имеет очень высокую сложность. На обычном персональном компьютере работает ПО общим размером в сотни миллионов строк кода, написанное на различных языках программирования . Это обусловлено потребностями пользователей в решении большого количества разнообразных задач в рамках одной компьютерной системы и технологиями создания программ, позволяющими строить огромные иерархические программные системы из небольших компонентов. Сложность ПО приводит к возникновению многочисленных ошибок в силу ограниченной способности разработчиков адекватно воспринимать сложные системы, анализировать их поведение и предсказывать возможные сценарии их развития. Поэтому устранение всех ошибок в практически значимом ПО слишком трудоёмко, вместо этого при его создании обычно пытаются достичь максимально возможного при заданных затратах уровня качества, как можно больше снизить вероятность проявления ошибок и ущерба от них. Разные виды ПО имеют различные приемлемые уровни качества, часто регулируемые специализированными стандартами в тех областях, где ошибка в работе компьютерной системы может привести к значительному ущербу.
Широкая востребованность различных видов ПО привела к развитию производства ПО в достаточно мощную отрасль, в рамках которой отдельные компании, за исключением наиболее крупных, специализируются на создании ПО лишь одного или нескольких видов. Отрасль на протяжении нескольких десятков лет является одной из наиболее быстро растущих. Значительную часть доходов отрасли приносят различные услуги по настройке и сопровождению ПО, притом что само ПО иногда распространяется бесплатно.
Аналогом ПО в докомпьютерную эпоху можно считать перфокарты , описывающие узор ткани для программируемой ткацкой машины Жаккарда , а также применявшиеся для записи данных в машинах-табуляторах в конце 19 в. сменные барабаны с записью различных мелодий для музыкальных шкатулок и шарманок . ПО как хранимые программы появляются после работ Дж. фон Неймана , опиравшегося на идеи А. Тьюринга , К. Цузе , а также П. Эккерта и Дж. Мокли . Первые программы были вычислительными. Операционные системы появились как средства автоматизации пакетного выполнения заданий (GM-NAA I/O от General Motors для компьютера IBM 704, 1956) и оптимизации использования вычислительных ресурсов за счёт многозадачности (Master Control Program – MCP от Burroughs, 1961). Языки программирования высокого уровня потребовали создания компиляторов; первым компилятором считается A-0, созданный Г. Хоппер (США) для машины UNIVAC I (1951–1952). Примерно в это же время аналогичное ПО создавалось и в СССР. Быстрое расширение области использования компьютеров привело к появлению многочисленных видов прикладного ПО. Первая компьютерная игра OXO, реализующая крестики-нолики, была создана в 1952 г. для машины EDSAC , существовавшей в единственном экземпляре в Кембриджском университете . Первым встроенным ПО можно считать систему управления для встроенного компьютера D-17B американской межконтинентальной баллистической ракеты «Минитмен-I» (1961).