Origini del rientro del codice

31

Sono interessato a scoprire chi ha introdotto il rientro del codice, nonché quando e dove è stato introdotto.

Sembra così fondamentale per la comprensione del codice, ma non era universale. La maggior parte dei codici Fortran e Basic era (è?) Non orientata, e lo stesso vale per Cobol.

Sono abbastanza sicuro di aver persino visto il vecchio codice Lisp scritto come testo continuo, con linee tratteggiate. Dovevi contare le parentesi nella tua testa solo per analizzarlo, non importa comprenderlo.

Quindi da dove proviene un enorme miglioramento? Non ho mai visto alcuna menzione della sua origine.

Oltre agli esempi originali del suo utilizzo, sto anche cercando discussioni originali di indentazione.

    
posta Daniel Mahler 22.05.2014 - 01:21
fonte

3 risposte

21

Le origini del codice rientrato probabilmente si possono trovare in ALGOL :

ALGOL introduced code blocks and the begin and end pairs for delimiting them and it was also the first language implementing nested function definitions with lexical scope.

    
risposta data 22.05.2014 - 01:23
fonte
12

Il codice indentato deve essere arrivato prima del 1958, poiché era presente - ma non onnipresente - in LISP e ALGOL. Il primo che riesco a individuare è COMTRAN che è stato introdotto nel 1957, anche se posso trovare solo 1960 manuale solo (vedere pagina 90). Questa indentazione differisce dalla concezione moderna dal momento che COMTRAN non ha la struttura a blocchi della maggior parte delle lingue da ALGOL, ma penso che dovrebbe ancora contare.

Ho il sospetto che questo non sia effettivamente il primo esempio, ma non riesco a individuarne uno in precedenza.

Aggiornamento

Mi è venuto in mente che probabilmente un'indentazione di grado significativo precede la programmazione. L'indentazione era probabilmente utilizzata negli elenchi di istruzioni prima che qualcuno scrivesse programmi per computer. Purtroppo non riesco a trovare alcun buon esempio di questo.

    
risposta data 22.05.2014 - 16:08
fonte
-1

Un'espansione sul commento di Ross Patterson - i compilatori COBOL (o almeno i compilatori IBM, che ho usato nella mia carriera di sistemi pre-aperti) hanno applicato la rientranza (le aree "A" e "B" che menziona). Se uno qualsiasi degli elementi richiesti in queste aree non fosse posizionato esattamente, il tuo codice fallirebbe la compilazione. Tuttavia, oltre a ciò non era richiesto alcun indentazione specifica - questo spesso ha portato a fare attenzione quando si modificava il codice di un altro sviluppatore il cui stile di indentazione era diverso dal proprio: l'etichetta suggeriva di seguire lo schema esistente come pace preservata tra pari; Inoltre, diversi stili nella stessa fonte sarebbero aggravanti per la visualizzazione, quasi in apparenza di tipo Tetris.

Sono passati anni da quando ho pensato a COBOL e alla sua rientranza - grazie per aver fatto la domanda e fatto un piccolo viaggio nel passato!

Marty

    
risposta data 28.05.2014 - 21:08
fonte

Leggi altre domande sui tag