Estou interessado em descobrir quem introduziu o recuo do código, bem como quando e onde foi introduzido.
Parece tão crítico para codificar a compreensão, mas não era universal. A maioria dos códigos de Fortran e Basic foi (é?) Sem indentação, e o mesmo vale para Cobol.
Tenho certeza de que vi até mesmo o código Lisp antigo escrito como texto contínuo e com quebra de linha. Você tinha que contar parênteses na sua cabeça apenas para analisá-lo, não importando o entendimento.
Então, de onde veio uma melhoria tão grande? Eu nunca vi nenhuma menção de sua origem.
Além de exemplos originais de seu uso, também estou procurando discussões originais sobre o recuo.
coding-style
history
indentation
Daniel Mahler
fonte
fonte
C
personagem, se você estava fazendo um comentário.if
, a F #), o recuo não é realmente um recurso de linguagem, é um recurso IDE ( e um pouco no compilador, para ignorar os espaços à esquerda). @ Jack está certo - originalmente os programas eram perfurados em cartões, e o recuo literalmente não existia no armazenamento (e talvez não devesse agora também). O RPG colunar não usa recuo (e você tem apenas 20 caracteres livres por linha de qualquer maneira), mas o IDE pode "recuar" suavemente o código para você.Respostas:
As origens do código recuado provavelmente podem ser encontradas no ALGOL :
fonte
{}
) para delimitar blocos, e você pode definir funções aninhadas, mas isso não me diz nada sobre se o código é realmente recuado.O código recuado deve ter chegado antes de 1958, pois estava presente - mas não onipresente - no LISP e na ALGOL. O mais antigo que consigo localizar é o COMTRAN, que foi introduzido em 1957, embora eu possa encontrar apenas o manual de 1960 (consulte a página 90). Esse recuo difere da concepção moderna, já que o COMTRAN não possui a estrutura de blocos da maioria das linguagens desde o ALGOL, mas acho que ainda deve contar.
Eu suspeito que esse não seja realmente o primeiro exemplo, mas não consigo localizar nenhum anteriormente.
Atualizada
Ocorreu-me que, em um grau significativo, a indentação provavelmente antecede a programação. O recuo provavelmente foi usado nas listas de instruções antes de qualquer pessoa escrever programas de computador. Infelizmente, não consigo encontrar bons exemplos disso.
fonte
Uma expansão no comentário de Ross Patterson - os compiladores COBOL (ou pelo menos os compiladores da IBM, que usei na minha carreira pré-aberta em sistemas) forçaram o recuo (as áreas "A" e "B" que ele menciona). Se algum dos elementos exigidos nessas áreas não fosse colocado exatamente, seu código falharia na compilação. No entanto, além disso, nenhum recuo específico foi necessário - isso muitas vezes levou a um aperto ao modificar o código de outro desenvolvedor cujo estilo de recuo era diferente do seu - a etiqueta sugeriria que você seguisse o padrão existente, pois preservava a paz entre os pares; além disso, estilos diferentes na mesma fonte seriam agravantes de se ver, quase na aparência de Tetris.
Faz anos desde que eu penso sobre COBOL e seu recuo - obrigado por fazer a pergunta e proporcionar uma pequena viagem ao passado!
Marty
fonte