История программного обеспечения - History of software

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

Ада Лавлейс программы для Чарльз Бэббидж с Аналитическая машина в 19 ​​веке часто считается основателем этой дисциплины, хотя усилия математика оставались только теоретическими, поскольку технологии времен Лавлейса и Бэббиджа оказались недостаточными для создания его компьютера. Алан Тьюринг считается первым человеком, предложившим теорию программного обеспечения в 1935 году, которая привела к двум академическим областям: Информатика и программная инженерия.

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

До цифровых компьютеров с хранимой программой

Истоки информатики

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

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

Первый известный компьютер алгоритм был написан Ада Лавлейс в 19 ​​веке для Аналитическая машина, переводить Луиджи Менабреа работает над Числа Бернулли для машинного обучения.[2][2] Однако это оставалось только теоретическим - меньшее состояние инженерное дело при жизни этих двух математиков оказалось недостаточно, чтобы построить аналитическую машину.

Первая современная теория программного обеспечения была предложена Алан Тьюринг в его эссе 1935 года Вычислимые числа с приложением к Entscheidungsproblem (проблема решения).[3]

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

Однако до 1946 года программное обеспечение, как мы его понимаем сейчас, - программы, хранящиеся в памяти цифровые компьютеры с хранимой программой - еще не существовало. Вместо этого были перепрограммированы самые первые электронные вычислительные устройства, чтобы «перепрограммировать» их. В ENIAC, один из первых электронных компьютеров, был запрограммирован в основном женщинами, которые ранее работали человеческие компьютеры.[4] [5] Инженеры давали программистам чертежи электропроводки ENIAC и ожидали, что они придумают, как программировать машину.[6] Женщины, которые работали программистами, подготовили ENIAC к его первому публичному показу, подключив коммутационные панели вместе для демонстраций.[7] [8][9] Кэтлин Бут развитый Язык ассемблера в 1950 году, чтобы упростить программирование компьютеров, на которых она работала Биркбек колледж.[10]

Грейс Хоппер и UNIVAC

Грейс Хоппер работал одним из первых программистов Гарвард Марк I.[11] Позже она создала руководство для компьютера на 500 страниц.[12] Часто ошибочно приписывают Хопперу использование терминов "ошибка" и "отладка, "когда она нашла в Mark II моль, вызвавшую неисправность;[13] однако этот термин фактически уже использовался, когда она нашла моль.[13] Хоппер разработала первый компилятор и воплотила свою идею от работы над компьютерами Марка к работе над UNIVAC в 1950-е гг.[14] Хоппер также разработал язык программирования ПОТОК-MATIC программировать UNIVAC.[13] Фрэнсис Э. Холбертон, также работающий в UNIVAC, разработал код[требуется разъяснение ], C-10, которые позволяют программистам использовать ввод с клавиатуры и создают Генератор сортировки-слияния в 1951 г.[15][16] Адель Милдред Косс и Хоппер также создал предшественник генератор отчетов.[15]

Первые дни компьютерного программного обеспечения (1948–1979)

В своей рукописи «Математическая теория коммуникации» Клод Шеннон (1916–2001) представили схему того, как двоичную логику можно реализовать для программирования компьютера. Впоследствии первые компьютерные программисты использовали бинарный код инструктировать компьютеры выполнять различные задачи. Тем не менее процесс был очень трудным. Программисты должны были предоставить длинные строки двоичного кода, чтобы сообщить компьютеру, какие данные хранить. Код и данные приходилось загружать в компьютеры с помощью различных утомительных механизмов, включая щелчки переключателей или пробивание отверстий в заранее определенных положениях в карточках и их загрузку. перфокарты в компьютер. При использовании таких методов в случае ошибки может потребоваться загрузка всей программы с самого начала.

Первый раз компьютер с хранимой программой содержал часть программного обеспечения в электронной памяти и успешно его выполнил, это было в 11 часов утра 21 июня 1948 года в Манчестерском университете на Манчестер Бэби компьютер. Это было написано Том Килберн и вычислил наибольший множитель целого числа 2 ^ 18 = 262,144. Начиная с большого пробного делителя, он выполнял деление 262 144 путем повторного вычитания, а затем проверял, равен ли остаток нулю. Если нет, он уменьшает пробный делитель на единицу и повторяет процесс. Google выпустил дань уважения Manchester Baby, назвав его «рождением программного обеспечения». В конце 1950-х - начале 1960-х годов популярным нововведением стала разработка компьютерных языков, таких как Фортран, КОБОЛ и БАЗОВЫЙ. Эти языки позволяли определять программы абстрактно, независимо от точных деталей аппаратной архитектуры компьютера. Эти языки в первую очередь предназначались только для задания числовых вычислений.[17]

