Азбука. Буква Ф. Фортран

image

Я прошел мимо него. К счастью, когда я учился, его преподавать перестали и все перешли на паскаль. Может преподаватели закончились.

Но одна забойная байка про Фортран осталась. Почему для индексов в циклах чаще всего используются буквы от i до n (посмотрите на английский алфавит, как раз всё по порядку.). Почему не сначала – a,b,c. Ведь тоже вариант, почему именно с i. Есть конечно альтернативная версия – потому что это первых две буквы от слова index.

Хотя если посмотреть на все примеры которые использовались для обучения, например для обхода массивов, использовались – для одномерных i, для двухмерных – i,j, для трехмерных i,j,k.

В общем считалось что если использовать эти переменные для индексов то программа на фортране будет исполнятся быстрее. Типа такие циклы компилятор Фортрана как-то оптимизирует. (Хотя какая разница, какой символ использовать.)

Но проверить эту байку мне не удалось.

Опубликовано Июнь 4, 2009 в 6:19 пп · Автор Михаил · Ссылка
Рубрики: Азбука · Теги: ,

4 комментариев

Подписаться на комментарии по RSS

  1. Написал(-а) Allex
    Июнь 4, 2009 в 9:28 пп
    Ссылка

    Не знаю, как насчет оптимизации, но особые правила типизации для этих имен были: переменные i, j, k по умолчанию считались целочисленными. Могу, конечно, ошибаться – лет 15 прошло :)

  2. Написал(-а) mp
    Июнь 5, 2009 в 3:26 пп
    Ссылка

    Кстати вполне может так всё и было. :)

  3. Написал(-а) kkk
    Июнь 14, 2009 в 10:20 пп
    Ссылка

    Это все из математики. Откройте учебник математики (мат-ан) за любой год и увидете ваши пресловутые i, j, k….

  4. Написал(-а) Дмитрий
    Июнь 16, 2009 в 1:23 пп
    Ссылка

    Allex написал правильно.
    По умолчанию (и в соответствии с утверждёнными стандартами) переменные в фортране не требуют обязательного объявления — начинающиеся с символов i-n переменные, если не объявлены, считаются переменными целочисленного типа integer.
    Список соответствий первого символа имени и типов можно изменять. Опыт предков, потративших человеко-годы на поиск и исправление глупых ошибок (связанных с опечатками в именах переменных, которые ‘объявились’ автоматически) учит, что такой подход следует запрещать с помощью ‘implicit none’. На оптимизацию это, разумеется, не влияет совершенно.

    К сожалению, молодёжь зачастую не осознаёт, насколько вредна возможность не объявлять переменные явно.

Подписаться на комментарии по RSS