вторник, 20 января 2026 г.

[prog.flame] Пробелы таки выигрывают у табуляции?

На протяжении многих лет был приверженцем табуляций в исходных текстах. Хотя начинал, конечно же, с пробелов. Просто потому, что изначально даже не знал про существование табуляции 😀

А вот когда узнал, году эдак в 1992-ом, то практически сразу же перешел с пробелов на табуляции, ибо:

  • исходные файлы с табуляцией занимали гораздо меньше места. Что было более чем критично во времена дискет на 1.2 MiB. Ведь тогда в наших палестинах самыми распространенными были 5.25" дисководы и дискеты на 360 KiB, 720 KiB и 1.2 MiB (хотя не везде диски на 1.2 MiB нормально читались и писались). Гораздо более надежные и практичные 3.5" дискеты на 1.44 MiB в нашей местности получили распространение спустя несколько лет. Архиваторы, вроде pkzip и arj уже были, но вроде бы исходники с пробелами все равно сжимались хуже;
  • текстовые редакторы для программистов тогда были гораздо более убогими, чем сейчас. Я не припомню редакторов, которые бы по клавише Tab и по сочетанию Shift+Tab двигали бы выделенный блок текста вправо или влево. Поэтому если тебе нужно было изменить выравнивание куска кода, то приходилось делать это вручную, и с табами было это гораздо быстрее и проще;
  • в те времена достаточно распространенной практикой была распечатка текстов программ. Сейчас это кажется диким, а 35 лет назад машинное время было дефицитом и ты не мог сидеть за компьютером часами на пролет в поиске какого-то заковыристого бага -- тебе этого просто не позволяли, а собственных персональных IBM PC-совместимых компьютеров в те времена практически ни у кого не было. В текстовом редакторе можно было выставить размер табуляции в 2 символа и видеть больше на тогдашних 14" EGA/VGA экранах с текстовым режимом 80x25 символов, а для печати использовать размер в 4 символа и получать более удобный для чтения формат. Тогда как с пробелами такой фокус уже не проходил.

В общем, в начале 1990-х для меня табы были намного практичнее пробелов. И таковыми они оставались в течении тридцати лет. Но сейчас ситуация в моих сценариях работы сильно изменилась.

Во-первых, теперь постоянно приходится пользоваться сервисами, в которых я не могу поменять размер табуляции (ну или не знаю как это сделать). Самый яркий пример -- вводишь в консоли команду git diff и git разворачивает табуляцию на 8 пробелов. Или вводишь пример кода в какой-нибудь Wiki-системе и результирующая Web-страничка заменяет табуляцию на столько пробелов, сколько ей вздумается. Получается, что ты копипастишь кусок кода из своего редактора, где все прекрасно помещается в 80 символов по ширине, но на Web-ресурсе этот же фрагмент может получиться настолько широким, что выползет за край видимой области.

Во-вторых, мне по работе периодически приходится вставлять куски кода в e-mail-ы или документы Google.Doc. Типа вот есть такой фрагмент, в нем вот здесь и вот здесь есть вот такие и такие проблемы, исправить их можно вот так и вот так, а еще лучше было бы переписать вот так или вот так. Но, к сожалению, со вставкой кусков кода с табуляцией внутри могут возникнуть проблемы. Так, если я пишу письмо прямо в Web-интерфейсе Google Mail, то при отправке письма все табы вырезаются и форматирование кода оказывается полностью сломано -- весь текст просто прижимается к левому краю 😡 Если фрагмент вставляется в Google.Doc, то форматирование более-менее сохраняется, но вносить в такой фрагмент правки -- это то еще приключение.

Вообще когда набираешь или редактируешь какой-то кусок кода в многострочном редакторе на Web-форме (что часто происходит при работе с Wiki-системами), то нажатие на Tab, как правило, выбрасывает тебя из редактора вообще. Т.е. если ты скопировал фрагмент с табуляциями и хочешь расширить этот фрагмент дописав туда что-нибудь, то вставить новые строки с табами внутри будет не так-то просто.