COBOL был впервые задуман, когда Мэри К. Хоуз созвал собрание (на котором Грейс Хоппер ) в 1959 году, чтобы обсудить, как создать компьютерный язык, которым будут пользоваться все предприятия.[15] Инновация Хоппера с COBOL заключалась в разработке нового символического способа написания программирования.[12] Ее программирование было самодокументированным.[18] Бетти Холбертон помогла отредактировать язык, который был представлен Государственная типография в 1960 г.[19] FORMAC был разработан Жан Э. Саммет в 1960-е гг.[19] Ее книга, Языки программирования: история и основы (1969), стал влиятельным текстом.[19][20]

Миссия Аполлона

Маргарет Гамильтон рядом со стопкой кода, который она и ее команда написали для компьютеров Apollo Mission.

В Миссия Аполлона на Луну зависело от программного обеспечения для программирования компьютеров в посадочных модулях.[21][22] Компьютеры были запрограммированы на языке под названием «Базовый» (никакого отношения к БАЗОВЫЙ язык программирования, разработанный в Дартмуте примерно в то же время).[23] Программное обеспечение также имеет переводчик который состоял из серии рутин и исполнительной власти (как современный Операционная система ), в котором указывалось, какие программы запускать и когда.[23] Оба были разработаны Хэл Лэнинг.[23] Маргарет Гамильтон, который ранее занимался проблемами надежности программного обеспечения при работе над системой противовоздушной обороны США SAGE, также входил в команду разработчиков программного обеспечения Apollo.[21][24] Гамильтон отвечал за бортовое программное обеспечение для полетов компьютеров Apollo.[21] Гамильтон считал, что операции с программным обеспечением - это не просто часть машины, но также неразрывно связаны с людьми, которые управляют программным обеспечением.[23] Гамильтон также ввел термин "программная инженерия "пока она работала в НАСА.[25]

Фактическое «программное обеспечение» компьютеров в миссиях «Аполлон» состояло из проводов, пропущенных через магнитные сердечники.[26] Если провод проходил через магнитный сердечник, это представляло цифру «1», а где провод проходил вокруг сердечника, это представляло «0».[26] Каждое ядро ​​хранит 64 бита информации.[26] Гамильтон и другие создавали программное обеспечение, пробивая отверстия в перфокартах, которые затем обрабатывались на Honeywell мэйнфрейм, на котором можно было моделировать программное обеспечение.[21] Когда код был «твердым», его отправляли для вплетения в магнитные сердечники на Raytheon, где над проводами работали женщины, известные как «старушки».[21] Сама программа была «неразрушимой» и могла выдерживать даже удары молнии, что случалось с Аполлон-12.[26] Подключение компьютеров заняло несколько недель, что остановило разработку программного обеспечения.[27]

Используя симуляторы для тестирования программирования, Гамильтон обнаружил, что код может вызывать опасные ошибки, если при его использовании были допущены человеческие ошибки.[21] В НАСА полагали, что астронавты не совершат ошибок из-за своей подготовки.[28] Гамильтон не разрешалось программировать код для предотвращения ошибок, которые могли бы привести к сбою системы, поэтому она аннотировала код в документации по программе.[21] Ее идеи добавить код проверки ошибок были отвергнуты как «чрезмерные».[21] Однако именно то, что предсказал Гамильтон, произошло на Аполлон 8 полет, когда человеческая ошибка заставила компьютер стереть все навигационные данные.[21]

Связка программного обеспечения с оборудованием и его юридические вопросы

Позже программное обеспечение было продано нескольким клиентам, будучи в комплекте с оборудованием производители оригинального оборудования (OEM), такие как Общие данные, Цифровое оборудование и IBM. Когда клиент купил миникомпьютер, в то время самый маленький компьютер на рынке, компьютер не поставлялся с предустановленное программное обеспечение, но должны были быть установлены инженерами, работающими в OEM.[нужна цитата ]

