Программное обеспечение
Програ́ммное обеспе́чение (допустимо также произношение обеспече́ние) (ПО) — программа или множество программ, используемых для управления компьютером (ISO/IEC 26514:2008).
Имеются и другие определения из международных и российских стандартов:
- совокупность программ системы обработки информации и программных документов, необходимых для эксплуатации этих программ (ГОСТ 19781—90);
- все или часть программ, процедур, правил и соответствующей документации системы обработки информации (ISO/IEC 2382-1:1993);
- компьютерные программы, процедуры и, возможно, соответствующая документация и данные, относящиеся к функционированию компьютерной системы (IEEE Std 829—2008).
Программное обеспечение является одним из видов обеспечения автоматизированной системы, наряду с техническим (аппаратным), математическим, информационным, лингвистическим, организационным, методическим и правовым обеспечением.
Академические области, изучающие программное обеспечение, — это информатика и программная инженерия.
В компьютерном сленге часто используется слово «софт», произошедшее от английского слова «software», которое в этом смысле впервые применил в статье журнала American Mathematical Monthly математик из Принстонского университета Джон Тьюки в 1958 году.
История
Предыстория. Зарождение программирования
Первую программу написала Ада Лавлейс для разностной машины Чарльза Бэббиджа, однако поскольку эта машина так и не была достроена, разработки леди Лавлейс остались чисто теоретическими.
Первая теория, касающаяся программного обеспечения, была предложена английским математиком Аланом Тьюрингом в 1936 году в эссе «On computable numbers with an application to the Entscheidungsproblem» («О вычислимых числах с приложением к проблеме разрешения»). Он создал так называемую машину Тьюринга, математическую модель абстрактной машины, способной выполнять последовательности рудиментарных операций, которые переводят машину из одного фиксированного состояния в другое. Главная идея заключалась в математическом доказательстве факта, что любое наперёд заданное состояние системы может быть всегда достигнуто последовательным выполнением конечного набора элементарных команд (программы) из фиксированного набора команд.
Первые электронно-вычислительные машины 1940—1950-х годов перепрограммировались путём переключения тумблеров и переподключения кабелей, что требовало глубокого понимания их внутреннего устройства. К таким машинам, в частности, относился ENIAC (который, впрочем, впоследствии модифицировали, чтобы он мог, по крайней мере частично, программироваться с помощью перфокарт).
Важным шагом в сторону современных компьютеров был переход к архитектуре Джона фон Неймана, впервые воплощённой в Великобритании, в разработанном под руководством [англ.] и при участии Алана Тьюринга компьютере, известном как Марк I. Первая программа, хранимая в памяти компьютера, была запущена на нём 21 июня 1941 года. Для облегчения программирования этой машины Тьюринг придумал систему сокращённого кодирования, в которой для представления двоичного машинного кода использовалась последовательность телетайпных кодов символов, выводимая на перфоленту.
Один из сотрудников Тьюринга, Джон Мокли, став позднее (вместе с Джоном Преспером Эккертом) руководителем и основателем компании Eckert–Mauchly Computer Corporation, разработавшей такие ЭВМ, как BINAC и UNIVAC, поручил своим сотрудникам создать транслятор алгебраических формул. Хотя эта амбициозная цель в 1940-х годах и не была достигнута, под руководством Мокли был разработан так называемый «Краткий код», в котором операции и переменные кодировались двухсимвольными сочетаниями. Краткий код был реализован с помощью интерпретатора. Грейс Хоппер, работая с начала 1950-х годов над набором математических подпрограмм для UNIVAC I, изобрела программу-компоновщик A-0, которая по заданному идентификатору осуществляла выборку нужной подпрограммы из библиотеки, хранящейся на магнитной ленте, и записывала её в отведённое место оперативной памяти.
В 1950-е годы появились первые высокоуровневые языки программирования, Джон Бэкус разработал FORTRAN, а Грейс Хоппер — COBOL. Подобные разработки значительно упростили написание прикладного программного обеспечения, которое писала тогда каждая фирма, приобретающая вычислительную машину.
В начале 1950-х годов понятие программного обеспечения ещё не сложилось. Так, не говорилось о нём ничего в вышедшей в январе 1952 года в журнале Fortune статье «Office Robots», описывавшем компьютеры Univac. Хотя в статье уже рассказывается о компьютере как об универсальном устройстве, процесс программирования в этой статье был анахронически описан как «переключение тумблеров». Однако к середине 50-х годов уже вполне сложилась разработка программного обеспечения на заказ, хотя сам термин «программное обеспечение» ещё не использовался, тогда говорили просто о «программировании на заказ» или «программистском обслуживании». Первой программной фирмой стала компания System Development Corporation, созданная в 1956 году на базе принадлежащей правительству США фирме RAND Corporation. На этом этапе заказчиками программного обеспечения (уникального и не тиражируемого) были крупные корпорации и государственные структуры, и стоимость в один миллион долларов за программу не была чем-то необычным.
Ранняя история. Корпоративное ПО
Сам термин «программное обеспечение» вошёл в широкий обиход с начала 1960-х годов, когда стало актуальным разграничение команд, управляющих компьютером, и его физических компонентов — аппаратного обеспечения. Тогда же и началось становление индустрии программного обеспечения, как самостоятельной отрасли. Первой компанией по разработке ПО стала основанная в 1959 году [англ.] и [англ.][англ.] с начальным капиталом в 100 долларов. Первыми клиентами CSC и появившихся вслед за нею софтверных компаний были сверхкрупные корпорации и государственные организации, вроде NASA, и фирма продолжала работать на рынке заказного ПО, как и другие первые программистские частные стартапы, такие как [англ.] (CUC).
Первыми самостоятельно выпущенными программными продуктами, не поставляемыми в комплекте с компьютерным оборудованием, были выпущенный фирмой Applied Data Research в 1965 году генератор компьютерной документации [англ.], автоматически рисующий блок-схемы, и транслятор языка программирования [англ.], разработанный в 1960—1967 годах в Informatics, Inc. Становление рынка корпоративного программного обеспечения тесно связано с появлением семейства компьютеров IBM System/360. Достаточно массовые, относительно недорогие вычислительные машины, совместимые друг с другом на уровне программного кода, открыли дорогу тиражируемому программному обеспечению.
Постепенно круг заказчиков программного обеспечения расширялся, что стимулировало разработку новых видов программного обеспечения. Так появились первые фирмы, специализирующиеся на разработке систем автоматизированного проектирования.
В ноябре 1966 года журнал Business Week впервые обратился к теме индустрии программного обеспечения. Статья называлась «Software Gap — A Growing Crisis for Computers» и рассказывала как о перспективности этого бизнеса, так и о кризисе, связанном с нехваткой программистов. Типичные программные продукты того времени служили для автоматизации общих для бизнеса задач, таких, как начисление заработной платы или автоматизации бизнес-процессов таких предприятий среднего бизнеса, как фабрика или коммерческий банк. Стоимость такого ПО, как правило, была между пятью и ста тысячами долларов.
Персональные компьютеры и программное обеспечение для массового потребителя
Появление в 1970-х годах первых персональных компьютеров (таких, как Альтаир 8800) создало предпосылки и для зарождения массового рынка программного обеспечения. Изначально программы для персональных компьютеров распространялись в «коробочной» форме через торговые центры или по почте и имели цену 100—500 долларов США.
Знаковыми для зарождающего массового рынка программного обеспечения стали такие продукты, как электронная таблица VisiCalc, идея которой пришла Дэниелу Бриклину, когда тот, будучи выпускником MIT и инженером-программистом в DEC, посещал курсы в Гарвардской школе бизнеса и хотел облегчить себе утомительные финансовые расчёты, и текстовый процессор [англ.], разработку которого начал [англ.], тщательно изучив потребности рынка. О VisiCalc впервые заговорили, как о killer application, то есть компьютерном приложении, которое самим фактом своего существования доказывает нужность (и, зачастую, необходимость покупки) платформы, для которой реализована такая программа. Для VisiCalc и WordStar такой платформой стали персональные компьютеры, которые благодаря им из богатой игрушки для гиков стали рабочим инструментом. С них началась микрокомпьютерная революция, а у этих программ появились конкуренты: электронные таблицы SuperCalc, Lotus 1-2-3, система управления базами данных dBase II, текстовый процессор WordPerfect и др. Текстовые процессоры, электронные таблицы, системы управления базами данных, а также графические редакторы вскоре стали основными продуктами рынка программного обеспечения для персональных компьютеров.
Массовое тиражирование позволило снизить к середине 1990-х годов стоимость программного обеспечения для персональных компьютеров до ста — пятисот долларов, при этом бизнес производителей ПО приобрёл определённое сходство с бизнесом звукозаписывающих компаний.
Современные тенденции
Расширение рынка SaaS
По данным IDC, сегмент программного обеспечения как услуги (SaaS) остаётся самым быстрорастущим: на него приходится более половины мировых затрат на корпоративное ПО, а генеративный ИИ становится ключевым драйвером инноваций в облачных приложениях.
Контейнеризация и DevOps-подход
С 2024 года свыше 60 % организаций используют контейнеры в промышленной эксплуатации, а 90 % планируют расширять такие внедрения, что свидетельствует о закреплении Docker- и Kubernetes-орchestrated-решений как отраслевого стандарта.
Низкокодовые и бескодовые платформы
Gartner относит Enterprise Low-Code Application Platforms (LCAP) к ключевым средствам ускоренной разработки, отмечая использование генеративного ИИ и каталоги готовых компонентов как основные отличительные черты.
Генеративный ИИ в разработке
В отчётах GitHub и Accenture более 80 % участвовавших команд успешно внедрили GitHub Copilot, при этом 90 % разработчиков сообщили о росте удовлетворённости работой, а производительность повысилась на 55 %.
Макроэкономика рынка
Согласно исследованию Spherical Insights, мировой рынок программного обеспечения оценивался в 656,8 млрд USD в 2023 году и, по прогнозам, достигнет 1,9 трлн USD к 2033 году при среднегодовом темпе роста 11,25 %.
Классификация ПО
Подходы к классификации ПО достаточно подробно формализованы в международной технической рекомендации ISO/IEC TR 12182. В частности, первая версия рекомендации предусматривала 16 критериев классификации программных средств:
- по режиму эксплуатации;
- по масштабу;
- по стабильности;
- по функции;
- по требованию защиты;
- по требованию надёжности;
- по требуемым рабочим характеристикам;
- по исходному языку;
- по прикладной области;
- по вычислительной системе и среде;
- по классу пользователя;
- по требованию к вычислительным ресурсам;
- по критичности;
- по готовности;
- по представлению данных;
- по использованию программных данных.
Примерами классов функции ПС являются:
- обработка деловых сообщений;
- компиляция;
- научные вычисления;
- обработка текстов;
- медицинские системы;
- системы управления.
Примерами классов прикладной области являются:
- наука;
- бытовые устройства;
- оборудование;
- аппаратура управления процессом;
- предпринимательство;
- система организации сети.
Примерами классов масштаба ПС являются:
- малый;
- средний;
- большой.
Примерами классов критичности являются:
- национальная безопасность;
- человеческая жизнь;
- социальный хаос или паника;
- организационная безопасность;
- частная собственность;
- секретность.
Примерами классов пользователя являются:
- начинающий;
- средний;
- специалист (эксперт);
- обычный;
- случайный;
- другая система программного обеспечения;
- технические средства.
Примерами классов стабильности являются:
- постоянное внесение изменений;
- дискретное внесение изменений;
- маловероятное внесение изменений.
По степени переносимости программы делят на:
- платформозависимые;
- кроссплатформенные.
По способу распространения и использования программы делят на:
- проприетарные;
- открытые;
- свободные.
По назначению программы делят на:
- системные;
- прикладные.
По видам программы делят на:
- программный компонент — программа, рассматриваемая как единое целое, выполняющая законченную функцию;
- программный комплекс — программа, состоящая из двух или более программных компонентов и (или) программных комплексов, выполняющих взаимосвязанные функции;
- комплекс программ — совокупность программ, выполняющих не взаимосвязанные или непосредственно не связанные функции.
- Классификация программного обеспечения по сектору индустрии
Классификация программного обеспечения по сектору индустрии включает несколько подходов. В целом, программное обеспечение делят на заказное, то есть создаваемое для конкретного заказчика, и продуктовое, то есть создаваемое для продажи на рынке. В свою очередь, по типам потребителя ПО делят на Business-to-Business (B2B), то есть для предприятий и организаций, и Business-to-Consumer (B2C), то есть для частных лиц.
Одним из вариантов классификации по сектору индустрии является деление на ПО для корпоративного заказчика (англ. enterprise software vendors), ПО для массового потребителя (англ. mass-market software vendors) и ИТ-сервисы.
Другой подход состоит в делении индустрии ПО на три сектора: бизнес-продукты общего назначения (англ. Business Function Software), специализированные бизнес-продукты (англ. Industrial Business Software) и продукты для частной жизни (англ. Consumer Software). Бизнес-продукты общего назначения предназначены для поддержки функционирования предприятий и организаций и включают бухгалтерские системы, финансовые системы, системы кадрового учёта и т. п. Специализированные бизнес-продукты ориентированы на задачи конкретного типа бизнеса: геоинформационные системы, медицинские системы, логистические системы и т. п. Продукты для частной жизни включают антивирусное ПО и системы для информационной безопасности, различные полезные утилиты, образовательное ПО, мультимедийное ПО и т. п.
Системное программное обеспечение
Комплекс программ, которые обеспечивают управление компонентами компьютерной системы, такими как процессор, оперативная память, устройства ввода-вывода, сетевое оборудование, выступая как «межслойный интерфейс», с одной стороны которого аппаратура, а с другой — приложения пользователя. В отличие от прикладного программного обеспечения, системное не решает конкретные практические задачи, а лишь обеспечивает работу других программ, предоставляя им сервисные функции, абстрагирующие детали аппаратной и микропрограммной реализации вычислительной системы, управляет аппаратными ресурсами вычислительной системы. Отнесение того или иного программного обеспечения к системному условно, и зависит от соглашений, используемых в конкретном контексте. Как правило, к системному программному обеспечению относятся операционные системы, утилиты, системы управления базами данных, широкий класс связующего программного обеспечения.
Прикладное программное обеспечение
Прикладное программное обеспечение — программа, предназначенная для выполнения определённых пользовательских задач и рассчитанная на непосредственное взаимодействие с пользователем.
Лицензия
Пользователь получает программное обеспечение вместе с лицензией, которая предоставляет ему право использовать программный продукт при условии выполнения положений о лицензировании. Как правило, эти условия ограничивают возможности пользователя передавать программный продукт другим пользователям, изменять код.
Часть программного обеспечения поставляется со свободной лицензией. Такие лицензии позволяют распространять программное обеспечение, а также модифицировать его.
Часть программного обеспечения распространяется как бесплатное. Существует также условно бесплатное программное обеспечение. В этом случае обычно пользователь бесплатно получает демонстрационную версию программного продукта с несколько ограниченными возможностями на определённый испытательный период, а после его окончания обязан или приобрести продукт, или деинсталлировать его.
См. также
- Программно-аппаратный комплекс
- Патенты и программное обеспечение
- Лицензия на программное обеспечение
- Проприетарное программное обеспечение
- Свободное программное обеспечение
- Открытое программное обеспечение
- Компьютерный язык
- По области применения:
- Связующее программное обеспечение
- Программная инженерия
- Жизненный цикл программного обеспечения
- Раздутое программное обеспечение
- Software Asset Management
Примечания
Комментарии
- Издание орфографического словаря Ожегова 2007 года и издание словаря Розенталя 2006 и 2007 года приводят единственный вариант — обеспече́ние.
- Согласно ГОСТ 19.101—2024, «к программным документам относятся документы, содержащие сведения, необходимые для разработки, изготовления, сопровождения и эксплуатации программ».
- Согласно ISO/IEC 2382-1:1993, система обработки информации — это одна или большее число компьютерных систем и устройств, таких как офисное и коммуникационное оборудование, которые выполняют обработку информации.
Источники
- Ожегов С. И. Словарь русского языка. — М.: Русский язык, 1986. — С. 364.
- Акцентологический словарь. Дата обращения: 26 мая 2007. Архивировано 3 апреля 2007 года.
- Словари русского языка — Проверка слова «обеспечение». Грамота.ру. Архивировано 3 апреля 2018 года.
- Резниченко И. Л. Орфоэпический словарь русского языка: Произношение. Ударение: Ок. 25 000 единиц / Резниченко И. Л. — М.: ООО «Издательство Астрель»: ООО «Издательство АСТ», 2003. — 284 c.
- Орфографический словарь русского языка / Под редакцией С. И. Ожегова. — Локид-Пресс, 2007. — 912 с. — ISBN 5-320-00396-X.
- Д. Э. Розенталь. Русский язык. Справочник-практикум. — Оникс, Мир и образование, 2007. — ISBN 5-488-00712-1, 5-94666-332-1, 978-5-488-01360-5.
- ISO/IEC 26514:2008 — Systems and Software Engineering — Requirements for designers and developers of user documentation
- ГОСТ 19.101—2024 «Единая система программной документации. Виды программ и программных документов»
- ГОСТ 19781—90 «Обеспечение систем обработки информации программное. Термины и определения»
- ISO/IEC 2382-1:1993 — Information technology — Vocabulary. Дата обращения: 18 октября 2012. Архивировано 18 сентября 2012 года.
- Батоврин, 2012.
- IEEE Std 829—2008 — IEEE Standard for Software and System Test Documentation
- ГОСТ 34.003—90 «Информационная технология. Комплекс стандартов на автоматизированные системы. Автоматизированные системы. Термины и определения»
- John Tukey, 85, Statistician; Coined the Word 'Software'. Obituaries. New York Times. 28 июля 2000.
- Computer Languages, 1989, 1. Невидимый конструктор § Предвестники компьютерной эры, с. 11.
- Turing A. On Computable Numbers, with an Application to the Entscheidungsproblem (англ.) // Proceedings of the London Mathematical Society — London Mathematical Society, 1937. — Vol. s2-42, Iss. 1. — P. 230—265. — ISSN 0024-6115; 1460-244X; 0024-6115 — doi:10.1112/PLMS/S2-42.1.230
- Turing A. M. On Computable Numbers, with an Application to the Entscheidungsproblem. A Correction (англ.) // Proceedings of the London Mathematical Society — London Mathematical Society, 1938. — Vol. s2-43, Iss. 6. — P. 544—546. — ISSN 0024-6115; 1460-244X; 0024-6115 — doi:10.1112/PLMS/S2-43.6.544
- Hally, Mike. Electronic brains/Stories from the dawn of the computer age (англ.). — London: British Broadcasting Corporation and Granta Books, 2005. — P. 79. — ISBN 1-86207-663-4.
- Computer Languages, 1989, 1. Невидимый конструктор, с. 10—11.
- Computer Languages, 1989, 1. Невидимый конструктор, с. 14—16.
- Computer Languages, 1989, 1. Невидимый конструктор § Создание кодов, понятных человеку, с. 16.
- Computer Languages, 1989, 1. Невидимый конструктор § Шаг на благо программирования, с. 18—20.
- Computer Languages, 1989, 1. Невидимый конструктор § Шаг на благо программирования, с. 20.
- Campbell-Kelly, 2003, 1. The Software Industry, p. 1.
- Campbell-Kelly, 2003, 1. The Software Industry § Periodization, Sectorization, and Capabilities, p. 3.
- Campbell-Kelly, 2003, 1. The Software Industry § Periodization, Sectorization, and Capabilities, p. 4.
- Campbell-Kelly, 2003, 1. The Software Industry § Software Contractors, p. 5.
- Campbell-Kelly, 2003, 1. The Software Industry § Periodization, Sectorization, and Capabilities, p. 3—4.
- Computer Languages, 1989, 1. Невидимый конструктор, с. 10.
- Computer Languages, 1989, 3. Расцвет программного обеспечения § Производство программного обеспечения становится самостоятельной отраслью, с. 61.
- Campbell-Kelly, 2003, 4. Origins of the Software Products Industry § Pioneering in the Software Products Industry: Informatics Mark IV, p. 103—104.
- Campbell-Kelly, 2003, 1. The Software Industry § Corporate Software Products, p. 6.
- Computer Languages, 1989, 3. Расцвет программного обеспечения § Первые промышленные стандарты, p. 68—69.
- Computer Languages, 1989, 3. Расцвет программного обеспечения § Первые промышленные стандарты, p. 68.
- Campbell-Kelly, 2003, 1. The Software Industry § Mass-Market Software Products, p. 7.
- Computer Languages, 1989, 3. Расцвет программного обеспечения § Четыре «рабочие лошадки», с. 75—84.
- ISO/IEC TR 12182:2015 — Systems and software engineering — Framework for categorization of IT systems and software, and guide for applying it. Дата обращения: 4 марта 2018. Архивировано 4 марта 2018 года.
- Werder, Karl, Wang, Hua-Ying. Towards a Software Product Industry Classification Архивная копия от 13 апреля 2021 на Wayback Machine // New Trends in Software Methodologies, Tools and Techniques. H. Fujita, G. A. Papadopoulos, IOS Press, 2016. ISBN 978-1-61499-674-3. DOI: 10.3233/978-1-61499-674-3-27
- Campbell-Kelly M., Garcia-Swartz, D. From Products to Services: The Software Industry in the Internet Era Архивная копия от 12 августа 2021 на Wayback Machine // The Business History Review, Vol. 81, No. 4 (Winter, 2007), pp. 735—764. DOI: 10.2307/25097422
Литература
- ГОСТ Р ИСО/МЭК 12207—2010 «Информационная технология. Системная и программная инженерия. Процессы жизненного цикла программных средств»
- Батоврин В. К. Толковый словарь по системной и программной инженерии. — М.: ДМК Пресс, 2012. — С. 280. — ISBN 978-5-94074-818-2.
- Брукс Ф. Мифический человеко-месяц или как создаются программные системы. — СПб.: Символ-Плюс, 1999.
- ДеМарко Т. Deadline. Роман об управлении проектами. — М.: Манн, Иванов и Фербер. — 2013. — 352 с. — ISBN 978-5-91657-284-1.
- ДеМарко Т., Листер Т. Человеческий фактор. Успешные проекты и команды. — М.: Символ-Плюс. — 2014. — 288 с. — ISBN 978-5-93286-217-9.
- Йордан Э. Путь камикадзе. Как разработчику программного обеспечения выжить в безнадёжном проекте. — М.: Лори, 2012. — 290 с. — ISBN 978-5-85582-227-3.
- Инженерия программного обеспечения. — Издательство Вильямс, 2002. — 624 с. ISBN 5-8459-0330-0.
- Time-Life Books. Язык компьютера = Computer Languages. — М.: Мир, 1989. — Т. 2. — 240 с. — (Understanding Computers). — 100 000 экз. — ISBN 5-03-001148-X.
- Martin Campbell-Kelly. From Airline Reservations to Sonic the Hedgehog: A History of the Software Industry. — MIT Press, 2003. — 372 с. — (History of Computing). — ISBN 978-1422391761.
Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Программное обеспечение, Что такое Программное обеспечение? Что означает Программное обеспечение?
Zapros Software perenapravlyaetsya syuda sm takzhe drugie znacheniya Progra mmnoe obespe chenie dopustimo takzhe proiznoshenie obespeche nie PO programma ili mnozhestvo programm ispolzuemyh dlya upravleniya kompyuterom ISO IEC 26514 2008 Imeyutsya i drugie opredeleniya iz mezhdunarodnyh i rossijskih standartov sovokupnost programm sistemy obrabotki informacii i programmnyh dokumentov neobhodimyh dlya ekspluatacii etih programm GOST 19781 90 vse ili chast programm procedur pravil i sootvetstvuyushej dokumentacii sistemy obrabotki informacii ISO IEC 2382 1 1993 kompyuternye programmy procedury i vozmozhno sootvetstvuyushaya dokumentaciya i dannye otnosyashiesya k funkcionirovaniyu kompyuternoj sistemy IEEE Std 829 2008 Programmnoe obespechenie yavlyaetsya odnim iz vidov obespecheniya avtomatizirovannoj sistemy naryadu s tehnicheskim apparatnym matematicheskim informacionnym lingvisticheskim organizacionnym metodicheskim i pravovym obespecheniem Akademicheskie oblasti izuchayushie programmnoe obespechenie eto informatika i programmnaya inzheneriya V kompyuternom slenge chasto ispolzuetsya slovo soft proizoshedshee ot anglijskogo slova software kotoroe v etom smysle vpervye primenil v state zhurnala American Mathematical Monthly matematik iz Prinstonskogo universiteta Dzhon Tyuki v 1958 godu IstoriyaPredystoriya Zarozhdenie programmirovaniya Pervuyu programmu napisala Ada Lavlejs dlya raznostnoj mashiny Charlza Bebbidzha odnako poskolku eta mashina tak i ne byla dostroena razrabotki ledi Lavlejs ostalis chisto teoreticheskimi Pervaya teoriya kasayushayasya programmnogo obespecheniya byla predlozhena anglijskim matematikom Alanom Tyuringom v 1936 godu v esse On computable numbers with an application to the Entscheidungsproblem O vychislimyh chislah s prilozheniem k probleme razresheniya On sozdal tak nazyvaemuyu mashinu Tyuringa matematicheskuyu model abstraktnoj mashiny sposobnoj vypolnyat posledovatelnosti rudimentarnyh operacij kotorye perevodyat mashinu iz odnogo fiksirovannogo sostoyaniya v drugoe Glavnaya ideya zaklyuchalas v matematicheskom dokazatelstve fakta chto lyuboe naperyod zadannoe sostoyanie sistemy mozhet byt vsegda dostignuto posledovatelnym vypolneniem konechnogo nabora elementarnyh komand programmy iz fiksirovannogo nabora komand Pervye elektronno vychislitelnye mashiny 1940 1950 h godov pereprogrammirovalis putyom pereklyucheniya tumblerov i perepodklyucheniya kabelej chto trebovalo glubokogo ponimaniya ih vnutrennego ustrojstva K takim mashinam v chastnosti otnosilsya ENIAC kotoryj vprochem vposledstvii modificirovali chtoby on mog po krajnej mere chastichno programmirovatsya s pomoshyu perfokart Vazhnym shagom v storonu sovremennyh kompyuterov byl perehod k arhitekture Dzhona fon Nejmana vpervye voploshyonnoj v Velikobritanii v razrabotannom pod rukovodstvom angl i pri uchastii Alana Tyuringa kompyutere izvestnom kak Mark I Pervaya programma hranimaya v pamyati kompyutera byla zapushena na nyom 21 iyunya 1941 goda Dlya oblegcheniya programmirovaniya etoj mashiny Tyuring pridumal sistemu sokrashyonnogo kodirovaniya v kotoroj dlya predstavleniya dvoichnogo mashinnogo koda ispolzovalas posledovatelnost teletajpnyh kodov simvolov vyvodimaya na perfolentu Odin iz sotrudnikov Tyuringa Dzhon Mokli stav pozdnee vmeste s Dzhonom Presperom Ekkertom rukovoditelem i osnovatelem kompanii Eckert Mauchly Computer Corporation razrabotavshej takie EVM kak BINAC i UNIVAC poruchil svoim sotrudnikam sozdat translyator algebraicheskih formul Hotya eta ambicioznaya cel v 1940 h godah i ne byla dostignuta pod rukovodstvom Mokli byl razrabotan tak nazyvaemyj Kratkij kod v kotorom operacii i peremennye kodirovalis dvuhsimvolnymi sochetaniyami Kratkij kod byl realizovan s pomoshyu interpretatora Grejs Hopper rabotaya s nachala 1950 h godov nad naborom matematicheskih podprogramm dlya UNIVAC I izobrela programmu komponovshik A 0 kotoraya po zadannomu identifikatoru osushestvlyala vyborku nuzhnoj podprogrammy iz biblioteki hranyashejsya na magnitnoj lente i zapisyvala eyo v otvedyonnoe mesto operativnoj pamyati V 1950 e gody poyavilis pervye vysokourovnevye yazyki programmirovaniya Dzhon Bekus razrabotal FORTRAN a Grejs Hopper COBOL Podobnye razrabotki znachitelno uprostili napisanie prikladnogo programmnogo obespecheniya kotoroe pisala togda kazhdaya firma priobretayushaya vychislitelnuyu mashinu V nachale 1950 h godov ponyatie programmnogo obespecheniya eshyo ne slozhilos Tak ne govorilos o nyom nichego v vyshedshej v yanvare 1952 goda v zhurnale Fortune state Office Robots opisyvavshem kompyutery Univac Hotya v state uzhe rasskazyvaetsya o kompyutere kak ob universalnom ustrojstve process programmirovaniya v etoj state byl anahronicheski opisan kak pereklyuchenie tumblerov Odnako k seredine 50 h godov uzhe vpolne slozhilas razrabotka programmnogo obespecheniya na zakaz hotya sam termin programmnoe obespechenie eshyo ne ispolzovalsya togda govorili prosto o programmirovanii na zakaz ili programmistskom obsluzhivanii Pervoj programmnoj firmoj stala kompaniya System Development Corporation sozdannaya v 1956 godu na baze prinadlezhashej pravitelstvu SShA firme RAND Corporation Na etom etape zakazchikami programmnogo obespecheniya unikalnogo i ne tirazhiruemogo byli krupnye korporacii i gosudarstvennye struktury i stoimost v odin million dollarov za programmu ne byla chem to neobychnym Rannyaya istoriya Korporativnoe PO Sam termin programmnoe obespechenie voshyol v shirokij obihod s nachala 1960 h godov kogda stalo aktualnym razgranichenie komand upravlyayushih kompyuterom i ego fizicheskih komponentov apparatnogo obespecheniya Togda zhe i nachalos stanovlenie industrii programmnogo obespecheniya kak samostoyatelnoj otrasli Pervoj kompaniej po razrabotke PO stala osnovannaya v 1959 godu angl i angl angl s nachalnym kapitalom v 100 dollarov Pervymi klientami CSC i poyavivshihsya vsled za neyu softvernyh kompanij byli sverhkrupnye korporacii i gosudarstvennye organizacii vrode NASA i firma prodolzhala rabotat na rynke zakaznogo PO kak i drugie pervye programmistskie chastnye startapy takie kak angl CUC Pervymi samostoyatelno vypushennymi programmnymi produktami ne postavlyaemymi v komplekte s kompyuternym oborudovaniem byli vypushennyj firmoj Applied Data Research v 1965 godu generator kompyuternoj dokumentacii angl avtomaticheski risuyushij blok shemy i translyator yazyka programmirovaniya angl razrabotannyj v 1960 1967 godah v Informatics Inc Stanovlenie rynka korporativnogo programmnogo obespecheniya tesno svyazano s poyavleniem semejstva kompyuterov IBM System 360 Dostatochno massovye otnositelno nedorogie vychislitelnye mashiny sovmestimye drug s drugom na urovne programmnogo koda otkryli dorogu tirazhiruemomu programmnomu obespecheniyu Postepenno krug zakazchikov programmnogo obespecheniya rasshiryalsya chto stimulirovalo razrabotku novyh vidov programmnogo obespecheniya Tak poyavilis pervye firmy specializiruyushiesya na razrabotke sistem avtomatizirovannogo proektirovaniya V noyabre 1966 goda zhurnal Business Week vpervye obratilsya k teme industrii programmnogo obespecheniya Statya nazyvalas Software Gap A Growing Crisis for Computers i rasskazyvala kak o perspektivnosti etogo biznesa tak i o krizise svyazannom s nehvatkoj programmistov Tipichnye programmnye produkty togo vremeni sluzhili dlya avtomatizacii obshih dlya biznesa zadach takih kak nachislenie zarabotnoj platy ili avtomatizacii biznes processov takih predpriyatij srednego biznesa kak fabrika ili kommercheskij bank Stoimost takogo PO kak pravilo byla mezhdu pyatyu i sta tysyachami dollarov Personalnye kompyutery i programmnoe obespechenie dlya massovogo potrebitelya Poyavlenie v 1970 h godah pervyh personalnyh kompyuterov takih kak Altair 8800 sozdalo predposylki i dlya zarozhdeniya massovogo rynka programmnogo obespecheniya Iznachalno programmy dlya personalnyh kompyuterov rasprostranyalis v korobochnoj forme cherez torgovye centry ili po pochte i imeli cenu 100 500 dollarov SShA Znakovymi dlya zarozhdayushego massovogo rynka programmnogo obespecheniya stali takie produkty kak elektronnaya tablica VisiCalc ideya kotoroj prishla Denielu Briklinu kogda tot buduchi vypusknikom MIT i inzhenerom programmistom v DEC poseshal kursy v Garvardskoj shkole biznesa i hotel oblegchit sebe utomitelnye finansovye raschyoty i tekstovyj processor angl razrabotku kotorogo nachal angl tshatelno izuchiv potrebnosti rynka O VisiCalc vpervye zagovorili kak o killer application to est kompyuternom prilozhenii kotoroe samim faktom svoego sushestvovaniya dokazyvaet nuzhnost i zachastuyu neobhodimost pokupki platformy dlya kotoroj realizovana takaya programma Dlya VisiCalc i WordStar takoj platformoj stali personalnye kompyutery kotorye blagodarya im iz bogatoj igrushki dlya gikov stali rabochim instrumentom S nih nachalas mikrokompyuternaya revolyuciya a u etih programm poyavilis konkurenty elektronnye tablicy SuperCalc Lotus 1 2 3 sistema upravleniya bazami dannyh dBase II tekstovyj processor WordPerfect i dr Tekstovye processory elektronnye tablicy sistemy upravleniya bazami dannyh a takzhe graficheskie redaktory vskore stali osnovnymi produktami rynka programmnogo obespecheniya dlya personalnyh kompyuterov Massovoe tirazhirovanie pozvolilo snizit k seredine 1990 h godov stoimost programmnogo obespecheniya dlya personalnyh kompyuterov do sta pyatisot dollarov pri etom biznes proizvoditelej PO priobryol opredelyonnoe shodstvo s biznesom zvukozapisyvayushih kompanij Sovremennye tendenciiRasshirenie rynka SaaS Po dannym IDC segment programmnogo obespecheniya kak uslugi SaaS ostayotsya samym bystrorastushim na nego prihoditsya bolee poloviny mirovyh zatrat na korporativnoe PO a generativnyj II stanovitsya klyuchevym drajverom innovacij v oblachnyh prilozheniyah Kontejnerizaciya i DevOps podhod S 2024 goda svyshe 60 organizacij ispolzuyut kontejnery v promyshlennoj ekspluatacii a 90 planiruyut rasshiryat takie vnedreniya chto svidetelstvuet o zakreplenii Docker i Kubernetes orchestrated reshenij kak otraslevogo standarta Nizkokodovye i beskodovye platformy Gartner otnosit Enterprise Low Code Application Platforms LCAP k klyuchevym sredstvam uskorennoj razrabotki otmechaya ispolzovanie generativnogo II i katalogi gotovyh komponentov kak osnovnye otlichitelnye cherty Generativnyj II v razrabotke V otchyotah GitHub i Accenture bolee 80 uchastvovavshih komand uspeshno vnedrili GitHub Copilot pri etom 90 razrabotchikov soobshili o roste udovletvoryonnosti rabotoj a proizvoditelnost povysilas na 55 Makroekonomika rynkaSoglasno issledovaniyu Spherical Insights mirovoj rynok programmnogo obespecheniya ocenivalsya v 656 8 mlrd USD v 2023 godu i po prognozam dostignet 1 9 trln USD k 2033 godu pri srednegodovom tempe rosta 11 25 Klassifikaciya POPodhody k klassifikacii PO dostatochno podrobno formalizovany v mezhdunarodnoj tehnicheskoj rekomendacii ISO IEC TR 12182 V chastnosti pervaya versiya rekomendacii predusmatrivala 16 kriteriev klassifikacii programmnyh sredstv po rezhimu ekspluatacii po masshtabu po stabilnosti po funkcii po trebovaniyu zashity po trebovaniyu nadyozhnosti po trebuemym rabochim harakteristikam po ishodnomu yazyku po prikladnoj oblasti po vychislitelnoj sisteme i srede po klassu polzovatelya po trebovaniyu k vychislitelnym resursam po kritichnosti po gotovnosti po predstavleniyu dannyh po ispolzovaniyu programmnyh dannyh Primerami klassov funkcii PS yavlyayutsya obrabotka delovyh soobshenij kompilyaciya nauchnye vychisleniya obrabotka tekstov medicinskie sistemy sistemy upravleniya Primerami klassov prikladnoj oblasti yavlyayutsya nauka bytovye ustrojstva oborudovanie apparatura upravleniya processom predprinimatelstvo sistema organizacii seti Primerami klassov masshtaba PS yavlyayutsya malyj srednij bolshoj Primerami klassov kritichnosti yavlyayutsya nacionalnaya bezopasnost chelovecheskaya zhizn socialnyj haos ili panika organizacionnaya bezopasnost chastnaya sobstvennost sekretnost Primerami klassov polzovatelya yavlyayutsya nachinayushij srednij specialist ekspert obychnyj sluchajnyj drugaya sistema programmnogo obespecheniya tehnicheskie sredstva Primerami klassov stabilnosti yavlyayutsya postoyannoe vnesenie izmenenij diskretnoe vnesenie izmenenij maloveroyatnoe vnesenie izmenenij Po stepeni perenosimosti programmy delyat na platformozavisimye krossplatformennye Po sposobu rasprostraneniya i ispolzovaniya programmy delyat na proprietarnye otkrytye svobodnye Po naznacheniyu programmy delyat na sistemnye prikladnye Po vidam programmy delyat na programmnyj komponent programma rassmatrivaemaya kak edinoe celoe vypolnyayushaya zakonchennuyu funkciyu programmnyj kompleks programma sostoyashaya iz dvuh ili bolee programmnyh komponentov i ili programmnyh kompleksov vypolnyayushih vzaimosvyazannye funkcii kompleks programm sovokupnost programm vypolnyayushih ne vzaimosvyazannye ili neposredstvenno ne svyazannye funkcii Klassifikaciya programmnogo obespecheniya po sektoru industrii Klassifikaciya programmnogo obespecheniya po sektoru industrii vklyuchaet neskolko podhodov V celom programmnoe obespechenie delyat na zakaznoe to est sozdavaemoe dlya konkretnogo zakazchika i produktovoe to est sozdavaemoe dlya prodazhi na rynke V svoyu ochered po tipam potrebitelya PO delyat na Business to Business B2B to est dlya predpriyatij i organizacij i Business to Consumer B2C to est dlya chastnyh lic Odnim iz variantov klassifikacii po sektoru industrii yavlyaetsya delenie na PO dlya korporativnogo zakazchika angl enterprise software vendors PO dlya massovogo potrebitelya angl mass market software vendors i IT servisy Drugoj podhod sostoit v delenii industrii PO na tri sektora biznes produkty obshego naznacheniya angl Business Function Software specializirovannye biznes produkty angl Industrial Business Software i produkty dlya chastnoj zhizni angl Consumer Software Biznes produkty obshego naznacheniya prednaznacheny dlya podderzhki funkcionirovaniya predpriyatij i organizacij i vklyuchayut buhgalterskie sistemy finansovye sistemy sistemy kadrovogo uchyota i t p Specializirovannye biznes produkty orientirovany na zadachi konkretnogo tipa biznesa geoinformacionnye sistemy medicinskie sistemy logisticheskie sistemy i t p Produkty dlya chastnoj zhizni vklyuchayut antivirusnoe PO i sistemy dlya informacionnoj bezopasnosti razlichnye poleznye utility obrazovatelnoe PO multimedijnoe PO i t p Sistemnoe programmnoe obespechenie Osnovnaya statya Sistemnoe programmnoe obespechenie Kompleks programm kotorye obespechivayut upravlenie komponentami kompyuternoj sistemy takimi kak processor operativnaya pamyat ustrojstva vvoda vyvoda setevoe oborudovanie vystupaya kak mezhslojnyj interfejs s odnoj storony kotorogo apparatura a s drugoj prilozheniya polzovatelya V otlichie ot prikladnogo programmnogo obespecheniya sistemnoe ne reshaet konkretnye prakticheskie zadachi a lish obespechivaet rabotu drugih programm predostavlyaya im servisnye funkcii abstragiruyushie detali apparatnoj i mikroprogrammnoj realizacii vychislitelnoj sistemy upravlyaet apparatnymi resursami vychislitelnoj sistemy Otnesenie togo ili inogo programmnogo obespecheniya k sistemnomu uslovno i zavisit ot soglashenij ispolzuemyh v konkretnom kontekste Kak pravilo k sistemnomu programmnomu obespecheniyu otnosyatsya operacionnye sistemy utility sistemy upravleniya bazami dannyh shirokij klass svyazuyushego programmnogo obespecheniya Prikladnoe programmnoe obespechenie Osnovnaya statya Prikladnoe programmnoe obespechenie Prikladnoe programmnoe obespechenie programma prednaznachennaya dlya vypolneniya opredelyonnyh polzovatelskih zadach i rasschitannaya na neposredstvennoe vzaimodejstvie s polzovatelem LicenziyaOsnovnaya statya Licenziya na programmnoe obespechenie Polzovatel poluchaet programmnoe obespechenie vmeste s licenziej kotoraya predostavlyaet emu pravo ispolzovat programmnyj produkt pri uslovii vypolneniya polozhenij o licenzirovanii Kak pravilo eti usloviya ogranichivayut vozmozhnosti polzovatelya peredavat programmnyj produkt drugim polzovatelyam izmenyat kod Chast programmnogo obespecheniya postavlyaetsya so svobodnoj licenziej Takie licenzii pozvolyayut rasprostranyat programmnoe obespechenie a takzhe modificirovat ego Chast programmnogo obespecheniya rasprostranyaetsya kak besplatnoe Sushestvuet takzhe uslovno besplatnoe programmnoe obespechenie V etom sluchae obychno polzovatel besplatno poluchaet demonstracionnuyu versiyu programmnogo produkta s neskolko ogranichennymi vozmozhnostyami na opredelyonnyj ispytatelnyj period a posle ego okonchaniya obyazan ili priobresti produkt ili deinstallirovat ego Sm takzheMediafajly na Vikisklade Programmno apparatnyj kompleks Patenty i programmnoe obespechenie Licenziya na programmnoe obespechenie Proprietarnoe programmnoe obespechenie Svobodnoe programmnoe obespechenie Otkrytoe programmnoe obespechenie Kompyuternyj yazyk Yazyk programmirovaniya Po oblasti primeneniya Svyazuyushee programmnoe obespechenie Programmnaya inzheneriya Zhiznennyj cikl programmnogo obespecheniya Razdutoe programmnoe obespechenie Software Asset ManagementPrimechaniyaKommentarii Izdanie orfograficheskogo slovarya Ozhegova 2007 goda i izdanie slovarya Rozentalya 2006 i 2007 goda privodyat edinstvennyj variant obespeche nie Soglasno GOST 19 101 2024 k programmnym dokumentam otnosyatsya dokumenty soderzhashie svedeniya neobhodimye dlya razrabotki izgotovleniya soprovozhdeniya i ekspluatacii programm Soglasno ISO IEC 2382 1 1993 sistema obrabotki informacii eto odna ili bolshee chislo kompyuternyh sistem i ustrojstv takih kak ofisnoe i kommunikacionnoe oborudovanie kotorye vypolnyayut obrabotku informacii Istochniki Ozhegov S I Slovar russkogo yazyka M Russkij yazyk 1986 S 364 Akcentologicheskij slovar neopr Data obrasheniya 26 maya 2007 Arhivirovano 3 aprelya 2007 goda Slovari russkogo yazyka Proverka slova obespechenie rus Gramota ru Arhivirovano 3 aprelya 2018 goda Reznichenko I L Orfoepicheskij slovar russkogo yazyka Proiznoshenie Udarenie Ok 25 000 edinic Reznichenko I L M OOO Izdatelstvo Astrel OOO Izdatelstvo AST 2003 284 c Orfograficheskij slovar russkogo yazyka Pod redakciej S I Ozhegova Lokid Press 2007 912 s ISBN 5 320 00396 X D E Rozental Russkij yazyk Spravochnik praktikum Oniks Mir i obrazovanie 2007 ISBN 5 488 00712 1 5 94666 332 1 978 5 488 01360 5 ISO IEC 26514 2008 Systems and Software Engineering Requirements for designers and developers of user documentation GOST 19 101 2024 Edinaya sistema programmnoj dokumentacii Vidy programm i programmnyh dokumentov GOST 19781 90 Obespechenie sistem obrabotki informacii programmnoe Terminy i opredeleniya ISO IEC 2382 1 1993 Information technology Vocabulary neopr Data obrasheniya 18 oktyabrya 2012 Arhivirovano 18 sentyabrya 2012 goda Batovrin 2012 IEEE Std 829 2008 IEEE Standard for Software and System Test Documentation GOST 34 003 90 Informacionnaya tehnologiya Kompleks standartov na avtomatizirovannye sistemy Avtomatizirovannye sistemy Terminy i opredeleniya John Tukey 85 Statistician Coined the Word Software Obituaries New York Times 28 iyulya 2000 Computer Languages 1989 1 Nevidimyj konstruktor Predvestniki kompyuternoj ery s 11 Turing A On Computable Numbers with an Application to the Entscheidungsproblem angl Proceedings of the London Mathematical Society London Mathematical Society 1937 Vol s2 42 Iss 1 P 230 265 ISSN 0024 6115 1460 244X 0024 6115 doi 10 1112 PLMS S2 42 1 230 Turing A M On Computable Numbers with an Application to the Entscheidungsproblem A Correction angl Proceedings of the London Mathematical Society London Mathematical Society 1938 Vol s2 43 Iss 6 P 544 546 ISSN 0024 6115 1460 244X 0024 6115 doi 10 1112 PLMS S2 43 6 544 Hally Mike Electronic brains Stories from the dawn of the computer age angl London British Broadcasting Corporation and Granta Books 2005 P 79 ISBN 1 86207 663 4 Computer Languages 1989 1 Nevidimyj konstruktor s 10 11 Computer Languages 1989 1 Nevidimyj konstruktor s 14 16 Computer Languages 1989 1 Nevidimyj konstruktor Sozdanie kodov ponyatnyh cheloveku s 16 Computer Languages 1989 1 Nevidimyj konstruktor Shag na blago programmirovaniya s 18 20 Computer Languages 1989 1 Nevidimyj konstruktor Shag na blago programmirovaniya s 20 Campbell Kelly 2003 1 The Software Industry p 1 Campbell Kelly 2003 1 The Software Industry Periodization Sectorization and Capabilities p 3 Campbell Kelly 2003 1 The Software Industry Periodization Sectorization and Capabilities p 4 Campbell Kelly 2003 1 The Software Industry Software Contractors p 5 Campbell Kelly 2003 1 The Software Industry Periodization Sectorization and Capabilities p 3 4 Computer Languages 1989 1 Nevidimyj konstruktor s 10 Computer Languages 1989 3 Rascvet programmnogo obespecheniya Proizvodstvo programmnogo obespecheniya stanovitsya samostoyatelnoj otraslyu s 61 Campbell Kelly 2003 4 Origins of the Software Products Industry Pioneering in the Software Products Industry Informatics Mark IV p 103 104 Campbell Kelly 2003 1 The Software Industry Corporate Software Products p 6 Computer Languages 1989 3 Rascvet programmnogo obespecheniya Pervye promyshlennye standarty p 68 69 Computer Languages 1989 3 Rascvet programmnogo obespecheniya Pervye promyshlennye standarty p 68 Campbell Kelly 2003 1 The Software Industry Mass Market Software Products p 7 Computer Languages 1989 3 Rascvet programmnogo obespecheniya Chetyre rabochie loshadki s 75 84 ISO IEC TR 12182 2015 Systems and software engineering Framework for categorization of IT systems and software and guide for applying it neopr Data obrasheniya 4 marta 2018 Arhivirovano 4 marta 2018 goda Werder Karl Wang Hua Ying Towards a Software Product Industry Classification Arhivnaya kopiya ot 13 aprelya 2021 na Wayback Machine New Trends in Software Methodologies Tools and Techniques H Fujita G A Papadopoulos IOS Press 2016 ISBN 978 1 61499 674 3 DOI 10 3233 978 1 61499 674 3 27 Campbell Kelly M Garcia Swartz D From Products to Services The Software Industry in the Internet Era Arhivnaya kopiya ot 12 avgusta 2021 na Wayback Machine The Business History Review Vol 81 No 4 Winter 2007 pp 735 764 DOI 10 2307 25097422LiteraturaGOST R ISO MEK 12207 2010 Informacionnaya tehnologiya Sistemnaya i programmnaya inzheneriya Processy zhiznennogo cikla programmnyh sredstv Batovrin V K Tolkovyj slovar po sistemnoj i programmnoj inzhenerii M DMK Press 2012 S 280 ISBN 978 5 94074 818 2 Bruks F Mificheskij cheloveko mesyac ili kak sozdayutsya programmnye sistemy SPb Simvol Plyus 1999 DeMarko T Deadline Roman ob upravlenii proektami M Mann Ivanov i Ferber 2013 352 s ISBN 978 5 91657 284 1 DeMarko T Lister T Chelovecheskij faktor Uspeshnye proekty i komandy M Simvol Plyus 2014 288 s ISBN 978 5 93286 217 9 Jordan E Put kamikadze Kak razrabotchiku programmnogo obespecheniya vyzhit v beznadyozhnom proekte M Lori 2012 290 s ISBN 978 5 85582 227 3 Inzheneriya programmnogo obespecheniya Izdatelstvo Vilyams 2002 624 s ISBN 5 8459 0330 0 Time Life Books Yazyk kompyutera Computer Languages M Mir 1989 T 2 240 s Understanding Computers 100 000 ekz ISBN 5 03 001148 X Martin Campbell Kelly From Airline Reservations to Sonic the Hedgehog A History of the Software Industry MIT Press 2003 372 s History of Computing ISBN 978 1422391761

