Настоящие программисты не используют Паскаль - [3]
Некоторые не используемые настоящим программистом средства программирования включают:
- препроцессоры Фортрана, такие как Mortran и Ratfor; эти
кулинарные рецепты в программировании хороши для выпечки
фруктового пирога;
- отладчики для работы с текстом программы; настоящие про
граммисты могут свободно читать распечатку оперативной
памяти;
- компиляторы с проверкой границ массива; эти компиляторы
душат творчество, запрещая наиболее интересные варианты
оператора EQUIVALENCE и препятствуют модификации операци
онной системы с помощью отрицательных индексов массивов.
Кроме всего прочего, контроль границ массива не эффективен;
- системы сопровождения и архивизации символьных текстов
программ; настоящий программист хранит текст своих
программ в закрытом на замок ящике (на перфокартах), т.к.
владелец не может оставить свои программы без охраны.
Где же работает типичный настоящий программист ? Какие программы достойны таких талантливых индивидумов ? Вы можете быть уверены, что настоящий программист не умрет за написанием программы "Зарплата" на Коболе или сортируя список почтовых отправлений журнала People. Настоящий программист желает задачи с важностью землетрясения.
Настоящие программисты работают на национальную лабораторию в Лос-Аламосе, создавая программы на супер ЭВМ Cray-1, моделирующие атомную бомбу. Они так же работают на Агенство по Национальной Безопасности, расшифровывая передачи русских.
В большой степени из-за усилий тысяч настоящих программистов, работающих в NASA, наши ребята добрались до Луны и вернулись обратно, опередив космонавтов. ЭВМ в космическом корабле "Шатл" были запрограммированы настоящими программистами, и эти же истинные профессионалы работают на фирму Боинг, создавая операционные системы для крылатых ракет.
Одна из приводящих в благоговейный трепет работ настоящих программистов выполнена в Лаборатории реактивного движения, Калифорния. Многие знают всю операционную систему космических кораблей "Пионер" и "Вояджер" наизусть. С помощью симбиоза больших наземных фортрановских программ и маденьких бортовых ассемблерных, они могут совершать невероятные чудеса в навигации и импровизации - такие, как попасть в окно шириной 10 км в кольце Сатурна после 6-ти лет полета в космосе и починить или обойти неисправные сенсорные платформы, радиопередатчики или аккумуляторы. Утверждают, что один настоящий программист умудрился засунуть прграмму распознавания образов в несколько сот байт неиспользованной памяти корабля "Вояджер", которая осуществляла поиск, обнаружила и сфотографировала новую луну Юпитера.
Одна из планируемых задач для корабля "Галлилей" - использовать притяжение Марса на траектории полета к Юпитеру. Эта траектория проходит в 80 +/- 3 км от поверхности Марса. Никто не собирается доверить паскалевской программе или программисту такую навигационную задачу.
Многие из настоящих программистов всего мира работают на правительство США, в основном в Министерстве Обороны. Так и должно быть. Однако, недавно на небосклоне настоящих программистов появилась черная туча. Кажется, что кто-то из высокопоставленных сосунков в Министерстве Обороны решил, что все оборонные программы должны быть написаны на некоем великом унифицированном языке ADA. Некоторое время казалось, что ADA была предназначена стать языком, который шел вразрез со всеми правилами настоящего программирования. Это язык со структурой, типами данных, строгим синтаксисом и точками с запятой. Короче, он был разработан для сдерживания творчества типичного настоящего программиста. К счастью, язык одобряемый Министерством Обороны, обладает достаточно интересными свойствами, которые делают его приемлемым - он невероятно сложен, включает в себя способы порчи операционной системы и перераспределения памяти, и Эдгар Дейкстра (Edsgar Dijkstra) не любит его. Дейкстре, как вы должны знать, автору краеугольной работы по методологии программирования "GOTO - считать вредными", апплодируют программисты на Паскале и подобные им сосунки. Да и потом, закоренелый настоящий программист может написать фортрановскую программу на любом языке.
Настоящий программист может пойти на компромис со своими принципами и работать над вещами немного более тривиальными, чем распад жизни, при условии, что здесь достаточно платят. Например, существует несколько настоящих программистов, разрабатывающих видео-игры в Atari. Но они сами в игры не играют. Настоящий программист знает, как выиграть у машины, и в этом нет пряного удовольствия. Каждый работающий в LucasFilm является настоящим программистом, потому, что нужно быть сумасшедшим, чтобы отвергнуть деньги 50-ти милионов поклонников Звездных войн (Star Wars).
Доля настоящих программистов, занятых машинной графикой, несколько ниже нормы в основном потому, что никто пока не нашел ей применения. С другой строны, вся машинная графика выполнена на Фортране, так что существует определенное число людей, занимающихся графикой для того, чтобы избежать программирования на Коболе.
В общем случае настоящий программист развлекается так же, как и работает - с помощью ЭВМ. Он не перестает удивляться тому, что его работодатель платит ему за то, что он все равно бы делал для развлечения, хотя он достаточно осторожен, чтобы высказать это мнение вслух. Иногда настоящий программист выходит из конторы, чтобы глотнуть свежего воздуха или кружечку -другую пива. Существует несколько признаков, по которым можно узнать настоящего программиста за пределами машинного зала :