Этот пакет привлек внимание антимонопольных органов США, которые подал в суд на IBM за ненадлежащую "привязку" в 1969 году, утверждая, что это было нарушение антимонопольного законодательства, поскольку клиенты, которые хотели получить ее программное обеспечение, должны были также купить или арендовать ее оборудование, чтобы сделать это. Однако министерство юстиции США прекратило рассмотрение дела после многих лет истощения, поскольку пришло к выводу, что оно было «необоснованным».[29]

Компания Data General также столкнулась с юридическими проблемами, связанными с пакетированием - хотя в данном случае это произошло из-за гражданского иска со стороны потенциального конкурента. Когда компания Data General представила Данные General Nova компания Digidyne хотела использовать свой RDOS Операционная система сам по себе аппаратный клон. Data General отказался лицензировать свое программное обеспечение и заявили о своих «правах на объединение». Соединенные штаты Верховный суд создать прецедент под названием Digidyne v. Data General в 1985 году, когда решение 9-го окружного апелляционного суда оставалось в силе, компания Data General была в конечном итоге вынуждена лицензировать операционную систему, поскольку было постановлено, что ограничение лицензии только оборудованием DG было незаконным завязывание.[30] Несмотря на то, что Окружной суд отметил, что «ни один разумный присяжный не смог найти, что на этом большом и динамичном рынке с гораздо более крупными конкурентами», Data General «имела рыночную власть, чтобы ограничить торговлю с помощью незаконного соглашения о привязке», связывая операционные система к оборудованию была решена как как таковой незаконно по апелляции.[31]

В 2008, Psystar Corporation подал в суд Apple Inc. за распространение несанкционированных Клоны Macintosh с участием OS X предустановлен и встречает встречный. Один из аргументов встречного иска - со ссылкой на дело Data General - заключался в том, что Apple доминирует на рынке компьютеров, совместимых с OS X, незаконно привязывая операционную систему к компьютерам Apple. Судья районного суда Уильям Алсуп отклонил этот аргумент, заявив, что, поскольку районный суд постановил в деле Data General более 20 лет назад, соответствующий рынок представляет собой не просто одну операционную систему (Mac OS), а все Операционные системы ПК, в том числе Mac OS, и отмечая, что Mac OS не занимает доминирующего положения на этом более широком рынке. В решении Алсупа также отмечалось, что удивительный прецедент Data General о том, что связывание продуктов, защищенных авторским правом, всегда было незаконным, с тех пор был «неявно отменен» вердиктом в Иллинойс Tool Works Inc. против Independent Ink, Inc. кейс.[32]

Пакетное программное обеспечение (конец 1960-х годов - настоящее время)

Отрасль, производящая независимо упакованное программное обеспечение - программное обеспечение, которое не производилось ни в качестве «разового» для отдельного клиента, ни «в комплекте» с компьютерным оборудованием, - начала развиваться в конце 1960-х годов.[33]

Unix (1970-е годы - настоящее время)

Unix была ранней операционной системой, которая стала популярной и очень влиятельной и существует до сих пор. Самый популярный вариант Unix сегодня - это macOS (ранее называлось OS X и Mac OS X), а Linux тесно связан с Unix.

Расцвет микрокомпьютеров

В январе 1975 г. Микро-измерительные и телеметрические системы начал продавать Альтаир 8800 комплект микрокомпьютера по почте. Microsoft выпустила свой первый продукт Альтаир БАЗОВЫЙ позже в том же году любители начали разрабатывать программы для работы с этими наборами. Tiny BASIC был опубликован как программа для ввода текста в Журнал доктора Добба, и разрабатывались совместно.

В 1976 г. Питер Р. Дженнингс например создал свой Microchess программа для Технология MOS с КИМ-1 комплект, но поскольку он не шел с накопителем на магнитной ленте, он отправлял исходный код в небольшом буклете своим клиентам по почте, и им приходилось вводить всю программу вручную. В 1978 году Кэте и Дэн Спраклен выпустили исходники своих Саргон (шахматы) программа в компьютерном журнале. Позже Дженнингс переключился на продажу бумажной ленты и, в конечном итоге, компакт-кассет с программой на ней.

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

Даже с распространением патроны и кассеты в 1980-х годах для распространения коммерческого программного обеспечения бесплатные программы (например, простые образовательные программы для обучения методам программирования) все еще часто печатались, потому что это было дешевле, чем изготовление и прикрепление кассет к журналам.

Однако в конечном итоге комбинация четырех факторов положила конец этой практике печати полных списков исходного кода целых программ в компьютерных журналах:

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

