К о м п а н и я    " С Н А Й П е р "

Весь спектр работ по обслуживанию
компьютеров и оргтехники
для офиса и дома

(3412) 721-544
8 (922) 5000-535
Обслуживание ЛВС * Видеонаблюдение * ПО * Защита данных * Восстановление данных
Для вас Антивирусы
Скачать Утилиты * Программы * Инструкции

Главная » Это интересно » Гений программирования

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

Эпитеты в превосходной степени всегда расходую экономно, чтобы не допускать их девальвации. За 35 лет работы на вычислительных машинах мне удалось встретить всего лишь трех программистов, которых считаю талантливыми. К гениям в программировании отношу только Грейс Мюррей Хоппер, адмирала ВМС США, третьего программиста на первом компьютере США, создательницу языка программирования сверхвысокого уровня КОБОЛ.

Есть некоторые понятия, для которых не найдено исчерпывающего определения. Мы не беремся объяснить, что такое "красота", "любовь", "талант", "гениальность", но, тем не менее, безошибочно определяем их наличие или отсутствие. Гениальные достижения, в отличие от "просто талантливых", современниками не осознаются в полной мере. Со временем талантливое становится привычным, а гениальное приобретает все большую значимость. Гениальное может оказаться невостребованным или востребованным частично, но это уже проблема общества, способного либо неспособного оценить по достоинству свое достояние.

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

Первый, общепринятый, изначально основан на главенстве компьютера: человек должен был изучить язык (систему команд) машины; следующая ступенька -- автокод; затем -- ассемблер, макроассемблер, языки программирования низкого, среднего и более или менее высокого уровня.

Второй предполагал некоторую уступку компьютеру: программа создавалась на подмножестве естественного языка с полностью формализованным синтаксисом и семантикой. Больше никаких уступок не было и не предвиделось. Так возник в 1959 г. и живет до сих пор КОБОЛ -- язык сверхвысокого уровня.

Ревизия прикладного программного обеспечения, проведенная в 1996 г. в связи с Проблемой 2000, показала, что не менее 70% промышленного программного обеспечения в мире создано именно на КОБОЛе. Половина программистов-профессионалов США в настоящее время работает на этом языке. Компиляторы для КОБОЛа, учитывающие новые веяния (Visual-средства, объекты, Web-программирование и пр.), имеются практически для всех платформ и операционных систем.

Что в имени тебе моем?

Аббревиатура COBOL образована от Common Business Oriented Language, что можно перевести как "язык для экономических задач". Именно такое представление о назначении КОБОЛа существует со времен СССР и до сегодняшнего дня.

Если учесть, что на этом языке были написаны также первые эмуляторы системы команд бортовых вычислительных устройств, предназначенных для управления торпедными и ракетными стрельбами из атомных подводных лодок США, и многие другие приложения, направленные на разрушение экономики потенциального противника, то интерпретация названия может восприниматься как специфическая шутка.

Тем не менее изобразительные средства КОБОЛа оказались настолько гибкими, эффективными и универсальными, что именно из него вышли многие СУБД, генераторы отчетов и другой инструментарий, действительно широко применяемый в коммерческом программном обеспечении. Задолго до явления Internet народу в КОБОЛ были встроены пять операторов, позволяющих работать с электронной почтой. Только описание концепций современного КОБОЛа занимает около 1000 страниц.

При всем при этом у КОБОЛа не было и нет притязаний на роль универсального языка программирования. Его ниша -- разработка эффективно управляемых больших и очень больших проектов (многие миллионы строк исходного текста) обработки данных; причем данные могут иметь структуру практически неограниченной сложности.

Я силен, чего скрывать...

Мое первое впечатление от КОБОЛа было далеко не благоприятное. По сравнению с ФОРТРАНОМ, на котором я писал программы численного анализа, новый язык показался тяжеловесным, неуклюжим, слишком многословным и даже неряшливым. Пришлось заставить себя дочитать руководство по программированию до последней странички, и тогда стала понятной область, где ему не было равных ни в то далекое время, ни сейчас.

