Настоящие программисты не используют Паскаль

на главную - закладки

Жанры

Поделиться:

Настоящие программисты не используют Паскаль

Шрифт:

Настоящие программисты не используют Паскаль

В прошлом, во времена золотой эры ЭВМ было легко отличать мальчика от мужа (иначе их называют "сосунки" и "настоящие мужчины", соответственно). Тогда настоящие мужчины были те, кто понимал в программировании, с сосунки - те, кто не понимал. Настоящий программист легко произносил такие фразы, как "DO 10 I 1, 10" или "АВОСТ", а все остальные нечто вроде "ЭВМ слишком сложна для меня" и "Я не могу полагаться на ЭВМ - они слишком безличны". Предыдущая работа, B. Feirstein, "Настоящие мужчины не употребляют фруктовый пирог", издание PocketBook, 1982, отмечает, что настоящие мужчины ни на что не полагаются и не боятся быть обезличенными.

Но времена меняются. Сегодня мы живем в мире, в котором маленькие

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

Однако, существует разница между студентом-первокурсником, освоившим на ЭВМ игру в очко и настоящим программистом. Знание этих различий может помочь детям познать к чему стремиться модель поведения, стереотоп отца. Это также поможет сохранить рабочие места для настоящих программистов.

Самый простой способ определить, кто является настоящим программистом - по используемому языку программирования. Настоящие программисты используют Фортран. Сосунки используют Паскаль. Никлауса Вирта, разработчика Паскаля, однажды спросили: "Как вы произносите свою фамилию?". "Вы можете обращаться ко мне по фамилии, произнося ее 'Вирт', или обращаться ко мне по значению, 'Ворт'", - ответил он. [Игра слов : Nicklaus Wirth произносится так же, как английское слово Worth - стоящий, ценный]

Исходя из этой ремарки, любой сразу поймет, что Никлаус Вирт - сосунок. Единственный механизм передачи параметров, принимаемый настоящим программистом - это передача параметров по значению, как это реализовано в компиляторах Фортрана G и H для ЭВМ IBM/370. Настоящим программистам для выполнения работы не нужны абстрактные концепции: для счастья им достаточно перфоратора, компилятора Фортран-IV и пива. Настоящие программисты пишут программы работы со списками, обработки строк, учета ресурсов (если они вообще это делают) и искусственного интелекта на Фортране.

Если вы не можете выполнить эти работы на Фортране, выполните их на ассемблере. Если же их нельзя выполнить на ассемблере, их не стоит делать вообще.

В последние несколько лет академиков от вычислительной техники вовлекли на стезю структурного программирования. Они утверждают, что программы становятся более понятными, если используются специальные языковые методы и конструкции. Они, конечно, не могут договориться между собой, какие точно конструкции следует использовать, а примеры, иллюстрирующие их точку зрения, всегда помещаются на одной страничке неизвестных журналов. Когда я окончил школу, я считал себя самым лучшим программистом в мире. Я мог написать непобедимую программу игры в крестики-нолики в трехмерном пространстве на пяти различных языках программирования, а также написать программу, состоящую из 1000 строк, которая бы работала. Затем я попал в реальный мир. Моей первой задачей было прочитать и понять фортрановскую программу емкостью 200000 строк, а затем увеличить скорость ее работы в 2 раза. Любой настоящий программист скажет вам, что все структурированное программирование мира не поможет вам решить проблемы вроде этой - решение этой задачи требует настоящего таланта.

Несколько наблюдений о настоящих приграммистах и структурном программировании:

– настоящие программисты не боятся использовать GOTO;

– настоящие программисты могут без смущения написать цикл DO

на пяти страницах;

– настоящие программисты любят арифметические операторы IF,

т.к. их использование делает программу более интересной;

– настоящие программисты используют самомодифицирующий код,

особенно в тех случаях, когда это экономит 20 наносекунд в

середине очень короткого цикла;

– настоящие программисты не нуждаются в комментариях : текст

программы все объясняет;

– поскольку в Фортране отсутствуют структурные операторы IF,

REPEAT ... UNTIL

или CASE, настоящим программистам не

нужно беспокоиться, что они их не используют; кроме того

эти операторы можно при необходимости симулировать с

помощью присваиваемых GOTO.

В последнее время в прессе муссируются структуры данных. Абстрактные типы данных, структуры, указатели, списки и строки стали популярны в определенных кругах. Вирт, сосунок, написал даже целую книгу ("Алгоритмы + Структуры данных Программы", Prentice Hall, 1976 [русский перевод - изд. "Мир", 198?]), в которой утверждает, что можно написать программу на базе структур данных, не используя другие способы. Как все настоящие программисты знают, единственной полезной структурой данных является массив. Строки, списки, структуры и наборы - это все разновидности массивов и их можно рассматривать как массивы без усложнения вашего языка приграммирования. Хуже всего с этими хитрыми типами данных то, что вы должны их описывать, а настоящие языки программирования, как мы все знаем, обладают возможностью неявного задания типа, основанного на первой букве 6-символьного имени переменной.