Очень быстро коммерческое программное обеспечение стало пиратский, и производители коммерческого программного обеспечения были очень недовольны этим. Билл Гейтс, соучредитель Microsoft, был одним из первых моралистов против компьютерного пиратства с его знаменитым Открытое письмо любителям в 1976 г.[34]

1980-е годы по настоящее время

До микрокомпьютера успешная программа обычно продавалась до 1000 единиц по 50 000–60 000 долларов каждая. К середине 1980-х годов программное обеспечение для персональных компьютеров было продано тысячами копий по 50–700 долларов каждая. Такие компании, как Microsoft, MicroPro, и Лотус Девелопмент годовые продажи составляли десятки миллионов долларов.[35] Они так же доминировали на европейском рынке с локализованный версии уже успешных продуктов.[36]

Поворотным моментом в истории вычислительной техники стала публикация в 1980-х годах спецификаций для Персональный компьютер IBM опубликовано IBM наемный рабочий Филип Дон Эстридж, что быстро привело к доминированию ПК на мировом рынке настольных ПК, а затем и портативных компьютеров - доминирование, которое продолжается и по сей день. Microsoft после успешных переговоров с IBM о разработке первого Операционная система для ПК (MS-DOS ), получивший огромную прибыль от успеха ПК в последующие десятилетия благодаря успеху MS-DOS и ее надстройки-преемника, Майкрософт Виндоус. Победа в переговорах стала поворотным моментом в истории Microsoft.

Бесплатное программное обеспечение с открытым исходным кодом

Недавние улучшения

Магазины приложений

Приложения для мобильных устройств (сотовые телефоны и планшеты) в последние годы называются «приложениями». Apple выбрала воронку iPhone и iPad продажи приложений через их Магазин приложений, и таким образом оба проверяют приложения и получают долю от каждого проданного платного приложения. Apple не разрешает приложениям, которые можно использовать для обхода их магазина приложений (например, виртуальные машины, такие как виртуальные машины Java или Flash).

В Android платформа, напротив, имеет несколько магазинов приложений, доступных для нее, и пользователи обычно могут выбирать, какой из них использовать (хотя Гугл игры требуется совместимое устройство или устройство с root-доступом).

Этот шаг был воспроизведен для настольных операционных систем с ГНОМ Программное обеспечение (для Linux), Mac App Store (для macOS), а Магазин Windows (для Windows). Все эти платформы остаются, как и всегда, неисключительными: они позволяют устанавливать приложения вне магазина приложений, да и вообще из других магазинов приложений.

Взрывной рост популярности приложений, в частности для iPhone, но также и для Android, привел к своего рода "Золотая лихорадка ", при этом некоторые подающие надежды программисты посвятили значительное количество времени созданию приложений в надежде разбогатеть. Как и во время настоящей золотой лихорадки, не все эти обнадеживающие предприниматели добились успеха.

Формализация разработки ПО

Разработка учебных программ в Информатика привело к улучшениям в разработке программного обеспечения. Компоненты этих учебных программ включают:

  1. Структурированный и Объектно-ориентированный программирование[37]
  2. Структуры данных[38]
  3. Анализ алгоритмов[39]
  4. Формальные языки[40] и конструкция компилятора[41]
  5. Алгоритмы компьютерной графики[42]
  6. Сортировка и поиск[43]
  7. Численные методы,[44] Оптимизация и статистика[45]
  8. Искусственный интеллект[46] и Машинное обучение[47]

Как программное обеспечение повлияло на оборудование

По мере того, как все больше и больше программ входит в сферу прошивки, а само оборудование становится меньше, дешевле и быстрее, как и предсказывает Закон Мура, все большее количество типов вычислений, которые сначала выполняются программным обеспечением, пополнили ряды аппаратных средств, например, с графические процессоры. (Тем не менее, изменение иногда происходило в другую сторону по причине стоимости или по другим причинам, например, с softmodems и микрокод.)

У большинства производителей оборудования сегодня больше программистов на зарплате, чем разработчиков оборудования.[нужна цитата ], поскольку программные средства автоматизировали многие задачи печатная плата (PCB) инженеры.

Хронология компьютерного программного обеспечения и языков программирования

