stringtranslate.com

Подготовка программ для электронной цифровой вычислительной машины.

«Подготовка программ для электронного цифрового компьютера» (иногда называемая WWG по инициалам автора) [1] была первой книгой по компьютерному программированию . [2] Опубликованная в 1951 году, она была написана Морисом Уилксом , Дэвидом Уилером и Стэнли Гиллом из Кембриджского университета . Книга основана на опыте авторов по созданию и использованию EDSAC , одного из первых практических компьютеров в мире.

Содержание

Обзор

Это была первая книга, в которой описывался ряд важных концепций программирования, в том числе:

Большая часть книги посвящена описанию библиотеки. Он состоял из восьмидесяти восьми подпрограмм, реализующих математические операции, такие как вычисление тригонометрических функций и арифметические операции над комплексными числами . [5] Библиотека представляла собой физическую коллекцию, хранившуюся в картотеке с перфолентой, кодирующей подпрограммы. Сюда входил « каталог библиотеки », описывающий, как программист может использовать каждую подпрограмму; сегодня это называется документацией API . [3]

Оператор компьютера работает рядом со шкафом с картотекой, содержащей библиотеку подпрограмм для компьютера EDSAC.

Первая часть

Глава 6. Отладка

В этой главе подробно исследуется «корректура» и обнаружение ошибок в программах. Он также не рекомендует проводить частый рефакторинг, поскольку он приводит к большему количеству ошибок, когда программист пытается улучшить программу.

Глава 7 – Примеры программ для EDSAC

Включает примеры расчетов формулы e -sinx и определенного интеграла , интегрирования обыкновенного дифференциального уравнения и оценки преобразования Фурье с использованием программ EDSAC.

Глава 8 – Автоматическое программирование

обсуждается ассемблирование (компиляция) и интерпретация программы, а также обсуждается мотивация «плавающих адресов», которые, в современных терминах, представляют собой ссылки на переменные (сродни ссылкам на переменные C++ ), которые заменяются компилятором реальными адресами памяти в летать каждый раз, когда вызывается подпрограмма.

Часть вторая

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

История публикаций

Книга 1951 года представляла собой массовую версию отчета под названием « Отчет о подготовке программ для EDSAC и использовании библиотеки подпрограмм», написанного в сентябре 1950 года для частного распространения и распространенного не более чем среди 100 человек. Хотя книга была написана в Англии, она была опубликована издательством Аддисон-Уэсли в США. [6] [7] [8]

На момент публикации WWG в мире было очень мало цифровых компьютеров . EDSAC, на котором основана книга, был первым компьютером в мире, предоставившим исследователям практические вычислительные услуги. [1] Первоначально спрос на книгу был настолько ограничен, что на распродажу первого издания ушло шесть лет. [6] Поскольку в 1950-х годах компьютеры стали более распространенными, эта книга на какое-то время стала стандартным учебником по программированию. [3] Второе издание было напечатано в 1957 году. [6] К тому времени технологии продвинулись настолько, что WWG несколько устарела. [9] [10]

Хотя WWG была первой опубликованной книгой по компьютерному программированию, это была не первая работа по этой теме. Предмет программирования был впервые открыт Адой Лавлейс более века назад. Совсем недавно об этом писал Джон фон Нейман , чей отчет EDVAC 1945 года первоначально вдохновил Уилкса на создание EDSAC. [1]

Рекомендации

  1. ^ abcde Кэмпбелл-Келли, Мартин (сентябрь 2011 г.). «Во славу Уилкса, Уиллера и Гилла». Коммуникации АКМ . 54 (9): 25–27. дои : 10.1145/1995376.1995386. S2CID  20261972.
  2. Грегерсен, Эрик (25 ноября 2020 г.). «Подготовка программ для электронной цифровой вычислительной машины». Британская энциклопедия .
  3. ↑ abc Блох, Джошуа (8 августа 2018 г.). Краткая и объективная история API (выступление). ККон. Сан-Франциско: InfoQ . Проверено 28 февраля 2021 г.
  4. Фэйрхед, Гарри (16 ноября 2017 г.). «История компьютерных языков - классическое десятилетие, 1950-е годы». Я Программист . Проверено 28 февраля 2021 г.
  5. ^ Уильямс, Бернард О. (март 1986 г.). «Обзор: [Без названия]». Исида . 77 (1): 157. дои : 10.1086/354083. JSTOR  232546.
  6. ^ abc Норман, Джереми М. «Уилкс, Уиллер и Гилл создают первый трактат о программном обеспечении для оперативного компьютера с хранимыми программами». История информации . Проверено 28 февраля 2021 г.
  7. ^ Крюк, Диана Х.; Норман, Джереми М. (2002). Истоки киберпространства: Библиотека по истории вычислений, сетей и телекоммуникаций (PDF) . Новато, Калифорния. п. 513. ИСБН 0-930405-85-4. Архивировано (PDF) из оригинала 24 октября 2017 г.{{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  8. ^ Кэмпбелл-Келли, Мартин (март 1978 г.). Ранняя деятельность по программированию в Кембриджском университете (отчет). п. 6 . Проверено 1 марта 2021 г. - через Центр истории вычислений .
  9. ^ Фрайбергер, WF (июль 1959 г.). «Обзор: [Без названия]». Ежеквартальный журнал прикладной математики . 17 (2): 223. JSTOR  43634941.
  10. ^ Хэмблен, Джон В. (ноябрь 1958 г.). «Обзор: [Без названия]». Американский математический ежемесячник . 65 (9): 719–720. дои : 10.2307/2308734. JSTOR  2308734.

Внешние ссылки