[Из песочницы] Что такое программное обеспечение и почему так важно это понимать?

Привет, Хабр! Представляю вашему вниманию перевод статьи «What is software and why is understanding it important?» автора Эдриана Бонфьюеса (Adrian Bbonfues).

myzmoxopjn3mlmudj7r7xvwpinq.jpeg


Позвольте мне перефразировать слова Марка Андреессена (Marc Andreessen) «программное обеспечение пожирает мир» в «программное обеспечение уже съело мир».

Программное обеспечение есть во всем и везде.

Люди привыкли к вещам, которые мы можем увидеть и потрогать. Мы живем в физическом мире автомобилей, стиральных машин, телефонов и фенов. Все это — аппаратные средства — физические инструменты, машины и оборудование. Аппаратное обеспечение представляет собой реальную материальную физическую сущность, ограниченную определенными характеристиками. Но в какой-то момент мы начали идти против аппаратных ограничений. Видеомагнитофоны в 90-х годах были великолепны для записи того, что показывали по телевидению (чтобы записанное можно было посмотреть позже), пока вы непосредственно находились у телевизора с пультом в руке, чтобы нажать кнопку записи, когда начиналось шоу. Разве не было бы еще лучше, если бы вы могли записать что-то по телевизору, не нажимая кнопку записи? Было бы круто сказать вашему видеомагнитофону начать запись в 7 вечера и остановиться в 8 вечера, чтобы вы могли пойти, например, поужинать? Думаю, это было бы намного лучше.
Что ж, получается, что для того, чтобы сказать аппаратному обеспечению, что нужно делать, нужно было его запрограммировать — вам нужно было программное обеспечение. Мы начали расширять возможности оборудования, программируя его и создавая программное обеспечение (ПО). Компьютер по своей сути — это умный калькулятор. То, что дает компьютерам их мощность, зависит от того, что вы можете запрограммировать для них — рассчитать траекторию полета ракеты или подсчитать банковские записи клиентов для целей бухгалтерского учета.

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

Приход Microsoft


Билл Гейтс предвидел, что все большему количеству производимых компьютеров понадобится соответствующее программное обеспечение, которое будет обрабатывать основные внутренние процессы ЦП, ОЗУ и дискового хранилища. Это позволило бы разработчикам сосредоточиться на создании приложений, решающих пользовательские проблемы, вместо написания общего кода для управления аппаратным обеспечением компьютера, например таких вещах, как чтение/запись файлов. Дисковая операционная система, известная как DOS, должна была решить именно эту проблему, подготовив тем самым почву для настоящего бума на рынке ПК в конце 20-го века — появлению Windows. Билл Гейтс не изобрел Операционную Систему (ОС) как концепцию, но он, несомненно, сделал ее основной.

whny-pfppa9xwj4y_towpamgyt0.jpeg


Пол Аллен и Билл Гейтс (1981 год)

Программное обеспечение достигло пика популярности в 90-х годах, и компания Microsoft доминировала на этом рынке. Ее Офисный пакет был установлен почти у всех, и это сделало менеджерскую работу намного более эффективной и производительной. Компьютеры были очень утилитарными и были сосредоточены на рабочих задачах нежели на играх. Персональные компьютеры, какими мы их знаем теперь, были еще в зачаточном состоянии. ПК становились все более полезными, так как для них писалось все больше и больше ПО. Различные приложения, такие как приложения для обработки текстов, электронных таблиц, пасьянс и в конечном итоге просмотра веб-страниц, расширяли возможности того, что вы могли делать на компьютере. Все компьютеры того времени выглядели одинаково — кремовые башни с соответствующими здоровенными ЭЛТ-мониторами.

Приход Apple


Выключите свой iPhone, и он станет очень блестящим и очень дорогим пресс-папье. Только когда вы удерживаете кнопку питания, чтобы включить его, экран загорается и перед вами предстает операционная система, со всеми ее удивительными возможностями и функциями.

Стив Джобс произвел революцию на компьютерном рынке, сосредоточившись на дизайне — на том, чтобы сделать его удобным для пользователя. У Mac и iPod была эстетика, которая оторвалась от утилитарных корней производителей ПК. В то время, как Microsoft контролировала только программное обеспечение, которое работало на компьютерах, Apple хотела контролировать все: как аппаратное, так и программное обеспечение своих продуктов. Apple разработала свою собственную операционную систему Mac OS на основе NeXT, а также и внешний вид своего компьютера.

swewzrcfse9fihl6eqi2uujnfic.jpeg


Перенесемся почти на 20 лет вперед, и нетрудно будет понять, почему это была отличная идея. IPhone изменил не только то, что мы думаем о внешнем виде наших устройств, но и о то, как мы взаимодействуем с ними. IPhone вместе с его операционной системой iOS — это чудо аппаратного и программного обеспечения, а также дизайна, скомбинированных вместе.

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

Намерение Apple полностью владеть экосистемой своих продуктов делает их столь отзывчивыми и простыми в использовании. Трудно увидеть все возможности их устройств, потому что они абстрактны. Они живут в этом виртуальном мире, с которым многие из нас не слишком знакомы. Для оценки аппаратного обеспечения нам даны такие показатели, как, например, частота процессора, измеряемая в Гигагерцах, но у нас нет соответствующего критерия оценки программного обеспечения.

Современное программное обеспечение имеет невероятно сложную структуру. То, что связано с созданием UX, который мы считаем интуитивно понятным, на самом деле построено с помощью сверхтяжелых задач информационных технологий. Заставить компьютеры делать человеческие вещи — это действительно сложная задача, которая породила всю индустрию искусственного интеллекта и многие другие.

© Habrahabr.ru