|
|||
|
|||
История с программированием |
|||
Не все молодые хакеры (юзеры, ламмеры, геймеры и т.п.) знают, что в этом году у нас грядет юбилей – 12 августа 1981 года корпорация International Business Machines (расшифровка для тех, кто произносит ЫБМ вместо правильного Ай- Би –Эм) объявила выпуск устройства со скромным названием IBM PC (процессор Intel 8086, память 64 Кбайт, 2xFDD по 160 Кбайт, видео – MDA (Monochrome Display Adapter, 25 строк по 80 символов). Нет смысла говорить, что появление этой игрушки со временем перевернуло наш мир больше, чем колесо, паровоз и атомная бомба вместе взятые.Так что – двадцать лет, срок немалый. Поэтому хотелось бы поделиться этими историческими записками с теми, для кого и Windows’95 – старая и забытая система.Ибо – кто не уважает прошлого – не имеет для себя будущего. Разговор пойдет не столько о железе (железо оно и есть железо), сколько об операционных системах, пользовательском интерфейсе и методологии программирования). Что было до нашей эры? Кое что было. Книги по вычислительной технике 20 – 30 летней давности еще упоминают такие имена как Блез Паскаль, Чарльз Бэббидж и его подружка Ада Лавлейс (первая программистка в истории человечества). До этого еще был азаитский абак и его европейский клон – знакомые всем, кому за сорок, счеты на костяшках. Тридцать лет назад вычислениям на счетах обучали в школе, а в университете (ни где нибудь, а в МГУ) студентов – экономистов учили работать на столетней давности арифмометре Однера (была такая железная машинка с крутящейся ручкой справа) Современные вычислительные средства никогда уже не превзойдут стариков по моральному долголетию – счеты применялись в повседневной жизни несколько тысячелетий (когда Иуда получал свой гонорар, тогдашняя бухгалтерия учла эти тридцать сребренников на счетах). Арифмометр и его модификации применялись в повседневной практике более ста лет. Даже не так далекая от нас IBM/360 (в переводе на русский – ЕС ЭВМ) пробыла на вершине вычислительной техники четверть века (с середины шестидесятых), а кое где применяется и до сих пор (в основном, за рубежом, где не любят зря тратить деньги). Куда до них моделям процессоров, которые меняются раз в полгода.Паскаль придумал одно из первых механических вычислительных устройств – великий математик и физик видимо был ленив, и ему надоело умножать и делить на бумажке «столбиком». Теперь его имя стало именем языка программирования, как и имя инженера Дизеля стало именем двигателя. Не все сильно продвинутые программисты на Delphi знают, что Паскаль в прежней жизни был человеком.Бэббидж принес в мир вычислений великую идею – его механический вычислитель умел не только складывать, умножать и запоминать результаты вычислений. В память машины стали вводить и последовательность операций, необходимую для решения поставленной задачи – появилось понятие программирования. Американец Герман Холлерит придумал первый дешевый носитель больших объемов информации для электромеханических устройств – перфокарту (это такая картонка с дырочками). На одну перфокарту помещалось сначала 45, а потом – 80 цифр или символов. Именно поэтому даже самые современные компьютеры, работая в текстовом режиме, отображают на мониторе строки длиной по 80 символов. Для обработки большого количества карточек Холлерит придумал табулятор, на котором в начале века уже считались результаты переписи населения. Для производства табуляторов в 1911 году им была основана небольшая фирмочка, впоследствии получившее название – International Business Machines. Так что в крутом компьютерном бизнесе Билл Гейтс был не первым.Зачатки информационных технологий появились в обороне – к началу первой мировой войны на флотах великих держав системы управления артиллерийским огнем были в большой степени автоматизированы (настолько, насколько позволяла тогдашняя техника). Для серьезного скачка не хватало двух вещей – соответствующего «железа», физических средств обработки данных, и «софта», то есть стройной теории информации и процессов управления и связи. Во время второй мировой войны возникла острая необходимость решения этих вопросов – для управления войсками, управления зенитной обороной, решения задач обработки радиолокационной информации. Ответ на первый вопрос дало появление электронных устройств – электронно-вакуумных анодно-катодных ламп, разработанных для нужд радиотехники. На второй вопрос ответил Норберт Винер – отец кибернетики и его апостолы (Уильям Р. Эшби, Клод Шеннон и другие). Вышедшая в 1947 году небольшая книжка Винера «Кибернетика, или управление и связь в животном и машине» открыла миру, что наряду с известными общемировыми понятиями – пространством, временем, веществом, энергией существует еще одно, не менее важное – информация и, следовательно, необходимы инструменты для ее обработки. Ну, и поехало ... Первое поколение – ламповые машины. У них – Mark I и ENIAC(Electronic Number Integrator And Calculator), у нас –МЭСМ (Модель Электронной Счетной Машины), созданная под руководством С.А.Лебедева, имя которого носит Институт точной механики и вычислительной техники в Москве на Ленинском проспекте. Эти машины использовались только для решения серьезных оборонных задач или (что оставалось) в фундаментальных исследованиях, требующих большого объема вычислительных операций.Возможности этих аппаратов, занимающих несколко баскетбольных залов, вызывают ироническую улыбку у современного профессионала. Но – они были первыми! Надежность машин – в том же стиле (15 минут без сбоя – достижение). Кстати именно оттуда пошел термин bug (и соответственно – debug). Это не шутка веселого программиста, а реальный, живой таракан, залезший погреться на платы памяти и устроивший своими лапками много проблем разработчикам машины.Поддержка пользователя в то время – только список машинных команд (одно-, двух-, или трехадресных). Вычислил на машине что-нибудь выдающееся – для сохранения результата сам гоняй по поверхности головку магнитного барабана (прадедушка HDD), мотай взад-вперед ленту накопителя (прабабушка ZIP), или посылай по символу на АЦПУ (Алфавитно-Цифровое Печатающее Устройство – девичья фамилия нынешнего принтера). Лучем света в темном царстве технологии программирования стало появление Автокода – программы, транслирующей понятные слова СЛ X,Y (сложить X с Y-ком) вместо малопонятного набора цифр 50 00043237 01234598 – в машинном коде.Именно тогда ленивые программисты создали первые системные программы – общие для всех программы ввода-вывода информации. Их полезность пережила десятилетия – и сейчас у самого навороченного Pentium IV есть зашитый в памяти материнской платы BIOS (Basic Input-Output System – базовая система ввода вывода).Все бы хорошо – но в мир вычислительных машин впервые вошли полупроводники, маленькие кремниевые кристаллы, гораздо более надежные и производительные, чем громоздкие электронно-вакуумные лампы. P.S. Кстати, никто не поверит, но в те времена даже электронно-лучевая трубка (или CRT по буржуйски) использовалась не как средство представления (монитор), а как средство хранения оперативной информации (cash), зафиксированной на люминофоре катодным лучем. Продолжение? – следует... OleVin ( olevin@euro.ru )
|
|||
|
|||
Copyright © "Internet Zone", info@izcity.com | |||
Копирование и использование данных материалов разрешается только в случае указания на журнал "Internet Zone", как на источник получения информации. При этом во всех ссылках обязательно явное указание адреса вэб-сайта http://www.izcity.com/. При наличии у копируемого материала авторов и источника информации - их также нужно указывать, наряду со ссылкой на нас. |