Следующие таблицы включают год за годом развитие множества различных аспектов компьютерного программного обеспечения, включая:

  1. Языки высокого уровня[48][49]
  2. Операционные системы[50]
  3. Сетевое программное обеспечение и приложения[51]
  4. Аппаратное обеспечение компьютерной графики, алгоритмы и приложения[52][53]
  5. Таблицы
  6. Обработка текста
  7. Системы автоматизированного проектирования[54]

1971–1974

1971197219731974
Программирование
языки
CDL
KRL
СЬЮ
C
ИНТЕРКАЛ
PL / M
Пролог
Болтовня
SQL
COMAL
LIS
ML
Speakeasy-3
ОСНОВНАЯ ЧЕТВЕРТАЯ
CLU
ТРАВЫ
ПРОЗА
Операционная
системы
DEC RSTS-11Общие данные
RDOS
Советский АЛГОЛ 68DEC ДОС-11
Компьютер
сети
Возняка
Синий ящик
Боб Меткалф развивается
Ethernet
Компьютер
графика
Видны Ньюэлл и Санча
поверхностный алгоритм
Кэтмюлл и Страбер
разработать z-буфер
CAD / CAMMCS основанныйАДАМАвто-черновикTektronix 4014

1975–1978

1975197619771978
Программирование
языки
ABC
Альтаир БАЗОВЫЙ
CS-4
Modula
Схема
Меса
Плюс
Ratfor
S
SAM76
SAS
Болтовня -76
Синий
Bourne Shell
Commodore BASIC
FP
Икона
IDL
Красный
Стандартные MUMPS
Желтый
IDL
Оболочка C
HAL / S
MATLAB
РПГ III
МАЛЕНЬКИЙ
VisiCalc
SQL
Операционная
системы
CP / MCambridge CAP1BSD2BSD
Apple DOS
Компьютер
сети
Telenet пакет
переключение
Компьютер
графика
EDS основанныйСглаживание
слово
процессоры
Электрический карандашAppleWriter
CAD / CAMТвердотельное моделированиеМакдоннелл Дуглас
покупает Униграфика
Предтеча CATIAРастровая графика дисплей

1979–1982

1979198019811982
Программирование
языки
AWK
Икона
Модула-2
REXX
Вулкан dBase -II
Ада 80
C с классами
CBASIC
BBC BASIC
IBM BASICA
Драко
PostScript
Speakeasy -IV
Операционная
системы
Atari DOS86-ДОСMS-DOS 1
Желудь MOS
Коммодор DOS
Компьютер
сети
UsenetTCP / IP
Компьютер
графика
Силиконовая Графика
основанный
слово
процессоры
WordstarWordPerfect
для DG Mini
Bank Street
AppleWriter II

WordStar 3.0
WordPerfect для DOS

ТаблицаVisiCalcЛотос 1-2-3
CAD / CAMIGESVersaCADDassault SystemsAutodesk основанный

1983–1986

1983198419851986
Программирование
языки
ABAP
Ада 83
C ++
GW-BASIC
Корн Шелл
Цель-C
Оккам
True BASIC
Турбо Паскаль
КЛИППЕР
Common Lisp
Старый добрый MAD (GOM)
OPL
Redcode
РПЛ
Стандартный ML
Matlab
Парадокс
QuickBASIC
CorVision
Эйфель
GFA BASIC
Informix-4GL
LabVIEW
Миранда
Object Pascal
PROMAL
Операционная
системы
MS-DOS 2
Офис Лизы
SunOS 1
MS-DOS 3
Программное обеспечение
Windows 1.0
Atari TOS
AmigaOS
AIX 1
Компьютер
сети
ARPANET разделяет
выключен МИЛНЕТ
Novell NetWare
Исследования в движении основанный
NSFNET соединяет
5 суперкомпьютеров
Компьютер
графика
ATI основанныйIntel 82786
сопроцессор
слово
процессоры
слово 1 для DOSWord 1 для MacWordPerfect 4.2
для DOS
ТаблицаExcel для Mac
CAD / CAMAutodesk релизы
AutoCAD 1.2,1.3,1.4
AutoCAD 2Bentley Systems
Параметрическая технология
AutoLISP

1987–1990

