Frage

Eine andere Frage, Was ist eine vertikale Registerkarte? , beschreibt die vertikale RegisterkarteZeichen wurde ursprünglich für verwendet.

Aber warum wurde U+000B VERTICAL TAB als wichtig genug angesehen, um überhaupt eine Escape-Sequenz ('\v') in C und vielen anderen Programmiersprachen zuzuweisen?

Siehe auch: Ein Typ beschwert sich darüber .

War es hilfreich?

Lösung

Es ist möglich, dass bei der Erstellung von C erwartet wurde, dass die vertikalen Tabulator- und Glockenzeichen als Trennzeichen innerhalb des Codes, der zwischen ASCII und EBCDIC portiert wird, ausreichend nützlich sind, damit der Code eine lesbare und tragbare Methode bietet notieren sie. Obwohl man schreiben könnte

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

Ich glaube nicht, dass eine solche Verwendung in den frühesten Dialekten von C legal war. Selbst wenn eine solche Verwendung zulässig wäre, wäre die Verwendung spezieller Makros für zitierte Versionen von Zeichen wahrscheinlich als etwas hässlich angesehen worden. Ich weiß, dass solche Dinge in tragbaren Formatspezifizierern von printf notwendig waren, aber das bedeutet nicht, dass es hübsch ist.

Eine andere zu berücksichtigende Sache ist, dass C nicht als Programmiersprache konzipiert wurde, die die Menschen in den kommenden Jahrzehnten verwenden würden. Es wurde entwickelt, um einige unmittelbare Bedürfnisse zu lösen. K & R hätte sich nicht darum gekümmert, ob jemand nach den 1970er Jahren VTAB-Charaktere haben möchte. Wenn ihre unmittelbaren Kunden sie nutzen könnten, war dies ein guter Grund, sie einzubeziehen.

Andere Tipps

Richtige Antwort: TELETYPE

Es hat nichts mit Trennzeichen zu tun. Meine Eltern arbeiteten mit Big Data und viele Sender und Fortune 500-Unternehmen verwendeten bis in die 80er Jahre noch Lochkarten. Denken Sie daran, dass die meisten Sprachen ursprünglich für die Eingabe und Verwendung auf einem Fernschreiber und nicht auf einem Bildschirm konzipiert wurden. Der Drucker diente nicht nur zum Drucken von Dokumenten wie heute. Es gab überhaupt keinen Monitor . Der Ausdruck war das Display.

Vor diesem Hintergrund waren vertikale Registerkarten sehr nützlich. Sogar nach dem Teletyp haben meine Eltern Formulare schneller gerendert, indem sie nur die Teile überschrieben haben, die sich geändert haben. Denn damals war sogar die Nur-Text-Anzeige zu langsam!

Unterhaltsames Video: https://www.youtube.com/watch?v=qv5b1Xowxdk

Aber mehr auf den Punkt gebracht: Viele, viele, viele Dinge in modernen Betriebssystemen sind Relikte der Fernschreibmaschine ... nicht nur vertikale Laschen. Wir sind nur so an sie gewöhnt, dass die Leute nicht einmal mehr an sie denken, aber sie sind nicht weniger seltsam. Ich bin mir sicher, dass viele nicht wissen, woher diese Konventionen stammen, es sei denn, sie codieren seit den 70er Jahren.

  • Schließen Sie Ihren Code oder Ihre E-Mail in 80 Spalten ein?
    Weil IBM Lochkarten 80 Zeichen breit waren.

  • Verwenden Sie Grafiken, die Bottom-Up-Codierung unterstützen, z. B. Windows-Bitmaps oder Grafikbibliotheken mit dem Ursprung in der unteren Ecke?
    Weil Fernschreiber von unten nach oben gescrollt haben.

  • Verwenden Sie \ n, um eine neue Textzeile anzugeben?
    Denn \nsteht für Zeilenvorschub, der von manuellen Schreibmaschinen stammt, bevor er in Teletypen verwendet wurde.

  • Haben Sie jemals eine Nachricht an einen Freund gesendet, indem Sie unter Linux an / dev / tty geschrieben haben?
    Weil TTY für Teletyp steht.

  • Haben Sie jemals jemandem gesagt, er solle eine vorhandene Bibliothek verwenden, anstatt das Rad neu zu erfinden? Haben Sie jemals selbst eine Bibliothek oder ein Framework verwendet?
    Denn so hängt alter Code herum. Sicherlich überwiegen die Vorteile den Schaden, aber Bibliotheken, die auf Bibliotheken aufbauen, die auf Bibliotheken aufbauen, führen zu dieser schleichenden Abhängigkeit, so dass selbst wenn die ursprüngliche Bibliothek längst verschwunden ist, alles, was jemals mit ihr kompatibel war, dazu führt, dass ihre Konventionen weiterleben ... und weiter ... und weiter ...

    Diese Teletyp-Konventionen sind so fest im Betriebssystem selbst verankert. Ich gehe davon aus, dass dies immer so lange so bleibt, bis jemand ein Betriebssystem von Grund auf neu schreibt, und selbst dann bin ich ' Ich bin mir nicht so sicher. Es ist keine Frage, warum die C-Sprache sie aufgenommen hat. Denken Sie daran, C kam lange nach LISP, Forth, COBOL, FORTRAN, Pascal und sogar BASIC.

    P.S. Das Glockenzeichen als Trennzeichen zu verwenden, wäre eine verrückte Sache gewesen. Schleifen mahlen mahlen BEEP mahlen mahlen BEEEEEEP mahlen chuka chuka BEEP mahlen chuka mahlen mahlen BEEEP. Whizzzz klirrte. Schleifen Schleifen BEEP ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top