Разумеется, даже очень хорошим инструментом можно работать плохо, но будем предполагать, что он попадает в хорошие руки. При профессиональном подходе к разработке ПО COBOL обеспечивает решение обширного перечня задач:

  • * Создание программ, текст которых понятен непрограммисту, коим все чаще является постановщик задачи.
  • * Самодокументирование подпрограммы, программы, подсистемы, системы, проекта.
  • * Преемственность исходного текста программы. На протяжении многих лет программу
  • могут сопровождать независимые программисты, подхватывая и передавая эстафету.
  • * Независимость от наличия "самородков", у которых программы работают только в присутствии автора.
  • * Переносимость программ (независимость исходного текста от платформы, периферийных устройств и операционной системы).
  • * Высокая управляемость проектом любого масштаба.
  • * Возможность взаимодействия с другими языками программирования.
  • * Произвольное преобразование форматов данных встроенными средствами языка.
  • * Манипуляция данными практически произвольной структуры.
  • * Работа с файлами всех типов во всех допустимых режимах доступа.
  • * Наследование соглашений о языке от самой первой версии до последней. Устаревшие изобразительные средства поддерживаются достаточно долго, чтобы избежать "революционных" потрясений.
  • * Наличие компиляторов практически для всех платформ и операционных систем.
  • * Традиционно эффективные унифицированные средства отладки на всех уровнях разработки (от подпрограммы до проекта) как в режиме интерпретации, так и на уровне исполняемого кода.
  • * Учет современных тенденций (visual-, object-, Web-программирование) не в ущерб традиционной методике промышленного программирования.
  • * Последовательно реализован принцип "разделяй и властвуй":
    + среда разработки отделена от среды внедрения;
    + среда оборудования отделена от среды обработки;
    + разделены внешние и внутренние имена файлов;
    + описания данных отделены от процедур обработки;
    + исключены свойства данных "по умолчанию";
    + проект может иметь иерархическую структуру произвольной глубины.
  • * Высокая продуктивность разработки проектов.

Перечислено, естественно, не все, но для непредвзятого специалиста и этого достаточно.
КОБОЛ -- одна из наших упущенных возможностей качественного программирования.

Первопроходец

Слова "первая, впервые" многократно связаны с именем Г. Хоппер. Она работала на первом электромеханическом вычислительном устройстве США Mark I; при габаритах 15,3 x 2,4 x 2,4 м память компьютера составляла 72 слова и он мог выполнять три операции сложения в секунду. На нем Хоппер проводила вычисления для артиллерийских стрельб.

В 1951 г. именно она обнаружила первого компьютерного "жука" (bug). Подробнее

В 1952 г. Хоппер разработала первый компилятор. До этого момента все считали, что машина способна выполнять только вычислительные операции. По словам Хоппер, она сделала его "из лени, надеясь на то, что программист сможет снова стать математиком".

В 1955 г. был разработан первый компилятор для языка FLOW-MATIC, многие идеи которого вошли в разработку платформенно-независимого языка КОБОЛ; его первые спецификации появились в 1959 г., а уже в 1962 г. принят первый международный стандарт языка КОБОЛ. При активном участии Хоппер разрабатывался аппарат подпрограмм, язык ФОРТРАН, механизм косвенной адресации, процедуры оптимизации исполняемого кода и манипуляция символами.

В 1969 г., помимо множества разнообразных наград, Хоппер получила самую престижную в области компьютинга награду "Человек года", а также стала первой женщиной, чьи заслуги отмечены в области обработки данных.

В 1971 г. была учреждена премия имени Хоппер для молодых профессионалов в области программирования.

В 1973 г. Грейс, первую из специалистов США и первую из женщин мира, ввели в высшее общество Британских компьютерных наук.

В декабре 1983 г. на церемонии в Белом доме Хоппер присвоили звание коммодора, а два года спустя специальным указом Президента США (первой и единственной из женщин) -- контр-адмирала, что позволило ей стать адмиралом Хоппер.

Вышедшая в отставку в августе 1986 г. адмирал Хоппер была первой, кто в США до 80-летнего возраста оставался на действительной воинской службе.

Зеркало души

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

Грейс Хоппер родилась 9 декабря 1906 г. За свою долгую жизнь она смогла проявить себя в разных видах деятельности и всегда с выдающимися результатами: в математике, программировании, преподавании (работу со студентами она считала своим главным делом), социальных исследованиях, корпоративной политике, бизнесе, проектировании систем, разработке стандартов. Занявшись программированием в 37-летнем возрасте, она доказала, что "ничто никогда не поздно", и подтверждала это не только на протяжении последующих сорока лет активной работы, но и нескольких лет работы консультантом корпорации DEC до 1 января 1992 г., когда Грейс Хоппер получила последнюю награду свыше: она скончалась во сне.

Это интересно

Афоризмы про программистов

Моя любимая порода собак - @. (Сергей Федин)

Программист – это не человек, это просто новая форма жизни. (Неизвестный автор)

Если муху с монитора ты сгоняешь мышкой, значит, тебе пора идти домой. (Неизвестный автор)

Если мысли не помещаются в голове, заархивируйте их. (Неизвестный автор)

Если ваш компьютер завис: выдерните шнур, выдавите стекло. (Неизвестный автор)

Прежде чем удалить файл, убедись, что он не твой. (Неизвестный автор)

Если программист в 9-00 утра на работе, значит, он там и ночевал. (Неизвестный автор)

Ничего так не украшает женщину, как Фотошоп. (Неизвестный автор)


Компания "СНАЙПер"  /   г.Ижевск, ул.пер.Северный, д.61, оф.107   /   office@snaiper.info   /   (3412) 721-544   /   8-922-5000-535

Рейтинг@Mail.ru www.izhevskinfo.ru drweb Яндекс цитирования