1987198819891990
Программирование
языки
Ада ISO 8652
Чистый
Erlang
HyperTalk
Mathematica
Оберон
Оккам 2
Perl
Я
Турбо Базовый
А +
Оболочка Hamilton C
Объект REXX
Октава
РПГ / 400
ИСКРА
STOS BASIC
Tcl
Mathematica
Баш
LPC
Модула-3
PowerBASIC
Турбо Паскаль ООП
VisSim
FL
AMOS BASIC
AMPL
EuLisp
Haskell
J
Объект Оберон
Z Shell
Операционная
системы
Windows 2.0MS-DOS 4
Windows 2.1x
OS / 2
A / UX
EPCOWindows 3.0
Компьютер
сети
Червь МоррисаВсемирная сеть
начинается
HTML
Компьютер
графика
JPEG и ГифкаPixar's Оловянная игрушка
получает Оскар
AutoDesk 3D Studio
слово
процессоры
Microsoft Работает для DOSЖурнал ПК Отзывы
55 пакетов
WordPerfect 5.1
Word для Windows
Майкрософт офис для Windows
ТаблицаExcel для WindowsQuattro Pro
CAD / CAMДенеба выпускает
Холст X
AutoCAD 9
CATIA 3
AutoCAD 10
Параметрический T-FlexОснование Visionary Design Systems
AutoCAD 11
ACIS 1

1991–1994

1991199219931994
Программирование
языки
GNU E
Оберон-2
Унция
Q
Visual Basic
Python
Турбо Паскаль
Дилан
Рубин
AppleScript
Brainfuck
K
Lua
NewtonScript
р
Стенограмма
Я
ZPL
ЗАКРЫТЬ
ANS Forth
ANSI Common Lisp
Клэр
Щука
БЫСТРЫЙ
Операционная
системы
MS-DOS 5
Linux
Windows 3.1x
386BSD
MS-DOS 6
ОС Ньютон
Солярис
AIX 4.0, 4.1
Компьютер
сети
Веб-браузер MosaicNetWare 4Netscape Navigator
Компьютер
графика
OpenGLNvidia основанный
слово
процессоры
Microsoft РаботаетNovell покупает WordPerfect
CAD / CAMEDS покупает
Униграфика
КАДАМ & CATIA
начать объединение
AutoCAD 12Простой вектор
Формат

1995–1998

1995199619971998
Программирование
языки
Ада 95
Borland Delphi
Холодный синтез
Ява
JavaScript
LiveScript
PHP
Рубин
Завиток
Лассо
NetRexx
OCaml
Язык данных Perl
WebDNA
Компонент Паскаль
E
ECMAScript
F-скрипт
ISLISP
Пико
REBOL
Писк Smalltalk
Чай
Ребол
M2001
Открытый исходный код Erlang
Пикт
PureBasic
Стандартный C ++
UnrealScript
Операционная
системы
Windows 95
Цифровой UNIX
Windows NT 4.0
Palm OS
Inferno
Mac OS 7.6
Mac OS 8
Windows 98
Solaris 7 64-битный
Компьютер
сети
Предложение исследования

для Google был сформирован.

Веб-браузер Mosaic
Inter @ ctive Pager
NetWare 4Netscape Navigator
Компьютер
графика
Pixar Становится общедоступным
после История игрушек
3Dfx ВудуATI Rage ProВуду Банши
слово
процессоры
Word 95 для WindowsCorel покупает WordPerfect
от Novell
CAD / CAMMicroStation Продвинутый
твердотельное моделирование
Холст 5ISO 13567
AutoCAD 14
Dassault Systems покупает
Матра Продукты Datavision

1999–2002

1999200020012002
Программирование
языки
D
Язык GameMaker
Гавань
XSLT
ActionScript
C #
Ферит
Присоединяйтесь к Java
Радость
XL
Visual Basic .NET
AspectJ
GDScript
Обработка
РПГ IV
Госу
Ио
Операционная
системы
Mac OS X Server 1.0
Mac OS 9
Windows 2000
Windows ME
Публичная бета-версия Mac OS X
v10.0 Гепард
v10.1 Пума
Windows XP
64-разрядная версия Windows XP
10.2 Ягуар
Компьютер
сети
BlackBerry 850NetWare 4Netscape Navigator
Компьютер
графика
S3 Savage 4
GeForce 256
Radeon DDR (R100 )Nvidia Киро II
GeForce 3
слово
процессоры
Солнце покупает Звездный Дивизион
CAD / CAMПрофи / Инженер 2000AutoCAD 2000EDS покупает SDRCУниграфика NX
Autodesk покупает Revit

2003–2006