В какой операционной системе работает настоящий программист? В CP/M ? Боже сохрани! Помимо всего прочего, это в основном игрушка, а не операционная система. Даже маленькие старые дамы и абитуриенты могут работать в CP/M и понять ее.

UNIX, конечно, более сложная система - типичный последователь UNIX'а никогда не может запомнить, как на этой неделе называется команда PRINT - но когда он наконец доберется до нее, UNIX становится восхитительной видеоигрой. Люди не делают серьезных работ в системе UNIX, они рассылают шутки по всему миру по USENET или пишут приключенческие романы и научные статьи.

Нет, настоящий программист использует OS/370. Хороший программист может найти и понять описание только что полученного сообщения об ошибке IJK305I в руководстве по JSL. По-настоящему знаменитый программист может найти ошибки в распечатке 6-мегабайтной области памяти, не используя калькулятор шестнадцатиричной системы счисления.

OS/370 по настоящему удивительная система. В ней можно уничтожить работы стоимостью несколько человеко-дней с помощью одного неправильно помещенного пробела, так-что штат программистов всегда должен быть на чеку. Наилучший способ общения с системой - через перфоратор. Некоторые утверждают, что в OS/370 существует система разделения времени, но после внимательного изучения я пришел к выводу, что они ошибаются.

Какие инструменты использует настоящий программист в своей работе? Теоретически, настоящий программист может запускать свои программы, набирая их на передней панели ЭВМ. В добрые старые времена, когда ЭВМ имели передние панели, этот метод использовался время от времени. Типичный настоящий программист знал наизусть начальный загрузчик в шестнадцатиричной системе и восстанавливал его с пульта, когда он разрушался его программой. Более того, память была памятью - ее содержимое не пропадало при выключении питания. В настоящее время память либо забывает факты, когда вы этого не хотите, либо помнит о вещах, которые давно следовало бы забыть. Ходит легенда, что Seymour Cray, изобретатель супер-ЭВМ Cray-1 и большинства ЭВМ фирмы Control Data, ввел с пульта наизусть первую операционную систему ЭВМ CDC 7600 при первом включении этой ЭВМ. Конечно, Cray настоящий программист.

Одним из моих любимых настоящих программистов был Джим системный программист фирмы Texas Instruments. Однажды, ему по междугородному телефону позвонил пользователь, чья система разрушилась в процессе очень важной работы. Джим исправил систему по телефону, заставляя пользователя набирать на передней панели ЭВМ команды обращения к диску, исправлять системные таблицы в шестнадцатиричной системе и считывать ему по телефону содержимое регистров. Мораль этой истории: хотя настоящий программист обычно включает в набор своих инструментов перфоратор и АЦПУ, он может в экстренных ситуациях обойтись передней панелью ЭВМ и телефоном.

123

Книги из серии:

Без серии

Комментарии:
Популярные книги

Последний реанорец. Том I и Том II

Павлов Вел
1. Высшая Речь
Фантастика:
фэнтези
7.62
рейтинг книги
Последний реанорец. Том I и Том II

Черные ножи

Шенгальц Игорь Александрович
1. Черные ножи
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черные ножи

Мужчина моей судьбы

Ардова Алиса
2. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.03
рейтинг книги
Мужчина моей судьбы

Инженер Петра Великого

Гросов Виктор
1. Инженер Петра Великого
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Инженер Петра Великого

Черный дембель. Часть 3

Федин Андрей Анатольевич
3. Черный дембель
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Черный дембель. Часть 3

Неудержимый. Книга XX

Боярский Андрей
20. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XX

Лейтенант. Часть 2. Назад в СССР

Гаусс Максим
9. Второй шанс
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Лейтенант. Часть 2. Назад в СССР

Виконт. Книга 1. Второе рождение

Юллем Евгений
1. Псевдоним `Испанец`
Фантастика:
фэнтези
боевая фантастика
попаданцы
6.67
рейтинг книги
Виконт. Книга 1. Второе рождение

Искатель 1

Шиленко Сергей
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 1

Вперед в прошлое 8

Ратманов Денис
8. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 8

Бестужев. Служба Государевой Безопасности. Книга вторая

Измайлов Сергей
2. Граф Бестужев
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга вторая

Законы Рода. Том 4

Андрей Мельник
4. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 4

Поводырь

Щепетнов Евгений Владимирович
3. Ботаник
Фантастика:
фэнтези
6.17
рейтинг книги
Поводырь

Наследие Маозари 4

Панежин Евгений
4. Наследие Маозари
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Наследие Маозари 4