Новости it-компаний

Рецепт эволюции серверных процессоров от Sun Microsystems

News image

Удивительное часто находится где-то рядом, просто мы далеко не всегда замечаем это. Пока одни специалисты ли...

Наши цели

Авторизация



Развитие технологий:

Компьютер PS/2

Накал конкурентной борьбы заставил разработчиков IBM на время отказаться от принципа открытой архитектуры . Новое семейство моделей ПК IBM по...

Компьютеры пятого поколения (1985 — по настоящее время)

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



Грейс Хоппер
История - Развитие программного обеспечения

В годы второй мировой войны Грейс Хоппер (Grace Murray Hopper), вступившая в женскую добровольную организацию содействия, была направлена на работу в Гарвардский университет, в отдел, занимавшийся вычислениями для нужд артиллерии.

Здесь, по ее словам, она стала «третьим в мире программистом первого в мире большого цифрового компьютера», «Марка-1». Она вспоминала: «В те дни мы не назывались программистами. Это слово еще не дошло до нас из Англии. Мы были кодировщиками). Однако Хоппер и ее коллеги Роберт Кэмпбел и Ричард Блок заложили исключительно прочный фундамент методов программирования.

Ввиду того что основной задачей гарвардского «Марка-1» было вычисление артиллерийских баллистических таблиц, в нем предусматривались некоторые математические операции общего назначения. Однако Грейс Хоппер и ее коллеги убедились, что для решения с помощью этой машины конкретных задач, как правило, требуются более специфические средства. И они справились с решением этой задачи наилучшим образом.

«Мы стали писать подпрограммы», - вспоминала Грейс Хоппер. Под этим подразумевались многократно используемые последовательности команд, построенные таким образом, чтобы из них можно было компоновать более крупные сегменты или блоки внутри программ.

Если программистам требовались подпрограммы, написанные ранее кем-либо другим, то они переписывали их из его блокнотика. Таким образом, хотя само слово «подпрограмма» было придумано несколько позднее, можно считать, что один из главных приемов современного программирования впервые стал применяться еще в 1944 г.

В следующем году Грейс Хоппер и ее коллеги ввели другое - столь же фундаментальное, хотя и менее привлекательное - понятие программистской деятельности. Однажды жарким, влажным летним днем таинственная неисправность заставила замолчать громыхающий компьютер «Марк-1 ». После тщательно проведенного исследования программисты установили, что контакты одного из реле были заблокированы останками мотылька, невесть как проникшего через лабиринт электрических цепей компьютера. С предельной осторожностью мотылька извлекли пинцетом, а это событие зафиксировали в журнале, который по распоряжению командования ВМС США педантично заполнялся на протяжении всей работы компьютера.

Сопроводительная подпись гласила: «Первый достоверный случай обнаружения насекомого «bug». Позднее Грейс Хоппер вспоминала: «Когда к нам зашел офицер, чтобы узнать, чем мы занимаемся, мы ответили, что очищаем компьютер от насекомых debugging. Термин «дебаггин» (отладка) с тех пор прижился и стал использоваться для обозначения поиска неисправностей в компьютере, особенно в программном обеспечении.

Тот самый «жук», от которого происходит слово «bug»

Грейс Мюррей Хоппер, математик и пионер программирования. В 40-х годах, находясь на службе в ВМС США, она работала в Гарвардском университете на компьютере «Марк-1», проявив при этом незаурядное искусство в устранении технических неполадок. Она обнаружила и документально зафиксировала в рабочем журнале случай технической неисправности компьютера из-за насекомого, попавшего в одно из тысяч реле машины. Приведенная здесь запись в журнале гласит: «Реле 70 Панелъ F (жук) в реле. Первый достоверный случай обнаружения насекомого.»

Игра слов: в английском языке слово bug имеет несколько значений, в том числе и насекомое, и техническая неисправность.