2003200420052006
Программирование
языки
Фактор
Nemerle
Scala
Белка
Алма-0
Бу
FreeBASIC
Groovy
Маленькая б
Подтекст
Ада 2005
F #
Семя7
Кобра
Ссылки
OptimJ
Windows PowerShell
Операционная
системы
v10.3 Пантера
Красная Шапка
Корпоративный Linux
Windows Server 2003
v10.4 Тигр
Ubuntu 5
Windows XP Professional x64 Edition
Компьютер
сети
802,11 г
Apple Safari
Gmail
Facebook основанный
Mozilla Firefox
BlackBerry Pearl 8100

2007–2010

2007200820092010
Программирование
языки
Clojure
Фантом
Крепость
ЛОЛКОД
Оберон-07
Вала
Джинн
Чистый
CoffeeScript
Идти
Идрис
Парасейл
Часовня
РПГ с открытым доступом
Ржавчина
Операционная
системы
Виндоус виста
v10.5 Леопард
AndroidWindows 7
v10.6 Снежный барс
Android 1.5 "Кекс"
Android 1.6 "Пончик"
Android 2.0–2.1 «Эклер»
Android 2.2 «Froyo»
Android 2.3 «Пряник»
Компьютер
сети
Гугл Хром
Хром
Wi-Fi 802.11n
Компьютер
графика
кредо ассасинаВверх Ткань
Моделирование
Аватар выигрывает
"Лучшая картина"
слово
процессоры
Oracle покупает
OpenOffice от Sun
Выпуски Oracle OpenOffice
к Фонд программного обеспечения Apache
CAD / CAMСименс покупает ПХГ

2011–2014

2011201220132014
Программирование
языки
ДротикАда 2012
Эликсир
Юля
Машинопись
Взломать
Swift
Операционная
системы
v10.7 Лев
Android 3.x «Соты»
Android 4.0 «Сэндвич с мороженым»
Windows 8
v10.8 Mountain Lion
Android 4.1.x – 4.2.x «Jelly Bean»
Версия 10.9 Mavericks
Windows 8.1
Android 4.3 «Jelly Bean»
Android 4.4 «KitKat»
v10.10 Йосемити
Android 5.0 «Леденец»
Компьютер
сети
802.11ac
Компьютер
графика
Хьюго получает Оскар
Визуальные эффекты

Смотрите также

