понедельник, 5 августа 2024 г.

[prog] Похоже, использование табуляции становится пережитком старых (не)добрых времен

Я уже более 30 лет являюсь приверженцем табуляции для отступов в коде. Но вынужден признать, что часть преимуществ табуляции сейчас уже сложно оправдать (а то и объяснить).

Во-первых, это в 1990-ом году, на 5.25" дискете емкостью 360Kb (да и даже 720Kb) приходилось место экономить. Поэтому было критично, что исходный файл с табуляцией может занимать от 1/3 до 1/2 меньше места, чем файл с пробелами. Сейчас, когда терабайты умещаются на MicroSD карте, об этом даже смешно говорить.

Во-вторых, сейчас сложно найти редактор кода, не говоря уже об IDE, который не умеет сдвигать блоки кода влево/вправо на нужное число позиций. Тогда как раньше в каком-нибудь редакторе Turbo C 2.0 такой фичи не было как класса. Хочешь сдвинуть несколько строк влево? Удаляй лишние символы в начале строки вручную. Хочешь сдвинуть вправо? Добавляй. Опять же вручную. Понятное дело, что табуляция здесь гораздо удобнее, чем пробелы.

В-третьих, экраны сейчас не в пример лучше, везде графические интерфейсы, можно поставить какой хочешь шрифт какого хочешь размера. А раньше, в текстовом режиме на каком-нибудь убогом терминале от ЕС-1840 в режиме 80x25 особо не разгонишься. И если на таком экране исходный код с отступами по 2 или 4 пробела выглядит убого, то ничего ты уже не сделаешь. Другое дело с табуляцей -- настроил под себя, хоть в единичку, хоть в восьмерку, и радуйся.

В-четвертых, раньше мне гораздо чаще приходилось извлекать фрагменты кода и вставлять их в какую-то документацию. Да даже больше: раньше код даже часто печатали на бумаге, просто чтобы поразбираться в спокойной обстановке оставляя пометки на полях (в "спокойной обстановке" ты оказывался еще и потому, что твое машинное время закончилось и нужно уступить компьютер коллеге). Возможность поменять размер отступов не трогая сам текст и здесь была очень в тему. Многие ли сейчас пишут документацию, куда вставляются фрагменты реального кода? Кто-нибудь сейчас печатает код на бумаге, чтобы покорпеть над ним с красным карандашом в руках?

Ну и не могу не поделиться еще одной своей болью последних нескольких месяцев: web-интерфейс Google Mail удаляет табуляции из фрагментов кода когда их вставляешь в текст письма копипастой, весь такой фрагмент оказывается выровнен по левому краю 🙁
Хорошо хоть Google Doc такой фигней пока(?) не страдает...

PS. Прошу понять меня правильно. Я не пытаюсь развести очередной срач на тему "tabs vs spaces". Просто как-то грустно от осознания как давно я в программизме и как много поменялось за это время.

PPS. Xотя, конечно, же, единственный верный способ -- это табуляция, все остальное должно быть предано анафеме и выжжено каленым железом, адназначна! (Желающих мне возразить прошу обратить внимание не тег Humour)

1 комментарий: