Программное обеспечение - это набор запрограммированных инструкций, хранящихся в памяти цифровых компьютеров с хранимой программой для выполнения процессором. Программное обеспечение - это недавняя разработка в истории человечества, и она имеет фундаментальное значение для информационного века .
Ада Лавлейс «программа s для Чарльза Бэббиджа » s Analytical Engine в 19 веке часто считается основателем дисциплины, хотя усилия Математика остались только теоретическими, так как технология Лавлейс и Бэббидж день оказалось недостаточно , чтобы построить свой компьютер. Алану Тьюрингу приписывают то, что он был первым человеком, предложившим теорию программного обеспечения в 1935 году, которая привела к двум академическим областям - информатике и программной инженерии .
Первое поколение программного обеспечения для первых цифровых компьютеров с хранимой программой в конце 1940-х годов имело инструкции, написанные непосредственно в двоичном коде , обычно написанном для мэйнфреймов . Позже развитие современных языков программирования наряду с развитием домашнего компьютера значительно расширило бы объем и широту доступного программного обеспечения, начиная с языка ассемблера и продолжая через парадигмы функционального и объектно-ориентированного программирования .
До цифровых компьютеров с хранимой программой
Истоки информатики
Вычислительный как концепция восходит к древним временам, с такими устройствами, как абака , в механизме Антикитера и Al-Джазари «s программируемый замок часов. [1] Однако эти устройства были чисто аппаратными и не имели программного обеспечения - их вычислительные мощности были напрямую связаны с их конкретной формой и конструкцией.
Программное обеспечение требует концепции процессора общего назначения - того, что сейчас называется машиной Тьюринга, - а также компьютерной памяти, в которой многократно используемые наборы подпрограмм и математических функций, составляющих программы, могут храниться, запускаться и останавливаться по отдельности, и только недавно в истории человечества.
Первый известный компьютерный алгоритм был написан Адой Лавлейс в 19 веке для аналитической машины , чтобы перевести работу Луиджи Менабреа по числам Бернулли для машинного обучения. [2] [2] Однако это оставалось только теоретической частью - меньшее состояние инженерной мысли при жизни этих двух математиков оказалось недостаточным для создания аналитической машины.
Первая современная теория программного обеспечения была предложена Аланом Тьюрингом в его эссе 1935 года « Вычислимые числа» с приложением к Entscheidungsproblem (проблеме решения) . [3]
В конечном итоге это привело к созданию двух академических областей - информатики и разработки программного обеспечения , которые одновременно изучают программное обеспечение и его создание. Информатика носит более теоретический характер (эссе Тьюринга является примером информатики), тогда как программная инженерия сосредоточена на более практических задачах.
Однако до 1946 года программное обеспечение, как мы его понимаем сейчас, - программы, хранящиеся в памяти цифровых компьютеров с сохраненными программами - еще не существовало. Вместо этого были перепрограммированы самые первые электронные вычислительные устройства, чтобы «перепрограммировать» их. ENIAC , один из первых электронных вычислительных машин, был запрограммирован в основном женщины , которые были ранее , работающих в качестве человека компьютеров . [4] [5] Инженеры давали программистам чертежи электропроводки ENIAC и ожидали, что они выяснят, как программировать машину. [6] Женщины, которые работали программистами, подготовили ENIAC к его первому публичному показу, соединив коммутационные панели вместе для демонстраций. [7] [8] [9] Кэтлин Бут разработала язык ассемблера в 1950 году, чтобы упростить программирование компьютеров, на которых она работала в колледже Биркбек . [10]
Грейс Хоппер работала в качестве одного из первых программистов Harvard Mark I . [11] Позже она создала руководство для компьютера на 500 страницах. [12] Хоппер часто ошибочно приписывают использование терминов «ошибка» и « отладка », когда она нашла в Mark II мотылька, вызвавшую неисправность; [13] однако этот термин фактически уже использовался, когда она нашла моль. [13] Хоппер разработала первый компилятор и перенесла свою идею из работы над компьютерами Марка в работу над UNIVAC в 1950-х годах. [14] Хоппер также разработал язык программирования FLOW-MATIC для программирования UNIVAC. [13] Фрэнсис Э. Холбертон , также работающая в UNIVAC, разработала код [ требуется пояснение ] , C-10, который позволял программистам использовать ввод с клавиатуры, и создала генератор сортировки-слияния в 1951 году. [15] [16] Адель Милдред Кос. и Хоппер также создал предшественник генератора отчетов . [15]
Первые дни компьютерного программного обеспечения (1948–1979)
В своей рукописи «Математическая теория коммуникации» Клод Шеннон (1916–2001) представил схему того, как двоичную логику можно реализовать для программирования компьютера. Впоследствии первые компьютерные программисты использовали двоичный код, чтобы инструктировать компьютеры выполнять различные задачи. Тем не менее процесс был очень трудным. Компьютерные программисты должны были предоставить длинные строки двоичного кода, чтобы сообщить компьютеру, какие данные хранить. Код и данные приходилось загружать в компьютеры с помощью различных утомительных механизмов, включая щелчки переключателей или пробивание отверстий в заранее определенных положениях на картах и загрузку этих перфокарт в компьютер. При использовании таких методов, если была допущена ошибка, всю программу, возможно, придется загружать заново с самого начала.
Самый первый раз, когда компьютер с хранимой программой содержал часть программного обеспечения в электронной памяти и успешно его выполнил, был 11 часов утра 21 июня 1948 года в Манчестерском университете на компьютере Manchester Baby . Он был написан Томом Килбурном и рассчитал наибольший множитель целого числа 2 ^ 18 = 262,144. Начиная с большого пробного делителя, он выполнил деление 262 144 путем повторного вычитания, а затем проверил, равен ли остаток нулю. Если нет, он уменьшает пробный делитель на единицу и повторяет процесс. Google выпустил дань уважения Manchester Baby, отметив его как «рождение программного обеспечения».
COBOL был впервые задуман, когда Мэри К. Хоуз созвала встречу (на которой присутствовала Грейс Хоппер ) в 1959 году, чтобы обсудить, как создать компьютерный язык, которым будут пользоваться все предприятия. [15] Инновация Хоппера с COBOL заключалась в разработке нового символического способа написания программирования. [12] Ее программирование было самодокументированным. [17] Бетти Холбертон помогла отредактировать язык, который был представлен в Государственную типографию в 1960 году. [18] FORMAC был разработан Жаном Э. Самметом в 1960-х годах. [18] Ее книга « Языки программирования: история и основы» (1969) стала влиятельным текстом. [18] [19]
Миссия Аполлона
Apollo Миссия на Луну зависит от программного обеспечения для программирования компьютеров в посадочных модулях. [20] [21] Компьютеры были запрограммированы на языке под названием «Базовый» (никакого отношения к языку программирования BASIC, разработанному в Дартмуте примерно в то же время). [22] Программное обеспечение также имело интерпретатор, который состоял из ряда подпрограмм и исполнительного устройства (как современная операционная система ), который указывал, какие программы запускать и когда. [22] Оба были разработаны Хэлом Лэнингом . [22] Маргарет Гамильтон , которая ранее занималась проблемами надежности программного обеспечения при работе над системой противовоздушной обороны США SAGE, также была частью команды разработчиков программного обеспечения Apollo. [20] [23] Гамильтон отвечал за бортовое программное обеспечение для полета компьютеров Apollo. [20] Гамильтон считал, что операции с программным обеспечением были не только частью машины, но и неразрывно связаны с людьми, которые управляли программным обеспечением. [22] Гамильтон также ввела термин « разработка программного обеспечения », когда она работала в НАСА. [24]
Фактическое «программное обеспечение» для компьютеров в миссиях «Аполлон» состояло из проводов, пропущенных через магнитные сердечники. [25] Если провод проходил через магнитный сердечник, это представляло цифру «1», а где провод проходил вокруг сердечника, это представляло «0». [25] Каждое ядро хранит 64 бита информации. [25] Гамильтон и другие создавали программное обеспечение, пробивая дыры в перфокартах, которые затем обрабатывались на мэйнфрейме Honeywell, где программное обеспечение могло быть смоделировано. [20] Когда код был «твердым», его отправляли для вплетения в магнитные сердечники в Raytheon , где женщины, известные как «Маленькие старушки», работали с проводами. [20] Сама программа была «неразрушимой» и могла даже противостоять ударам молнии, что случилось с Аполлоном-12 . [25] Подключение компьютеров заняло несколько недель, что остановило разработку программного обеспечения. [26]
Используя симуляторы для тестирования программирования, Гамильтон обнаружил, что код может вызывать опасные ошибки, если при его использовании были допущены человеческие ошибки. [20] НАСА полагало, что астронавты не совершат ошибок из-за своей подготовки. [27] Гамильтон не разрешили программировать код для предотвращения ошибок, которые могли бы привести к сбою системы, поэтому она аннотировала код в программной документации. [20] Ее идеи добавить код проверки ошибок были отклонены как "чрезмерные". [20] Однако именно то, что предсказывал Гамильтон, произошло во время полета Аполлона-8 , когда из-за человеческой ошибки компьютер стер все навигационные данные. [20]
Связка программного обеспечения с оборудованием и его юридические вопросы
Позже программное обеспечение было продано нескольким клиентам в комплекте с оборудованием от производителей оригинального оборудования (OEM), таких как Data General , Digital Equipment и IBM. Когда клиент покупал миникомпьютер , который в то время был самым маленьким компьютером на рынке, на нем не было предустановленного программного обеспечения , а требовалось, чтобы его устанавливали инженеры, нанятые производителем оригинального оборудования. [ необходима цитата ]
Этот пакет привлек внимание антимонопольных регуляторов США, которые в 1969 году подали на IBM в суд за ненадлежащее «связывание» , утверждая, что это было нарушение антимонопольного законодательства, и клиенты, которые хотели получить его программное обеспечение, должны были также купить или арендовать его оборудование, чтобы сделать это. Однако министерство юстиции США прекратило рассмотрение дела после многих лет истощения, поскольку пришло к выводу, что оно было «необоснованным». [28]
Компания Data General также столкнулась с юридическими проблемами, связанными с пакетированием - хотя в данном случае это произошло из-за гражданского иска со стороны потенциального конкурента. Когда Data General представила Data General Nova , компания Digidyne хотела использовать свою операционную систему RDOS на своем собственном клоне оборудования . Data General отказались лицензировать свое программное обеспечение и заявили о своих «правах на объединение». Верховный суд США создал прецедент под названием Digidyne v. Data General в 1985 году, оставив в силе решение апелляционного суда 9-го округа по этому делу, и Data General в конечном итоге была вынуждена лицензировать операционную систему, поскольку было принято решение, ограничивающее лицензию только DG. оборудование было незаконным связующим звеном . [29] Несмотря на то, что Окружной суд отметил, что «ни один разумный присяжный не смог найти, что на этом большом и динамичном рынке с гораздо более крупными конкурентами», Data General «имела рыночную власть, чтобы ограничить торговлю с помощью незаконного соглашения о привязке», операционной системы на аппаратное обеспечение было признано незаконным как таковое по апелляции. [30]
В 2008 году компания Apple Inc. подала в суд на Psystar Corporation за распространение несанкционированных клонов Macintosh с предустановленной OS X и подала встречный иск . Один из аргументов встречного иска - со ссылкой на дело Data General - заключался в том, что Apple доминирует на рынке компьютеров, совместимых с OS X, незаконно привязывая операционную систему к компьютерам Apple. Судья районного суда Уильям Алсуп отклонил этот аргумент, заявив, что, поскольку районный суд постановил в деле Data General более 20 лет назад, соответствующий рынок представляет собой не просто одну операционную систему (Mac OS), а все операционные системы ПК, включая Mac OS. и отмечая, что Mac OS не занимает доминирующего положения на этом более широком рынке. Суд Alsup также отметил , что удивительно Общие данные прецедент , что связывание защищенных авторским правом продуктов всегда было незаконно было с тех пор «неявно отменено» по приговору в Illinois Tool Works Inc. против. Independent Ink, Inc. случае. [31]
Пакетное программное обеспечение (конец 1960-х годов - настоящее время)
Индустрия, производящая независимо упакованное программное обеспечение - программное обеспечение, которое не производилось ни в качестве «разового» для отдельного клиента, ни «в комплекте» с компьютерным оборудованием, - начала развиваться в конце 1960-х. [32]
Unix (1970-е годы - настоящее время)
Unix была ранней операционной системой, которая стала популярной и очень влиятельной и существует до сих пор. Самым популярным вариантом Unix сегодня является macOS (ранее называвшаяся OS X и Mac OS X), тогда как Linux тесно связан с Unix.
Расцвет микрокомпьютеров
В январе 1975 года компания Micro Instrumentation and Telemetry Systems начала продавать свой микрокомпьютерный комплект Altair 8800 по почте. Позднее в том же году Microsoft выпустила свой первый продукт Altair BASIC , и любители начали разрабатывать программы для этих наборов. Крошечный BASIC был опубликован в качестве типа-в программе в журнале доктор Добба , и разработан совместно.
В 1976 году Питер Р. Дженнингс , например , создал свою Microchess программу MOS Technology «s KIM-1 комплект, но так как он не пришел с накопителя на магнитной ленте, он будет посылать исходный код в маленьком буклете своим клиентам посылочной , и им придется набирать всю программу вручную. В 1978 году Кэте и Дэн Спраклен опубликовали исходный код своей программы « Саргон» (шахматы) в компьютерном журнале. Позже Дженнингс переключился на продажу бумажной ленты и, в конечном итоге, компакт-кассет с программой на ней.
Это был неудобный и медленный процесс ввода исходного кода из компьютерного журнала, и один опечатанный или, что еще хуже, неправильно напечатанный символ мог сделать программу неработоспособной, но люди все равно делали это. ( Технология оптического распознавания символов , которую теоретически можно было использовать для сканирования списков, а не для их расшифровки вручную, еще не получила широкого распространения.)
Даже с распространением картриджей и кассетных лент в 1980-х годах для распространения коммерческого программного обеспечения, бесплатные программы (например, простые образовательные программы для обучения методам программирования) по-прежнему часто печатались, потому что это было дешевле, чем изготовление и прикрепление кассет к журналы.
Однако в конечном итоге сочетание четырех факторов положило конец этой практике публикации полных списков исходного кода целых программ в компьютерных журналах:
- программы начали становиться очень большими
- дискеты стали использоваться для распространения программного обеспечения, а затем подешевели
- обычные люди начали использовать компьютеры - и им нужен был простой способ запустить программу
- компьютерные журналы начали публиковать кассеты или дискеты с бесплатными или пробными версиями программного обеспечения на них
Очень быстро коммерческое программное обеспечение стало пиратским , и производители коммерческого программного обеспечения были очень недовольны этим. Билл Гейтс , соучредитель Microsoft , был одним из первых моралистов против компьютерного пиратства в своем знаменитом Открытом письме любителям в 1976 году [33].
1980-е годы по настоящее время
До микрокомпьютера успешная программа обычно продавалась до 1000 единиц по 50 000–60 000 долларов каждая. К середине 1980-х программное обеспечение для персональных компьютеров было продано тысячами копий по 50–700 долларов каждая. Такие компании, как Microsoft, MicroPro и Lotus Development, имели годовые продажи в десятки миллионов долларов. [34] Они также доминировали на европейском рынке с локализованными версиями уже успешных продуктов. [35]
Поворотный момент в компьютерной истории стала публикация в 1980 спецификаций для IBM Personal Computer , опубликованных IBM сотрудник Филип Дон Эстридж , который быстро привел к господству ПК на мировом рабочем столе , а позже ноутбуков рынки - доминированию , который продолжает и по сей день. Microsoft, успешно ведя переговоры с IBM о разработке первой операционной системы для ПК ( MS-DOS ), извлекла огромную выгоду из успеха ПК в последующие десятилетия благодаря успеху MS-DOS и ее надстройки-преемника, Microsoft Windows . Победа в переговорах стала поворотным моментом в истории Microsoft.
Бесплатное программное обеспечение с открытым исходным кодом
Недавние улучшения
Магазины приложений
Приложения для мобильных устройств (сотовые телефоны и планшеты) в последние годы называются «приложениями». Apple решила направлять продажи приложений для iPhone и iPad через свой App Store , и таким образом оба проверяли приложения и получали долю от каждого проданного платного приложения. Apple не разрешает приложениям, которые можно использовать для обхода их магазина приложений (например, виртуальные машины, такие как виртуальные машины Java или Flash).
Платформа Android , напротив, имеет несколько магазинов приложений, и пользователи обычно могут выбирать, какое из них использовать (хотя для Google Play требуется совместимое или рутированное устройство).
Этот шаг был воспроизведен для настольных операционных систем с программным обеспечением GNOME (для Linux), Mac App Store (для macOS) и Windows Store (для Windows). Все эти платформы остаются, как и всегда, неисключительными: они позволяют устанавливать приложения вне магазина приложений, да и вообще из других магазинов приложений.
Взрывной рост популярности приложений, в частности для iPhone, но также и для Android, привел к своего рода « золотой лихорадке », когда некоторые обнадеживающие программисты посвятили значительное количество времени созданию приложений в надежде разбогатеть. Как и в случае настоящей золотой лихорадки, не все эти обнадеживающие предприниматели добились успеха.
Формализация разработки программного обеспечения
Развитие учебных программ по информатике привело к улучшениям в разработке программного обеспечения. Компоненты этих учебных программ включают:
- Структурированное и объектно-ориентированное программирование [36]
- Структуры данных [37]
- Анализ алгоритмов [38]
- Формальные языки [39] и конструкция компилятора [40]
- Алгоритмы компьютерной графики [41]
- Сортировка и поиск [42]
- Численные методы , [43] Оптимизация и статистика [44]
- Искусственный интеллект [45] и машинное обучение [46]
Как программное обеспечение повлияло на оборудование
По мере того, как все больше и больше программ входит в сферу микропрограмм, а само оборудование становится меньше, дешевле и быстрее, как предсказывает закон Мура , все большее количество типов вычислительных функций, сначала выполняемых программным обеспечением, пополнило ряды оборудования, так как например, с графическими процессорами . (Однако изменение иногда происходило в обратном направлении по соображениям стоимости или по другим причинам, как, например, с программными модемами и микрокодом .)
Большинство компаний, производящих оборудование, сегодня имеют больше программистов на заработной плате, чем разработчиков оборудования [ цитата необходима ] , поскольку программные средства автоматизировали многие задачи инженеров печатных плат (PCB).
Хронология компьютерного программного обеспечения и языков программирования
Следующие таблицы включают год за годом развитие множества различных аспектов компьютерного программного обеспечения, включая:
- Языки высокого уровня [47] [48]
- Операционные системы [49]
- Сетевое программное обеспечение и приложения [50]
- Аппаратное обеспечение, алгоритмы и приложения компьютерной графики [51] [52]
- Таблицы
- Обработка текста
- Компьютерное проектирование [53]
1971–1974
1971 г. | 1972 г. | 1973 | 1974 г. | |
---|---|---|---|---|
Программирование языков | ЦДЛ ХРЛ ГУП | C INTERCAL PL / M Prolog Smalltalk SQL | COMAL LIS ML Speakeasy-3 | ОСНОВНЫЕ ЧЕТЫРЕ CLU GRASS ПРОЗА |
Операционные системы | DEC RSTS-11 | Данные General RDOS | Советский АЛГОЛ 68 | DEC DOS-11 |
Компьютерные сети | Синяя шкатулка Возняка | Боб Меткалф разрабатывает Ethernet | ||
Компьютерная графика | Алгоритм видимой поверхности Newell & Sancha | Catmull & Straber разработали z-буфер | ||
CAD / CAM | MCS основана | АДАМ | Авто-черновик | Tektronix 4014 |
1975–1978
1975 г. | 1976 г. | 1977 г. | 1978 г. | |
---|---|---|---|---|
Программирование языков | ABC Altair BASIC CS-4 Модульная схема | Mesa Plus RatFor S SAM76 SAS Smalltalk -76 | Синий Bourne Shell Commodore BASIC FP Значок IDL Красный Стандартный MUMPS Желтый IDL | Оболочка C HAL / S MATLAB RPG III МАЛЕНЬКИЙ VisiCalc SQL |
Операционные системы | CP / M | Cambridge CAP | 1BSD | 2BSD Apple DOS |
Компьютерные сети | Коммутация пакетов Telenet | |||
Компьютерная графика | EDS основана | Сглаживание | ||
Текстовые процессоры | Электрический карандаш | AppleWriter | ||
CAD / CAM | Твердотельное моделирование | McDonnell Douglas покупает Unigraphics | Предтеча CATIA | Отображение растровой графики |
1979–1982
1979 г. | 1980 г. | 1981 г. | 1982 г. | |
---|---|---|---|---|
Программирование языков | AWK Icon Modula-2 REXX Vulcan dBase- II | Ada 80 C с классами CBASIC | BASIC BBC IBM BASICA | Драко PostScript Speakeasy -IV |
Операционные системы | Atari DOS | 86-ДОС | MS-DOS 1 Acorn MOS | Коммодор DOS |
Компьютерные сети | Usenet | TCP / IP | ||
Компьютерная графика | Silicon Graphics основана | |||
Текстовые процессоры | Wordstar | WordPerfect для DG Mini | Банк Стрит AppleWriter II | WordStar 3.0 |
Таблица | VisiCalc | Лотос 1-2-3 | ||
CAD / CAM | IGES | VersaCAD | Dassault Systems | Autodesk основана |
1983–1986
1983 г. | 1984 | 1985 г. | 1986 г. | |
---|---|---|---|---|
Программирование языков | ABAP Ada 83 C ++ GW-BASIC Korn Shell Objective-C occam True BASIC Turbo Pascal | CLIPPER Common Lisp Старый добрый MAD (GOM) OPL Redcode RPL Standard ML Matlab | Paradox QuickBASIC | CorVision Eiffel GFA BASIC Informix-4GL LabVIEW Miranda Object Pascal PROMAL |
Операционные системы | MS-DOS 2 Lisa Office SunOS 1 | Системное программное обеспечение MS-DOS 3 | Windows 1.0 Atari TOS AmigaOS | AIX 1 |
Компьютерные сети | ARPANET отделяется от MILNET | Novell NetWare Research In Motion основана | NSFNET соединяет 5 суперкомпьютеров | |
Компьютерная графика | ATI основала | Сопроцессор Intel 82786 | ||
Текстовые процессоры | Слово 1 для DOS | Word 1 для Mac | WordPerfect 4.2 для DOS | |
Таблица | Excel для Mac | |||
CAD / CAM | Autodesk выпускает AutoCAD 1.2,1.3,1.4 | AutoCAD 2 | Параметрическая технология Bentley Systems | AutoLISP |
1987–1990
1987 г. | 1988 г. | 1989 г. | 1990 г. | |
---|---|---|---|---|
Программирование языков | Ada ISO 8652 Clean Erlang HyperTalk Mathematica Oberon occam 2 Perl Self Turbo Basic | Оболочка A + Hamilton C Object REXX Octave RPG / 400 SPARK STOS BASIC Tcl Mathematica | Bash LPC Modula-3 PowerBASIC Turbo Pascal ООП VisSim FL | AMOS BASIC AMPL EuLisp Haskell J Object Oberon Z Shell |
Операционные системы | Windows 2.0 | MS-DOS 4 Windows 2.1x OS / 2 A / UX | EPCO | Windows 3.0 |
Компьютерные сети | Червь Морриса | World Wide Web запускается | HTML | |
Компьютерная графика | JPEG и GIF | Оловянная игрушка Pixar получила премию "Оскар" | AutoDesk 3D Studio | |
Текстовые процессоры | Microsoft Works для DOS | PC Magazine Обзоры 55 пакетов | WordPerfect 5.1 Word для Windows | Microsoft Office для Windows |
Таблица | Excel для Windows | Quattro Pro | ||
CAD / CAM | Deneba выпускает Canvas X AutoCAD 9 | CATIA 3 AutoCAD 10 | Параметрический T-Flex | Компания Visionary Design Systems основала AutoCAD 11 ACIS 1 |
1991–1994
1991 г. | 1992 г. | 1993 г. | 1994 г. | |
---|---|---|---|---|
Программирование языков | GNU E Oberon-2 Oz Q Visual Basic Python | Турбо Паскаль Дилан | Ruby AppleScript Brainfuck K Lua NewtonScript R Транскрипт Self ZPL | ЗАКРЫТЬ ANS Forth ANSI Common Lisp Claire Pike RAPID |
Операционные системы | MS-DOS 5 Linux | Windows 3.1x 386BSD | MS-DOS 6 Newton OS Solaris | AIX 4.0, 4.1 |
Компьютерные сети | Веб-браузер Mosaic | NetWare 4 | Netscape Navigator | |
Компьютерная графика | OpenGL | Nvidia основана | ||
Текстовые процессоры | Microsoft Работает | Novell покупает WordPerfect | ||
CAD / CAM | EDS покупает Unigraphics | CADAM и CATIA начинают объединение | AutoCAD 12 | Простой векторный формат |
1995–1998
1995 г. | 1996 г. | 1997 г. | 1998 г. | |
---|---|---|---|---|
Программирование языков | Ada 95 Borland Delphi ColdFusion Java JavaScript LiveScript PHP Ruby | Curl Lasso NetRexx OCaml Perl Язык данных WebDNA | Компонент Pascal E ECMAScript F-Script ISLISP Pico REBOL Squeak Smalltalk Tea Rebol | M2001 Открытый исходный код Erlang Pikt PureBasic Standard C ++ UnrealScript |
Операционные системы | Windows 95 Цифровая UNIX | Windows NT 4.0 Palm OS | Инферно Mac OS 7.6 Mac OS 8 | Windows 98 Solaris 7 64-разрядная. |
Компьютерные сети | Предложение исследования для Google . | Веб-браузер Mosaic Inter @ ctive Pager | NetWare 4 | Netscape Navigator |
Компьютерная графика | Pixar становится публичной после Истории игрушек | 3Dfx Вуду | ATI Rage Pro | Вуду Банши |
Текстовые процессоры | Word 95 для Windows | Corel покупает WordPerfect у Novell | ||
CAD / CAM | MicroStation Advanced твердотельное моделирование | Холст 5 | ISO 13567 AutoCAD 14 | Dassault Systems покупает продукты Matra Datavision |
1999–2002
1999 г. | 2000 г. | 2001 г. | 2002 г. | |
---|---|---|---|---|
Программирование языков | D GameMaker Language Harbor XSLT | ActionScript C # Ferite Присоединяйтесь к Java Joy XL Visual Basic .NET | AspectJ GDScript Обработка RPG IV | Госу Ио |
Операционные системы | Mac OS X Server 1.0 Mac OS 9 | Windows 2000 Windows ME Mac OS X общедоступная бета-версия | v10.0 Cheetah v10.1 Puma Windows XP | 64-разрядная версия Windows XP 10.2 Jaguar |
Компьютерные сети | BlackBerry 850 | NetWare 4 | Netscape Navigator | |
Компьютерная графика | S3 Savage 4 GeForce 256 | Radeon DDR ( R100 ) | Nvidia Kyro II GeForce 3 | |
Текстовые процессоры | Sun покупает Star Division | |||
CAD / CAM | Pro / Engineer 2000 | AutoCAD 2000 | EDS покупает SDRC | Unigraphics NX Autodesk покупает Revit |
2003–2006 гг.
2003 г. | 2004 г. | 2005 г. | 2006 г. | |
---|---|---|---|---|
Программирование языков | Фактор Немерле Скала Белка | Alma-0 Boo FreeBASIC Groovy Little b Подтекст | Ада 2005 F # Seed7 | Cobra Links OptimJ Windows PowerShell |
Операционные системы | Версия 10.3 Пантера Red Hat Enterprise Linux Windows Server 2003 | Версия 10.4 Tiger Ubuntu 5 Windows XP Professional x64 Edition | ||
Компьютерные сети | 802.11g Apple Safari | Gmail Facebook основал Mozilla Firefox | BlackBerry Pearl 8100 |
2007–2010 гг.
2007 г. | 2008 г. | 2009 г. | 2010 г. | |
---|---|---|---|---|
Программирование языков | Clojure Fantom Fortress ЛОЛКОД Оберон-07 Вала | Genie Pure | CoffeeScript Go Idris Парасейл | Chapel RPG Открытый доступ Rust |
Операционные системы | Windows Vista v10.5 Leopard | Android | Windows 7 v10.6 Snow Leopard Android 1.5 "Cupcake" Android 1.6 "Donut" Android 2.0–2.1 "Eclair" | Android 2.2 «Froyo» Android 2.3 «Пряник» |
Компьютерные сети | Google Chrome Chromium | Wi-Fi 802.11n | ||
Компьютерная графика | кредо ассасина | Моделированиеткани вверх | Аватар получает премию "Лучшее изображение" | |
Текстовые процессоры | Oracle покупает OpenOffice у Sun | Oracle выпускает OpenOffice для Apache Software Foundation | ||
CAD / CAM | Сименс покупает ПХГ |
2011–2014 гг.
2011 г. | 2012 г. | 2013 | 2014 г. | |
---|---|---|---|---|
Программирование языков | Дротик | Ада 2012 Эликсир Джулия TypeScript CryEngine # CryEngine 3 ( BeamNG.drive ) | Взломать Swift | |
Операционные системы | v10.7 Lion Android 3.x "Honeycomb" Android 4.0 "Ice Cream Sandwich" | Windows 8 v10.8 Mountain Lion Android 4.1.x – 4.2.x «Jelly Bean» | v10.9 Mavericks Windows 8.1 Android 4.3 "Jelly Bean" Android 4.4 "KitKat" | v10.10 Yosemite Android 5.0 «Леденец» |
Компьютерные сети | 802.11ac | |||
Компьютерная графика | Хьюго получил премию "Оскар" за визуальные эффекты | CryEngine3 и его трехмерная физика мягких тел |
Смотрите также
- Криминалистическая программная инженерия
- История вычислительной техники
- История операционных систем
- История программной инженерии
- Список неудачных и сверхбюджетных заказных программных проектов
- Женщины в вычислительной технике
- Хронология женщин в вычислениях
Рекомендации
- ^ Ancient Discoveries, Episode 11: Ancient Robots , History Channel , заархивировано из оригинала 1 марта 2014 г. , получено 6 сентября 2008 г.
- ^ а б Эванс 2018 , стр. 21.
- ^ Халли, Майк (2005). Электронные мозги / Истории с начала компьютерной эры . Лондон: Британская радиовещательная корпорация и Granta Books. п. 79. ISBN 1-86207-663-4.
- ^ Эванс 2018 , стр. 39.
- Перейти ↑ Light 1999 , p. 469.
- Перейти ↑ Light 1999 , p. 470.
- Перейти ↑ Light 1999 , p. 472.
- Перейти ↑ Light 1999 , p. 473.
- ^ Эванс 2018 , стр. 51.
- ^ Коннолли, Корнелия; Холл, Тони; Ленаган, Джим (10.01.2018). «Женщины, проложившие путь в компьютерном программировании» . RTE.ie . Проверено 25 ноября 2018 .
- ^ Смит 2013 , стр. 6.
- ^ а б Смит 2013 , стр. 7.
- ^ a b c Gürer 1995 , стр. 176.
- ^ Ceruzzi 1998 , стр. 84-85.
- ^ a b c Gürer 1995 , стр. 177.
- ^ «Умирает Фрэнсис Холбертон, пионер компьютерных языков» . Курьер-журнал . 12 декабря 2001 . Проверено 24 ноября 2018 г. - через Newspapers.com.
- ^ Ceruzzi 1998 , стр. 92.
- ^ a b c Gürer 1995 , стр. 179.
- ^ «Компьютерные власти говорят здесь» . The Times . 9 апреля 1972 . Проверено 13 октября 2018 г. - через Newspapers.com.
- ^ Б с д е е г ч I Харви IV, Гарри Гулд (13 октября 2015 г.). «Ее код получил людей на Луне - и сам изобрел программное обеспечение» . ПРОВОДНОЙ . Проверено 25 ноября 2018 .
- ^ различный (14 октября 2019 г.). «Строки кода, которые изменили все; Apollo 11, JPEG, первая всплывающая реклама и 33 другие части программного обеспечения, которые изменили наш мир» . slate.com . Проверено 17 октября 2019 года .CS1 maint: использует параметр авторов ( ссылка )
- ^ а б в г Минделл 2008 , стр. 149.
- ^ «Маргарет Гамильтон» . Музей истории компьютеров . Проверено 25 ноября 2018 .
- ^ «Познакомьтесь с Маргарет Гамильтон, ученым, который дал нам« программную инженерию » » . Журнал программного обеспечения IEEE | Компьютерное общество IEEE . 2018-06-08 . Проверено 25 ноября 2018 .
- ^ а б в г Минделл 2008 , стр. 154.
- ^ Минделл 2008 , стр. 157.
- ^ Минделл 2008 , стр. 160.
- ^ Дж. Дэвид Гарсон (январь 2006 г.). Общественные информационные технологии и электронное управление: управление виртуальным государством . Джонс и Бартлетт Обучение. С. 229–. ISBN 978-0-7637-3468-8.
- ^ «Связующие соглашения и компьютерная промышленность: Digidyne Corp. против Data General». JSTOR 1372482 . Цитировать журнал требует
|journal=
( помощь ) - ^ Справедливость БЕЛАЯ, с которым судья Блэкман присоединяется, несогласные.
- ^ [1]
- ^ Энсменгер, Натан (2010). Компьютерные мальчики берут верх . п. 55. ISBN 978-0-262-05093-7.
- ^ Брэд Локвуд (13 октября 2008 г.). Билл Гейтс: Профиль цифрового предпринимателя: Easyread Super Large 18pt Edition . ReadHowYouWant.com. С. 25–. ISBN 978-1-4270-9149-9.
- ^ Карузо, Дениз (1984-04-02). "Стратегии компании Бумеранг" . InfoWorld . С. 80–83 . Проверено 10 февраля 2015 года .
- ^ Шраге, Майкл (17 февраля 1985). «IBM побеждает на европейском компьютерном рынке» . Вашингтон Пост . ISSN 0190-8286 . Проверено 29 августа 2018 .
- ^ Буча, Грейди (1997). Объектно-ориентированный анализ и дизайн с приложениями . Эддисон-Уэсли.
- ^ Питер Брасс. (2008) Расширенные структуры данных , Cambridge University Press
- ^ Кормен, Томас Х .; Лейзерсон, Чарльз Э .; Ривест, Рональд Л. и Стейн, Клиффорд . (2001) Введение в алгоритмы , MIT Press и McGraw-Hill.
- ^ Хопкрофт, Джон Э. и Джеффри Д. Ульман , (1979) Введение в теорию автоматов, языки и вычисления
- ↑ Ахо, Альфред В. , Сетхи, Рави и Ульман, Джеффри Д. (1988). Компиляторы: принципы, методы и инструменты . Эддисон-Уэсли.
- ^ Ширли, Питер . (2009) Основы компьютерной графики - 3-е издание
- ^ Кнут, Дональд . (1998) Искусство программирования : Том 3: Сортировка и поиск
- ^ Press, Уильям Х. , Сол А. Теукольский , Уильям Т. Веттерлинг , Брайан П. Фланнери . (2007) Цифровые рецепты, 3-е издание: Искусство научных вычислений
- ^ Барон, Майкл. (2006) Вероятность и статистика для компьютерных ученых
- ^ Рассел, Стюарт Дж. И Питер Норвиг (2009) Искусственный интеллект: современный подход (3-е издание)
- ^ Митчелл, Том . (1997) Машинное обучение .
- ^ Aaby, Энтони (2004). Введение в язык программирования s
- ^ Wexelblat, Ричард Л. История языков программирования
- Перейти ↑ Stallings (2005). Операционные системы, внутреннее устройство и принципы проектирования . Пирсон
- ^ Куроз, Джеймс; Росс, Кейт (2005). Компьютерные сети: подход сверху вниз . Пирсон.
- ^ Уэйн Карлсон (2003) Критическая история компьютерной графики и анимации
- ^ Фергюсон, Р. Стюарт. (2013) Практические алгоритмы для компьютерной 3D-графики
- ^ Нараян, К. Лалит (2008). Компьютерное проектирование и производство g. Прентис Холл
Источники
- Ceruzzi, Пол Э. (1998). История вычислительной техники . Кембридж, Массачусетс: MIT Press. ISBN 9780262032551 - через EBSCOhost.
- Эванс, Клэр Л. (2018). Широкий диапазон: нерассказанная история женщин, которые сделали Интернет . Нью-Йорк: Портфолио / Пингвин. ISBN 9780735211759.
- Гюрер, Дениз (1995). «Женщины-первопроходцы в области компьютерных наук» (PDF) . Коммуникации ACM . 38 (1): 45–54. DOI : 10.1145 / 204865.204875 . S2CID 6626310 .
- Свет, Дженнифер С. (1999). «Когда компьютеры были женщинами». Технологии и культура . 40 (3): 455–483. DOI : 10.1353 / tech.1999.0128 . JSTOR 25147356 . S2CID 108407884 .
- Минделл, Дэвид А. (2008). Цифровой Аполлон: человек и машина в космическом полете . Кембридж, Массачусетс: MIT Press. ISBN 9780262266680.
- Смит, Эрика Э. (2013). «Признание коллективного наследования через историю женщин в вычислительной технике» . CLCWeb: Сравнительная литература и культура . 15 (1): 1–9. DOI : 10.7771 / 1481-4374.1972 .
Внешние ссылки
- СМИ, связанные с историей программного обеспечения на Викискладе?