использованная литература

  1. ^ Древние открытия, Эпизод 11: Древние роботы, Исторический канал, заархивировано из оригинал 1 марта 2014 г., получено 2008-09-06
  2. ^ а б Эванс 2018, п. 21.
  3. ^ Халли, Майк (2005). Электронный мозг / Истории с начала компьютерной эры. Лондон: Британская радиовещательная корпорация и Granta Books. п. 79. ISBN  1-86207-663-4.
  4. ^ Эванс 2018, п. 39.
  5. ^ Свет 1999, п. 469.
  6. ^ Свет 1999, п. 470.
  7. ^ Свет 1999, п. 472.
  8. ^ Свет 1999, п. 473.
  9. ^ Эванс 2018, п. 51.
  10. ^ Коннолли, Корнелия; Холл, Тони; Ленаган, Джим (10.01.2018). «Женщины, проложившие путь в компьютерном программировании». RTE.ie. Получено 2018-11-25.
  11. ^ Смит 2013, п. 6.
  12. ^ а б Смит 2013, п. 7.
  13. ^ а б c Гюрер 1995, п. 176.
  14. ^ Ceruzzi 1998, п. 84-85.
  15. ^ а б c Гюрер 1995, п. 177.
  16. ^ "Умирает Фрэнсис Холбертон, пионер компьютерных языков". Курьер-Журнал. 12 декабря 2001 г.. Получено 24 ноября, 2018 - через Newspapers.com.
  17. ^ Вольфрам, Стивен (2002). Новый вид науки. Wolfram Media, Inc. стр.1107. ISBN  1-57955-008-8.
  18. ^ Ceruzzi 1998, п. 92.
  19. ^ а б c Гюрер 1995, п. 179.
  20. ^ «Компьютерные власти говорят здесь». Времена. 9 апреля 1972 г.. Получено 13 октября, 2018 - через Newspapers.com.
  21. ^ а б c d е ж г час я Харви IV, Гарри Гулд (13 октября 2015 г.). "Ее код заставил людей на Луне - и сам изобрел программное обеспечение". ПРОВОДНОЙ. Получено 2018-11-25.
  22. ^ различный (14 октября 2019 г.). «Строки кода, которые изменили все; Apollo 11, JPEG, первое всплывающее объявление и 33 другие части программного обеспечения, которые изменили наш мир». slate.com. Получено 17 октября, 2019.CS1 maint: использует параметр авторов (ссылка на сайт)
  23. ^ а б c d Минделл 2008, п. 149.
  24. ^ "Маргарет Гамильтон". Музей истории компьютеров. Получено 2018-11-25.
  25. ^ "Познакомьтесь с Маргарет Гамильтон, ученым, который дал нам" разработку программного обеспечения"". Журнал программного обеспечения IEEE | IEEE Computer Society. 2018-06-08. Получено 2018-11-25.
  26. ^ а б c d Минделл 2008, п. 154.
  27. ^ Минделл 2008, п. 157.
  28. ^ Минделл 2008, п. 160.
  29. ^ Дж. Дэвид Гарсон (январь 2006 г.). Общественные информационные технологии и электронное управление: управление виртуальным государством. Джонс и Бартлетт Обучение. С. 229–. ISBN  978-0-7637-3468-8.
  30. ^ «Соглашения о связывании и компьютерная промышленность: Digidyne Corp. против Data General». JSTOR  1372482. Цитировать журнал требует | журнал = (Помогите)
  31. ^ Судья УАЙТ, к которому присоединяется судья БЛЭКМАН, не согласен.
  32. ^ [1]
  33. ^ Энсменгер, Натан (2010). Компьютерные парни захватывают власть. п. 55. ISBN  978-0-262-05093-7.
  34. ^ Брэд Локвуд (13 октября 2008 г.). Билл Гейтс: Профиль цифрового предпринимателя: Easyread Super Large 18pt Edition. ReadHowYouWant.com. С. 25–. ISBN  978-1-4270-9149-9.
  35. ^ Карузо, Дениз (1984-04-02). "Стратегии компании Бумеранг". InfoWorld. стр. 80–83. Получено 10 февраля 2015.
  36. ^ Шраге, Майкл (17 февраля 1985). «IBM побеждает на европейском компьютерном рынке». Вашингтон Пост. ISSN  0190-8286. Получено 2018-08-29.
  37. ^ Буч, Гради (1997). Объектно-ориентированный анализ и дизайн с приложениями. Эддисон-Уэсли.
  38. ^ Питер Брасс. (2008) Расширенные структуры данных, Издательство Кембриджского университета
  39. ^ Кормен, Томас Х.; Лейзерсон, Чарльз Э.; Ривест, Рональд Л. & Штейн, Клиффорд. (2001) Введение в алгоритмы, MIT Press и McGraw-Hill.
  40. ^ Хопкрофт, Джон Э. и Джеффри Д. Уллман, (1979) Введение в теорию автоматов, языки и вычисления
  41. ^ Ахо, Альфред В., Сетхи, Рави и Ульман, Джеффри Д. (1988). Компиляторы: принципы, методы и инструменты. Эддисон-Уэсли.
  42. ^ Ширли, Питер. (2009) Основы компьютерной графики - 3-е издание
  43. ^ Кнут, Дональд. (1998) Искусство программирования: Том 3: Сортировка и поиск
  44. ^ Press, Уильям Х., Саул А. Теукольский, Уильям Т. Веттерлинг, Брайан П. Фланнери. (2007) Числовые рецепты 3-е издание: Искусство научных вычислений
  45. ^ Барон, Майкл. (2006) Вероятность и статистика для компьютерных ученых
  46. ^ Рассел, Стюарт Дж. и Питер Норвиг (2009) Искусственный интеллект: современный подход (3-е издание)
  47. ^ Митчелл, Том. (1997) Машинное обучение.
  48. ^ Оби, Энтони (2004). Введение в язык программированияs
  49. ^ Вексельблат, Ричард Л. История языков программирования
  50. ^ Лягушки (2005). Операционные системы, внутреннее устройство и принципы проектирования. Пирсон
  51. ^ Куроз, Джеймс; Росс, Кейт (2005). Компьютерные сети: подход сверху вниз. Пирсон.
  52. ^ Уэйн Карлсон (2003) Критическая история компьютерной графики и анимации
  53. ^ Фергюсон, Р. Стюарт. (2013) Практические алгоритмы 3D компьютерной графики
  54. ^ Нараян, К. Лалит (2008). Компьютерное проектирование и производствог. Prentice Hall

Источники