В 1949 г. Хоппер перешла в компьютерную фирму Экерта и Мочли, где приняла участие в создании машины «Юнивак-1». Этой организации Грейс Хоппер оставалась верна и после того, как фирму поглотила компания «Ремингтон Рэнд» Remington Rand, и потом, когда последняя объединил ась с корпорацией Sperry «Сперри», образовав фирму «Сперри Рэнд» Sperry Rand, вплоть до ухода на пенсию в 1971 г., уже из отдела «Юнивак». На протяжении всего этого периода компьютерной истории Грейс Хоппер неустанно отстаивала мысль, что для - программирования следует использовать языки высокого уровня, т. е. языки, в определенном смысле возможно более близкие к естественному человеческому языку.

«Это были дни, полные неопределенности, - говорила Грейс Хоппер, вспоминая время, когда еще неоперившаяся компания Экерта и Мочли ютилась в помещении старой фабрики на севере Филадельфии. - Когда машина «Юнивак-1» не работала, мы, бывало, говорили, что не мешало бы ее зашвырнуть за забор на ту сторону, где была свалка, а самим махнуть на другую сторону - на кладбище».

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

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

В октябре 1951 г. Грейс Хоппер получила задание создать набор стандартных математических подпрограмм для машины «Юнивак-1». В процессе работы она заметила, что ее коллеги, как и программисты гарвардского компьютера «Марк-1», занимались переписыванием отдельных фрагментов и подпрограмм из одной программы в другую. «Этот способ был порочен по двум причинам,» - говорила Грейс Хоппер.

Во-первых, ввиду того что при переносе подпрограммы в другую программу приходилось менять все числа, задающие адреса конкретного месторасположения программы в памяти машины. Обычно эти адреса образовывали группу последовательных номеров. Поэтому для внесения подпрограммы в другую программу требовалось прибавить к каждому адресу подпрограммы некоторую константу, а, как отмечала Хоппер, «складывают программисты ужасно плохо».

Во-вторых, общеизвестно, что программисты крайне невнимательны при переписывании программ. Грейс Хоппер вспоминала: «Оставалось лишь поражаться, как часто цифра 4 превращалась в букву дельта (мы использовали ее для обозначения пробела) или букву А. Даже буква В умудрял ась становиться числом 13. Когда программисты занимались переписыванием подпрограмм, могло произойти что угодно. Очевидно, для подобной работы требовалось какое-то устройство, единственным назначением которого было бы аккуратное выполнение операций копирования и сложения».

 


Читайте:


Добавить комментарий


Защитный код
Обновить

Computer Pioneer

News image

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

Дэвид Паккард, один из основателей компании Hewlett-Packard

News image

За свою легендарную полувековую карьеру Дэвид Паккард оказал огромное влияние на развитие современной электронной индустрии и методов управления. Сегодня Hewlett-Packard - ...

Жесткие диски для ноутбуков становятся тоньше

News image

На данный момент жесткие диски для ноутбуков могут быть толщиной 9,5 мм и 12,5 мм. Первые получили наибольшее распространение, а об...

MacBU подытоживает две тысячи девятый год

News image

Как прошел 2009 год в компании, которую традиционно принято считать вторым крупнейшим разработчиков ПО для платформы Apple Macintosh? В Microsoft Ma...

Financial Times обещает iTablet уже в следующем месяце

News image

Конец декабря редакция Financial Times решила скрасить очередной порцией слухов о планшетнике Apple. По данным издания, это устройство, покорившее заголовки СМ...

Внедрение 6-ядерных процессоров Intel Xeon может потребовать

News image

Изданию Fudzilla стали известны подробности по первому 6-ядерному процессору Intel Xeon. Он получит обозначение Core i7 980X, а его несущая тактовая ча...

VESA официально утвердила стандарт mini DisplayPort

News image

Презентованный Apple осенью 2008-го новый видеоинтерфейс mini DisplayPort (сокращенно mDP) вызвал неоднозначную реакцию, отголоски которой оставались различимыми вплоть до вчерашнего дн...

Планшетный Мак покажут 26 января?

News image

За несколько дней до начала нового 2010 года онлайн-пресса разразилась новым потоком слухов на тему планшетного компьютера Apple: сначала хорошо ос...