Фортран

**Фортран**  ( *алб.*  фортранчег,  *англ.*  Forth-Run) — великий и могучий псевдоязык программирования, изобретённый военными для засекречивания стратегических разработок. Фортран создавался при непосредственном участии лаборатории психологических исследований Пентагона и содержит новейшие разработки в области НЛП и зомбирования.

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

### Версии языка

**Фортран II**  — первая версия языка, в целях секретности названная второй. Как только вражеская разведка начала искать третью версию, так вышел

**Фортран IV**  — вторая версия языка, в целях секретности названная четвёртой. Тут спецслужбы вероятного противника сообразили, что нумерация идёт по степеням двойки, и начали охотиться за версией VIII. Но следующая версия носила название

**Фортран 66**  — третья версия языка, в целях секретности носящая номер 66. При первом же взгляде на название и текст программ, номер следующей версии угадывался автоматически — 666. Но нет! Следующим был

**Фортран 77**  — четвёртая версия языка, в целях секретности носящая номер 77. Специально созданная разведгруппа ГРУ в полном составе отправлена в закрытый санаторий. Вновь созданная комиссия по исследованию Фортрана приходит к однозначному выводу: Пентагон просто сменил систему нумерации, и следующей будет версия 88. Однако в действительности на смену Фортрану 77 пришёл

**Фортран 98**  — пятая версия языка, в целях секретности носящая номер 98. Государственная комиссия по расследованию приняла решение нумеровать дальнейшие версии любым понравившимся двузначным числом, но тут вышел

**Фортран 2003**  — седьмая версия языка, в целях секретности вышедшая вместо шестой и носящая номер 2003. После этого Государственный Комитет Безопасности разума разведчиков постановил не смотреть на номер версии, а заняться непосредственно изучением языка.

### Особенности языка

- Компилятор языка Фортран называется транслятором.

**Фортран позволяет:**

- Изменять значение любой константы в программе.

- Называть одну и ту же переменную разными именами, в том числе и именами, совпадающими с написанием операторов.

- Выходить из цикла где-то посередине и возвращаться обратно (идеальное средство запутывания программы).

- Выходить из цикла где-то посередине и не возвращаться обратно.

#### Типы данных

**Фортран поддерживает следующие типы данных:**

- Логический. Имеет значения .T. и .F. Обозначается как LOGICAL*1

- Символьный. Операции над этим типом не определены. Обозначается как CHARACTER

- Целый. Нужен только для индексации массивов. Никак не обозначается, или (в особо патологических случаях) обозначается как INTEGER. Известно, что переменные с именами, начинающимися с букв I,J,K,L,M,N, являются целыми по вторникам и четвергам с 9.00 до 21.00 с перерывом на обед.

- Вещественный. Вещественными считаются все переменные, которые забыли или поленились объявить иначе. Однако, вещественную переменную можно объявить и в явном виде с помощью оператора REAL. Особо тонким троллингом в программировании на Фортране являются объявления типа REAL INTEGER или REAL LOGICAL, после чего программа становится уже совершенно нечитабельной.

- Комплексный. Ради разнообразия обозначается как COMPLEX.

#### Структура программы

Структура среднестатистической Фортран-программы напоминает ведро спагетти, высыпанное на новогоднюю ёлку.

#### Некоторые факты

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

- Некоторые строки могут быть проигнорированы транслятором.

- Не все метки имеют смысл. Некоторые нужны просто для красоты.

- Структура некоторых команд наталкивает на мысль о том, что создатели языка заботились в первую очередь о нечитабельности программы. Человек, не знакомый с Фортраном, ни за что не сможет догадаться, что делает, например, команда DO 69331 MPOT=4, 19, 1135.

- Рекурсия — происки врагов. Употребление рекурсии в Фортране карается зависанием программы.

- Натыкаясь на ошибку, транслятор по умолчанию в качестве диагностики выдаёт слово «кретин». Попытки изменить эту унизительную диагностику обречены на провал.

- Фортран умеет извлекать квадратные корни из отрицательных чисел, издевательски хихикая при этом. Транслятор автоматически присваивает полученному результату комплексный тип, однако не сообщает об этом программисту. Все последующие операции с этим результатом, соответственно, ведут к появлению в программе все большего количества невесть откуда взявшихся комплексных переменных. Получается снежный ком с непредсказуемыми последствиями. Например, в результате работы программы население города Свинограда внезапно оказывается равным  ***465726,82+19,4i***  человек, о чём немедленно докладывают лично Путину.

- Помните перфокарты?

- Ввод-вывод Фортрана вызывает у программистов суицидальные позывы.

- Оператор CALL способен вызвать Сотону.

- И несмотря на всё это, сложные вычислительные модули (например, операции над семимерными матрицами, которые никому и нафиг не нужны) до сих пор пишутся на Фортране.

#### Ошибки

- Каждая программа на Фортране является одной большой ошибкой. По умолчанию об этой ошибке транслятор не сообщает.

- Каждая правильно работающая программа на Фортране содержит нечётное (в отличие от других языков) количество ошибок.

**FAQ**

Что, чёрт возьми, делают операторы STOP и CONTINUE?

#### Пример программы на Фортране

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

	PROGRAM PROGRAM
	COMMON /COMMON/ COMMON(100)
	CALL CALL (COMMON)
	STOP
	END

	SUBROUTINE CALL(SUBROUTINE)
	CALL SUBROUTINE
	RETURN
	END

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

- Полное собрание сочинений В. И. Ленина было переведено на Фортран для распространения в Зимбабве. По какой-то причине, практическое применение переписки Ленина с Плехановым в отдельно взятой африканской стране приняло неожиданный для всех оборот, когда количество миллионеров среди зимбабвийского населения перевалило отметку 97,2%.