В итоге получается, что в современном мире гораздо проще использовать пробелы для форматирования исходного кода:

  • место на диске уже не проблема,
  • редакторы для программистов намного более продвинутые (+ часто используется автоформатирование),
  • исходные тексты уже практически никогда не приходится печатать на бумаге.

Преимуществ у табов, по факту, не осталось. Кроме привычки. Зато код с пробелами везде выглядит одинаково и забот с пробелами намного меньше.

Все вышесказанное не означает, что я вот прям взял и побежал менять табы на проблемы в своих проектах. Нет, в старом коде табы пусть продолжают жить как жили.

А вот для новых проектов, похоже, имеет смысл выбирать именно пробелы.

пятница, 2 января 2026 г.

[life.cinema] Очередной кинообзор (2025/12)

Отчет о просмотренных в декабре фильмах. По традиции в начале каждого из списков идет то, что понравилось больше. Хотя сразу скажу, что в списке сериалов ничего понравившегося нет :(

Фильмы

Первый на Олимпе (2025). Мог бы получиться просто отличный фильм, если бы не главный злодей, которого сделали настолько злодейским, что прям караул.

Бугония (Bugonia, 2025). Очень необычное кино. И посмотреть его можно только из-за того, что это очень необычное кино. Но нужно перетерпеть первые 2/3 фильма, т.к. все самое интересное начинается именно в конце.

Грабитель с крыши (Roofman, 2025). Хорошее и доброе кино.

Годзила: минус один (Gojira -1.0). Весьма неплохо. Снято за копейки, но в подавляющем большинстве случаев все деньги реально видны на экране (за редким исключением). Если бы не азиатская актерская школа, когда истерики доведены до максимума, так было бы просто зашибись.

Битва за битвой (One Battle After Another, 2025). Вот вообще не понял что это было. В меня кино совершенно не попало. И еще я не понял, почему считается, что главная звезда в этом фильме ДиКаприо, как по мне, так все держится на Шоне Пенне.

Бегущий человек (The Running Man, 2025). Редкий бред и редкий тупизм. Но бодренько, да.

Сериалы

Разведчик (The Spy, первый сезон, 2019). Сериальная затянутость в худшем смысле этого слова. Как по мне, эту же историю можно было бы уместить в три серии.

Одна из многих (Pluribus, первый сезон, 2025). Начало прикольное, первые две серии смотрятся на одном дыхании. Потом как будто у авторов запал пропадает и повествование превращается в унылую скукоту. Ну а вишенкой на торте то, что никакой развязки нет -- чисто замануха для последующих сезонов.

В её глазах (Behind Her Eyes, первый сезон, 2021). Смело можно было бы сократить хронометраж раза в два. Тогда бы могло получиться что-то достойное. А так нудная нудятина, да еще и основной твист угадывается еще в предпоследней серии.

Тоннель (первый сезон, 2025). Какой-то сказочный мир в котором какие-то сказочные персонажи творят какую-то сказочную хрень. Смело можно не смотреть.

Последний рубеж (The Last Frontier, первый сезон, 2025). Смотреть можно разве что для того, чтобы подсчитывать количество раз, когда ты воскликнешь "ну что за бред?!". А если серьезно, то лучше пройти мимо и не тратить свое время.


В качестве итогов 2025-го года из фильмов я бы выделил F1 (2025) и Маскарад (Mascarade, 2022), а из сериалов Бар "Один звонок" (первый сезон, 2023), Больница Питт (The Pitt, 2025), 13 клиническая. Начало (2024).

Отдельно бы отметил пару свежих глотков воздуха во вселенной "Хищника". Прежде всего полнометражный мультфильм Хищник: Убийца убийц (Predator: Killer of Killers, 2025). Но и кино Хищник: Планета смерти (Predator: Badlands, 2025) лично мне очень понравилось.