Почему существует управляющая последовательность для ВЕРТИКАЛЬНОЙ ВКЛАДКИ?

StackOverflow https://stackoverflow.com/questions/7367589

Вопрос

Еще один вопрос, Что такое вертикальная вкладка?, описывает, для чего первоначально использовался символ вертикальной табуляции.

Но почему это было U+000B VERTICAL TAB считается достаточно важным, чтобы ему была выделена управляющая последовательность ('\v') во-первых, на C и многих других языках программирования?

Смотрите также:какой - то парень жалуешься на это.

Это было полезно?

Решение

Возможно, когда был создан C, ожидалось, что символы вертикальной табуляции и колокольчика будут достаточно полезны в качестве разделителей в коде, который будет переноситься между ASCII и EBCDIC, этот код должен был обеспечивать читаемый и переносимый способ отмечая их. Хотя можно было написать

родовое слово

Я не думаю, что такое использование было законным в самых ранних диалектах C. Более того, даже если такое использование разрешено, использование специальных макросов для цитируемых версий символов, вероятно, было бы немного уродливым. Я знаю, что такие вещи оказались необходимыми в спецификаторах формата переносимого типа printf, но это не значит, что это красиво.

Также следует учитывать, что C не задумывался как язык программирования, которым люди будут пользоваться в ближайшие десятилетия. Он был разработан для решения некоторых неотложных задач. K&R не волновало, захочется ли кому-нибудь персонажей VTAB после 1970-х; если бы их непосредственные клиенты могли использовать их, это была прекрасная причина включить их.

Другие советы

Правильный ответ:ТЕЛЕТАЙП

Это не имеет никакого отношения к разделителям.Мои родители работали с большими данными, и многие вещательные компании и компании из списка Fortune 500 все еще использовали перфокарты вплоть до 80-х годов.Помните, что большинство языков изначально предназначались для ввода и использования на телетайпе, а не на экране.Принтер предназначался не только для печати документов, как сегодня. Монитора вообще не было.Распечатка была дисплеем.

Имея это в виду, вертикальные вкладки были довольно полезны.Даже после того, как мои родители использовали телетайп, они ускоряли рендеринг форм, перезаписывая только те части, которые изменились.Потому что тогда даже отображение только текста было слишком медленным!

Забавное видео: https://www.youtube.com/watch?v=qv5b1Xowxdk

Но ближе к делу:Многое, очень многое в современных операционных системах - это пережитки телетайпа...не просто вертикальная вкладка.Мы просто так привыкли к ним, что люди даже больше не думают о них, но они не менее странные.Я уверен, что многие не понимают, откуда взялись эти соглашения, если только они не разрабатывали код с 70-х годов.

  • Вы размещаете свой код или электронное письмо в виде текста в 80 столбцах?
    Потому что перфокарты IBM имели ширину 80 символов.

  • Используете ли вы графику, поддерживающую кодировку снизу вверх, например растровые изображения Windows или какие-либо графические библиотеки с исходным кодом в нижнем углу?
    Потому что телетайпы прокручивались снизу вверх.

  • Используете ли вы для обозначения новой строки текста?
    Потому что означает перевод строки, который использовался в ручных пишущих машинках до того, как его использовали в телетайпах.

  • Вы когда-нибудь отправляли сообщение другу, написав в /dev/tty под Linux?
    Потому что TTY - это сокращение от телетайпа.

  • Вы когда-нибудь говорили кому-нибудь использовать существующую библиотеку вместо того, чтобы изобретать велосипед?Вы когда-нибудь сами пользовались библиотекой или фреймворком?
    Потому что именно так и висит старый код.Конечно, польза перевешивает вред, но библиотеки, построенные поверх библиотек, построенных поверх библиотек, приводят к такой ползучей зависимости, что даже когда исходной библиотеки уже давно нет, все, что когда-либо было совместимо с ней, заставляет ее соглашения жить...и так далее...и так далее...

Эти телетайпные соглашения так прочно укоренились в саму операционную систему Я полностью ожидаю, что это всегда будет сохраняться до тех пор, пока кто-нибудь не напишет операционную систему с нуля, и даже тогда я не так уверен.Нет никаких сомнений, почему язык Си подобрал их.Помните, C появился намного позже LISP, Forth, COBOL, FORTRAN, Pascal и даже BASIC.

P.S.Использовать символ колокола в качестве разделителя было бы безумием.Молотилка молотилка молотилка БИП молотилка БИП молотилка бип молотилка чука чука БИП молотилка чука молотилка молотилка БИП.Свистящий щелчок.Раздается ЗВУКОВОЙ сигнал grind grind...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top