Настоящие программисты не используют Паскаль - Страница 2
OS/370 по настоящему удивительная система. В ней можно уничтожить работы стоимостью несколько человеко-дней с помощью одного неправильно помещенного пробела, так-что штат программистов всегда должен быть на чеку. Наилучший способ общения с системой - через перфоратор. Некоторые утверждают, что в OS/370 существует система разделения времени, но после внимательного изучения я пришел к выводу, что они ошибаются.
Какие инструменты использует настоящий программист в своей работе? Теоретически, настоящий программист может запускать свои программы, набирая их на передней панели ЭВМ. В добрые старые времена, когда ЭВМ имели передние панели, этот метод использовался время от времени. Типичный настоящий программист знал наизусть начальный загрузчик в шестнадцатиричной системе и восстанавливал его с пульта, когда он разрушался его программой. Более того, память была памятью - ее содержимое не пропадало при выключении питания. В настоящее время память либо забывает факты, когда вы этого не хотите, либо помнит о вещах, которые давно следовало бы забыть. Ходит легенда, что Seymour Cray, изобретатель супер-ЭВМ Cray-1 и большинства ЭВМ фирмы Control Data, ввел с пульта наизусть первую операционную систему ЭВМ CDC 7600 при первом включении этой ЭВМ. Конечно, Cray настоящий программист.
Одним из моих любимых настоящих программистов был Джим системный программист фирмы Texas Instruments. Однажды, ему по междугородному телефону позвонил пользователь, чья система разрушилась в процессе очень важной работы. Джим исправил систему по телефону, заставляя пользователя набирать на передней панели ЭВМ команды обращения к диску, исправлять системные таблицы в шестнадцатиричной системе и считывать ему по телефону содержимое регистров. Мораль этой истории: хотя настоящий программист обычно включает в набор своих инструментов перфоратор и АЦПУ, он может в экстренных ситуациях обойтись передней панелью ЭВМ и телефоном.
В некоторых фирмах редактирование текстов программ больше не представляет собой очередь из 10 инженеров, ожидающих освобождения перфоратора 029. Более того, здание где я работал не содержит вообще ни одного перфоратора. Настоящий программист в таких условиях должен выполнять работу с помощью текстового редактора. Большинство систем предлагают на выбор несколько текстовых редакторов, но настоящий программист должен быть очень осторожен в выборе, отражающего его индивидуальность. Многие думают, что наилучшие текстовые редакторы в мире написаны в исследовательском центре фирмы Xerox в Palo Alto для работы с ЭВМ марок Alto и Dorado. К сожалению, ни один настоящий программист не будет работать на ЭВМ с операционной системой под названием Smalltalk (короткий разговор) и конечно же не будет беседовать с ЭВМ с помощью "мышки".
Некоторые из концепций этих редакторов фирмы Xerox были реализованы в редакторах, работающих в операционных системах с более солидными названиями, такими как EMACS и VI. Дело в том, что настоящий программист считает плохим следующий принцип редактора: "То, что вы видите, то вы и получите". Настоящий программист желает редактор с принципом: "Вы это просили, вот вам"; т.е. редактор, который был бы сложным, шифрованным, мощным, непрощающим и опасным. Редактор TECO - чтобы быть точным.
Было замечено, что последовательность команд TECO более напоминает помехи в линии передачи, чем читаемый текст. Одна из самых развлекательных игр с TECO - напечатать в качестве командной строки свою фамилию и попытаться догадаться, что она сделает. Точно так же любая случайная опечатка при работе с TECO может разрушить вашу программу, или, хуже того, внести неуловимые и мистические ошибки в уже работающую программу.
Из-за этого настоящие программисты неохотно редактируют уже работающие программы. Они считают более простым непосредственно латать двоичный объектный код, используя прекрасную программу под названием SuperZap (или ее эквивалент на не-IBM машинах). Этот метод настолько хорош, что многие программы, работающие на ЭВМ фирмы ИБМ, не имеют ничего общего со своим собственным текстом на Фортране. В большом количестве случаев первоначальный символьный текст программы вообще не существует. Когда наступает время подправить такого рода программу, никакой администратор даже не думает послать на эту работу кого-либо, кроме настоящего программиста - никакой сосунок (структурный программист) не будут знать даже с чего начать. Это называется защита от несанкционированного доступа.
Некоторые не используемые настоящим программистом средства программирования включают:
- препроцессоры Фортрана, такие как Mortran и Ratfor; эти
кулинарные рецепты в программировании хороши для выпечки
фруктового пирога;
- отладчики для работы с текстом программы; настоящие про
граммисты могут свободно читать распечатку оперативной
памяти;
- компиляторы с проверкой границ массива; эти компиляторы
душат творчество, запрещая наиболее интересные варианты
оператора EQUIVALENCE и препятствуют модификации операци
онной системы с помощью отрицательных индексов массивов.
Кроме всего прочего, контроль границ массива не эффективен;
- системы сопровождения и архивизации символьных текстов
программ; настоящий программист хранит текст своих
программ в закрытом на замок ящике (на перфокартах), т.к.
владелец не может оставить свои программы без охраны.
Где же работает типичный настоящий программист ? Какие программы достойны таких талантливых индивидумов ? Вы можете быть уверены, что настоящий программист не умрет за написанием программы "Зарплата" на Коболе или сортируя список почтовых отправлений журнала People. Настоящий программист желает задачи с важностью землетрясения.
Настоящие программисты работают на национальную лабораторию в Лос-Аламосе, создавая программы на супер ЭВМ Cray-1, моделирующие атомную бомбу. Они так же работают на Агенство по Национальной Безопасности, расшифровывая передачи русских.
В большой степени из-за усилий тысяч настоящих программистов, работающих в NASA, наши ребята добрались до Луны и вернулись обратно, опередив космонавтов. ЭВМ в космическом корабле "Шатл" были запрограммированы настоящими программистами, и эти же истинные профессионалы работают на фирму Боинг, создавая операционные системы для крылатых ракет.