Мне интересно узнать, кто ввел отступ кода, а также когда и где он был введен.
Это кажется настолько важным для понимания кода, но оно не было универсальным. Большая часть кода на Фортране и Базовом языке была (есть?) Без отступов, и то же самое относится и к Коболу.
Я почти уверен, что даже видел старый код на Лиспе, написанный как непрерывный текст с переносом строк. Вы должны были посчитать скобки в своей голове, просто чтобы разобрать это, не говоря уже о том, чтобы понять это.
Итак, откуда появилось такое огромное улучшение? Я никогда не видел упоминаний о его происхождении.
Помимо оригинальных примеров его использования, я также ищу оригинальные обсуждения отступов.
coding-style
history
indentation
Дэниел Малер
источник
источник
C
персонажа, если вы делали комментарий.if
, как в F #), отступ на самом деле не является языковой функцией, это особенность IDE ( и немного в компиляторе, чтобы игнорировать ведущие пробелы). @ Джек прав - изначально программы были перфорированы на карточках, а отступы буквально не существовали в хранилище (и, возможно, не должны сейчас тоже). Колонка RPG не использует отступы (в любом случае у вас есть только ~ 20 символов на строку), но IDE может «мягко» сделать отступ для вас.Ответы:
Истоки кода с отступом, вероятно, можно найти в ALGOL :
источник
{}
) для разделения блоков, и вы можете определять вложенные функции, но это ничего не говорит мне о том, действительно ли код имеет отступ.Код с отступом должен был появиться до 1958 года, поскольку он присутствовал - но не был повсеместным - в LISP и ALGOL. Самое раннее, что я могу найти, это COMTRAN который был представлен в 1957 году, хотя я могу найти только руководство 1960 года (см. Стр. 90ish). Этот отступ отличается от современной концепции, так как в COMTRAN отсутствует блочная структура большинства языков со времен ALGOL, но я думаю, что он все равно должен учитываться.
Я подозреваю, что это на самом деле не первый пример, но я не могу найти его раньше.
обновленный
Мне пришло в голову, что в значительной степени отступы, вероятно, предшествуют программированию. Отступы, вероятно, использовались в списках команд до того, как кто-либо писал компьютерные программы. К сожалению, я не могу найти хороших примеров этого.
источник
Расширение комментария Росса Паттерсона - компиляторы COBOL (или, по крайней мере, компиляторы IBM, которые я использовал в своей карьере до открытия систем) заставили отступы (области «A» и «B», которые он упоминает). Если какой-либо из элементов, которые должны были находиться в этих областях, не был размещен точно, ваш код не сможет скомпилироваться. Однако помимо этого никаких особых отступов не требовалось - это часто приводило к затруднениям при изменении кода другого разработчика, стиль отступов которого отличался от вашего - этикет предлагал бы вам следовать существующему шаблону, поскольку это сохраняло мир среди сверстников; Кроме того, различные стили в одном и том же источнике могут ухудшить внешний вид, похожий на тетрис.
Прошло много лет с тех пор, как я думал о COBOL и его отступах - спасибо, что задали вопрос и сделали небольшую поездку в прошлое!
Marty
источник