Qubc
@Qubc
Ненавижу полисемию.

Почему space 32 в ascii называется printable?

https://www.ascii-code.com/
Например, horizontal tab 09 - не печатный, просто потому что его задача лишь перенести каретку (курсор).
Почему такая же логика не применяется к space 32 ?
  • Вопрос задан
  • 49 просмотров
Решения вопроса 1
mayton2019
@mayton2019
Bigdata Engineer
Символы с кодами от 0 до 31 куда входит ТАБ являются управляющими символами (comma control / control symbold). И их задача - вызывать разные эффекты при выводе строки на экран. Звук. Backspace. Движения
курсора в разные стороны. Поэтому данный диапазон символов не рекомендуется к оформлению текста. Потому что при печати текста на принтер например - эффект непредсказуем. Многие из них были частью сетевых протоколов и сейчас уже не используются.

Символ табуляции в середине 20-го века использовали для оформления исходников на ассемблере
ради экономии места. Это было удобно. Когда вся память ПК мерялась десятком килобайт - надо было
экономить даже на тексте программы. И это реально работало. В современной разработке вообще
нет необходимости использовать TAB (0x09). Ну разве что в Makefile он по старинке еще используется.
Но мейк делали такие длинно-бородые колдуны что там нет диалога о модернизации. Часть колдунов
уже померли. А оставшимся пофиг.

Еще иногда символ TAB я встречаю в экспортах баз данных в формате TSV (Tab-Separated) но
честно говоря на экране такой дамп выглядит ужасно. Все равно по 1 линии выравнивание не
получается. Поэтому втопку такое.

Сегодня в современнных IDE символ табуляции автоматически заменяется на серию пробелов. Поэтому
смысла спорить о ТАБ нет никакого. Потому что и символа то уже нет. Есть просто клавиша которая
имеет семантику добивания пробелов.

UPD: Для исходников типа Python/Scala TAB (0x09) может создавать проблемы. Особенно когда идет
микс отступов например одна строка TAB а другая spaces. Это сложные невидимые глазами
проблемы. Только компиллятор увидит и ругнётся. Поэтому - выпиливайте ТАБы как сорняк.
Чем скорее - тем лучше.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы