Je souhaite savoir qui a introduit l'indentation de code, ainsi que quand et où il a été introduit.
Cela semble si critique pour la compréhension du code, mais ce n'était pas universel. La plupart des codes Fortran et Basic étaient (n'est?) Pas indentés, et il en va de même pour Cobol.
Je suis quasiment sûr d'avoir vu du vieux code Lisp écrit sous forme de texte continu, avec des lignes. Vous deviez compter des parenthèses dans votre tête juste pour l'analyser, sans parler de le comprendre.
D'où vient donc une telle amélioration? Je n'ai jamais vu aucune mention de son origine.
Outre des exemples originaux de son utilisation, je recherche également des discussions originales sur l'indentation.
coding-style
history
indentation
Daniel Mahler
la source
la source
C
personnage si vous faisiez un commentaire.if
, à la F #), l'indentation n'est pas vraiment une fonctionnalité de langage, c'est une fonctionnalité IDE ( et un peu dans le compilateur, pour ignorer les espaces de tête). @ Jack a raison - à l'origine, les programmes étaient perforés sur des cartes, et l'indentation n'existait littéralement pas dans le stockage (et ne devrait peut-être pas l'être maintenant non plus). Le RPG en colonnes n'utilise pas l'indentation (et vous n'avez de toute façon que ~ 20 caractères libres par ligne), mais l'EDI peut "soft" indenter le code pour vous.Réponses:
Les origines du code en retrait se trouvent probablement dans ALGOL :
la source
{}
) pour délimiter les blocs, et vous pouvez définir des fonctions imbriquées, mais cela ne me dit rien si le code est réellement en retrait.Le code en retrait doit être arrivé avant 1958, car il était présent - mais pas omniprésent - dans LISP et ALGOL. Le plus ancien que je peux localiser est COMTRAN qui a été introduit en 1957, bien que je ne trouve que le manuel de 1960 uniquement (voir page 90ish). Cette indentation diffère de la conception moderne car COMTRAN n'a pas la structure de blocs de la plupart des langages depuis ALGOL mais je pense qu'elle devrait quand même compter.
Je soupçonne que ce n'est pas réellement le premier exemple mais je ne peux pas en trouver plus tôt.
Mis à jour
Il m'est venu à l'esprit que, dans une large mesure, l'indentation est probablement antérieure à la programmation. L'indentation était probablement utilisée dans les listes d'instructions avant que quiconque n'écrive des programmes informatiques. Malheureusement, je ne trouve aucun bon exemple de cela.
la source
Une extension du commentaire de Ross Patterson - les compilateurs COBOL (ou du moins les compilateurs IBM, que j'ai utilisés dans ma carrière de systèmes pré-ouverts) ont imposé une indentation (les zones "A" et "B" qu'il mentionne). Si l'un des éléments qui devaient se trouver dans ces zones n'était pas placé exactement, votre code échouerait à la compilation. Cependant, au-delà de cela, aucune indentation spécifique n'était requise - cela entraînait souvent une saisie lors de la modification du code d'un autre développeur dont le style d'indentation était différent du vôtre - l'étiquette suggérerait que vous suiviez le modèle existant car cela préservait la paix entre pairs; en outre, des styles différents dans la même source seraient aggravants à voir, presque en forme de Tetris.
Cela fait des années que je n'ai pas pensé à COBOL et à son indentation - merci d'avoir posé la question et d'avoir fait un petit voyage dans le passé!
Marty
la source