Question

Une autre question, Qu'est-ce qu'un onglet vertical?, décrit pour quoi le caractère de l'onglet vertical a été utilisé à l'origine.

Mais pourquoi était U+000B VERTICAL TAB considéré comme suffisamment important pour être attribué une séquence d'évasion ('\v') En premier lieu, en C et de nombreux autres langages de programmation?

Voir aussi: un gars se plaindre de ça.

Était-ce utile?

La solution

Il est possible que lorsque C soit créé, il était prévu que l'onglet vertical et les caractères de cloche devaient être suffisamment utiles en tant que délimiteurs dans le code qui seraient portés entre ASCII et EBCDIC que le code devait fournir un moyen lisible et portable de les noter. Bien que l'on puisse écrire

#define QVTAB "\013"
printf("Field1" QVTAB "Field2");

Je ne pense pas que une telle utilisation était légale dans les premiers dialectes de C. en outre, même si une telle utilisation est autorisée, l'utilisation de macros spéciales pour la version citée des personnages aurait probablement été considérée comme un peu laide. Je sais que de telles choses ont fini par être nécessaires dans les spécificateurs de format de type portable printf, mais cela ne signifie pas que c'est joli.

Une autre chose à considérer est que C n'était pas destiné à être un langage de programmation que les gens utiliseraient dans les décennies à venir. Il a été conçu pour résoudre certains besoins immédiats. K&R ne se serait pas soucié de savoir si quelqu'un voulait des personnages VTAB après les années 1970; Si leurs clients immédiats étaient utilisés pour eux, c'était une raison parfaitement bonne de les inclure.

Autres conseils

Réponse correcte: Télétype

Il a NADA à voir avec les délimiteurs. Mes parents ont travaillé avec Big Data et beaucoup de diffuseurs et Fortune 500 utilisaient toujours des cartes de punch jusqu'aux années 80. N'oubliez pas que la plupart des langues ont été conçues à l'origine pour être entrées et utilisées sur une machine de télétype, pas un écran. L'imprimante n'était pas seulement pour l'impression de documents comme aujourd'hui. Il n'y avait pas du tout moniteur. L'impression était l'affichage.

Dans cet esprit, les onglets verticaux étaient assez utiles. Même le post-type de titype que mes parents leur ont utilisé des formulaires de rendu plus rapidement en écrasant uniquement les pièces qui ont changé. Parce qu'à l'époque, l'écran en texte unique était trop lent!

Vidéo amusante: https://www.youtube.com/watch?v=qv5b1xowxdk

Mais plus précisément: beaucoup, beaucoup, beaucoup de choses dans les systèmes d'exploitation modernes sont des reliques de la machine de télétype ... pas seulement une onglet vertical. Nous sommes tellement habitués à eux que les gens ne y pensent même plus, mais ils ne sont pas moins bizarres. Je suis sûr que beaucoup ne réalisent pas d'où viennent ces conventions à moins qu'elles ne codaient depuis les années 70.

  • Découvrez-vous votre code ou votre e-mail à 80 colonnes?
    Parce que les cartes IBM Punch avaient 80 caractères de large.

  • Utilisez-vous des graphiques qui prennent en charge l'encodage ascendant, tels que Windows Bitmaps, ou toutes les bibliothèques graphiques avec l'origine dans le coin inférieur?
    Parce que les machines de télétype ont fait défiler de bas en haut.

  • Utilisez-vous n pour indiquer une nouvelle ligne de texte?
    Parce que n signifie une alimentation en ligne, qui provient de machines à écrire manuelles avant d'être utilisées dans les télétypes.

  • Avez-vous déjà envoyé un message à un ami en écrivant à / dev / tty sous Linux?
    Parce que Tty est court pour le télétype.

  • Avez-vous déjà dit à quelqu'un d'utiliser une bibliothèque existante au lieu de réinventer la roue? Avez-vous déjà utilisé une bibliothèque ou un cadre vous-même?
    Parce que c'est de l'ancien code. Certes, les avantages l'emportent sur le préjudice, mais les bibliothèques construites au-dessus des bibliothèques construites au-dessus des bibliothèques conduisent à cette dépendance rampante de telle sorte que même lorsque la bibliothèque originale est depuis longtemps, tout ce qui a été compatible avec lui provoque ses conventions. ... et ainsi de suite...

Ces conventions de télétype sont si fermement ancrées dans le système d'exploitation lui-même Je m'attends à ce que cela reste toujours jusqu'à ce que quelqu'un écrit un système d'exploitation à partir de zéro, et même alors, je n'en suis pas si sûr. Il ne fait aucun doute pourquoi la langue C les a ramassés. Rappelez-vous, C est venu longtemps après Lisp, Forth, Cobol, Fortran, Pascal et même basique.

PS Utiliser le caractère Bell comme délimiteur aurait été une chose folle à faire. Grind Grind Grind Beep Grind Grind Beeeeep Grind Chuka Chuka Beep Grind Chuka Grind Grind Beeep. Whizzzz Clunk. Grind Grind Beep ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top