История и значение программного обеспечения

Punch card Fortran Uni Stuttgart (3)

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

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

До появления современных программ предпринимались различные ранние попытки программирования компьютеров. Первыми были перфокарты, представлявшие собой простые бумажные карты с нанесёнными на них рядами точек. Пробитая точка понималась как ноль, если точка не была пробита, она означала единицу. Позднее эти карты заменили катушки с магнитной лентой. Управлять ими было проще с точки зрения пространства, так как хранение стопок карточек было не слишком практичным. При этом для программирования магнитных лент требовалось много времени и усилий.

Ранние годы программного обеспечения

Сам термин «программное обеспечение» вошел в употребление лишь в конце 1950-х годов. В этот период были созданы различные средства программирования. Купить многих ранние программы было невозможно, поэтому пользователям компьютеров (ученым и представителям крупного бизнеса) приходилось самим заниматься разработкой программных средств. Это имело некоторые преимущества: инструменты создавались для конкретных нужд, а пользователь мог понять, что именно делает программа. Однако недостатки такого подхода значительно превосходили его достоинства. В каждой компании или лаборатории должен был работать способный создать программу специалист, при этом продать результат его труда зачастую было невозможно, поскольку создавались эти программы для конкретных компьютерных систем.

Когда компьютеры стали достаточно маленькими для личного пользования, программное обеспечение получило гораздо большее распространение. Индивидуальные пользователи, не желавшие тратить время на изучение языков программирования, не могли самостоятельно программировать компьютеры. В этот момент была разработана операционная система. Эти специализированные платформы управляли компьютером, а по требованию пользователя запускали другие программы. Одной из ранних операционных систем была MS-DOS, именно она использовалась во многих компьютерах IBM того времени.

Компания IBM начала продавать программное обеспечение в конце 60-х – начале 70-х годов. В этот период коммерческие программы стали доступными для обычного потребителя, а возможность добавлять на компьютер различные типы инструментов быстро стала популярной.

Изменения в программном обеспечении

5.25

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

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

Когда компакт-диски превратились в стандарт, стало возможным быстрое простое и относительно дешевое распространение больших объёмов информации. Эти диски могли хранить значительно более крупные объёмы данных, а программы, которые ранее поставлялись на двенадцати дискетах, теперь помещались на один компакт-диск. Именно он быстро стал стандартным средством распространения программной продукции, а к середине 2000-х годов дисководы для дискет были исключены из обычного набора аппаратных средств ПК. Создание DVD-дисков, которые вмещали ещё больше данных, позволило поместить на один диск пакеты программ, например, Microsoft Office Suite.

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

Будущее программного обеспечения

Cloud computing

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

Хотя искусственный интеллект и умные роботы всё ещё кажутся предметом научной фантастики, вполне возможно, компьютеры будущего смогут сами себя программировать. Продвинутое ПО способно разрабатывать код для новых программ в зависимости от команд или потребностей пользователя. Вероятно, они смогут создавать улучшенные версии самих себя или разрабатывать полностью новые операционные системы. Возможно, вместо того, чтобы пользоваться компьютерами или мышью, нам будет достаточно мысленно передавать компьютеру инструкции!

Цитирование: BSC Designer, "История и значение программного обеспечения", BSC Designer, 28 января, 2021, https://bscdesigner.com/ru/software-history.htm.