Почти нечего ломается
Стандарт Unicode определяет простой текст как последовательность кодов символов без дополнительной информации о форматировании, которая присуща форматированному тексту. Шрифты, цвета, макет и подобные детали представления находятся где-то в другом месте.
С точки зрения пользователя, важнее другое: файл содержит сам текст, не требуя конкретного приложения для его понимания. Можно создать текстовый файл в Linux, скопировать его на машину с Windows, загрузить на веб-сервер, открыть в терминале, найти в нём строку с помощью командных инструментов, отредактировать в любом из множества программ или отправить человеку, использующему совершенно другую систему. Очень мало в файле зависит от того, как он был создан.
Это отличается от многих форматов документов, где информация тесно связана с приложением или семейством приложений, которые понимают этот формат. Иногда это безобидно. Иногда формат хорошо задокументирован и широко поддерживается. В других случаях открытие старого файла означает надежду, что нужное программное обеспечение ещё существует.
Простой текст имеет очень мало такого груза.
Используется столько же, сколько существует — и не просто так
Простой текст — не забытая технология, нуждающаяся в спасении. Это остаётся частью базовой инфраструктуры вычислений.
Исходный код обычно хранится в текстовом формате. Конфигурационные файлы часто текстовые. Логи обычно тоже текстовые. Системы Unix и Linux заполнены текстовыми файлами. Большая часть механизмов, стоящих за веб, тоже так или иначе включает текст. HTML, XML, JSON, CSS, shell-скрипты, языки программирования, форматы конфигураций и многое другое построено на символах, которые люди могут читать.
Это структурированные форматы, а не обычная проза, конечно. HTML-документ — это не то же самое, что заметка в файле .txt. Сходство в том, что содержимое остаётся видимым. Откройте файл в простом текстовом редакторе — и вы сможете увидеть, что там находится, даже если не поймёте каждую его часть.
Это имеет практическую ценность. Когда что-то идёт не так с текстовым конфигурационным файлом, его можно проверить напрямую, скопировать, сравнить версии, найти конкретный параметр или сделать резервную копию без нужного программного обеспечения, которое его создало. Данные, остающиеся понятными вне своего обычного приложения, намного проще диагностировать и сохранять.
Простой текст хорошо сотрудничает с другими
Одна из величайших сильных сторон простого текста — наличие огромного набора инструментов, которые уже знают, как с ним работать.
В Unix-подобной системе текстовый файл можно передать grep, sed, awk, sort, diff и многим другим утилитам, которые существуют десятилетиями. Скрипт может обработать тысячи файлов без необходимости притворяться человеком, кликающим по меню.
Преимущество не ограничивается командной строкой. Графические редакторы, среды программирования, приложения для заметок, файловые менеджеры, инструменты поиска, браузеры и бесчисленные другие программы тоже могут работать с текстом. Настоящее преимущество в том, что информация не жёстко привязана к одному интерфейсу.
Современное программное обеспечение часто выбирает противоположный подход. Приложение может определять, где находятся ваши данные, как они организованы, как они синхронизируются, как они ищутся и какое другое программное обеспечение имеет доступ к ним. Такие системы могут предоставлять полезные возможности, но они также делают приложение всё более центральным для данных.
Простой текст оставляет больше этих выборов пользователю.
Markdown нашёл полезный компромисс
Очевидный недостаток простого текста — форматирование. Заголовки, выделение, ссылки, списки, цитаты и другие структуры облегчают чтение документов, но простой файл .txt не предоставляет стандартный способ выразить большинство из них.
Markdown — практический компромисс. Это текстовый формат для структурированных документов, заимствующий соглашения, уже знакомые из электронной почты и Usenet. Он был представлен в 2004 году, и его вариации теперь используются для документации программного обеспечения, веб-сайтов, заметок, книг и многих других видов письма.
Его настоящая сила в том, что исходный файл остаётся полезным даже если обработчик Markdown исчезнет. Заголовок всё ещё выглядит как заголовок. Маркированный список всё ещё напоминает список. Ссылка по-прежнему содержит и описание, и адрес назначения. Синтаксис форматирования виден, а не спрятан внутри бинарной структуры.
Это хороший пример добавления полезной функциональности без потери основных преимуществ простого текста. Визуализированный результат может быть удобным, но исходный файл остаётся обычным текстом.
Текст стареет на удивление хорошо
Долговечность может быть самым сильным аргументом простого текста.
История вычислений полна заброшенных форматов файлов и приложений. Иногда восстановление старого документа означает поиск устаревшего программного обеспечения, поиск фильтра импорта, запуск эмулятора или преобразование через несколько промежуточных форматов.
Текстовые файлы не полностью защищены от проблем совместимости. Старые файлы могут иметь проблемы с кодировкой символов, и различия в окончаниях строк вызывают раздражение уже много лет. Тем не менее, это обычно управляемые проблемы по сравнению с попыткой восстановить информацию из неясного собственного формата.
Если найти старый текстовый файл, есть очень хороший шанс, что какая-нибудь программа на современном компьютере сможет его открыть. Даже если форматирование примитивно или кодировка требует внимания, сами слова обычно восстанавливаются.
Современный Unicode также сделал простой текст намного более возможным, чем старое представление о ASCII-тексте, содержащем не более чем английские буквы, цифры и пунктуацию. Простой текст сегодня может представлять системы письма и символы со всего мира, сохраняя при этом одну и ту же базовую идею: файл содержит закодированные символы, а не собственный формат представления.
Простота не обязательно означает примитивность.
Также легко быть владельцем
Преимущества простого текста становятся ещё более очевидными по мере того, как программное обеспечение переходит к учётным записям, облачному хранилищу, сервисам синхронизации и подпискам.
Текстовый файл может просто находиться в папке на моём компьютере. Можно сделать резервную копию вместе с остальными файлами, синхронизировать его так, как мне нужно, поместить под контроль версий, скопировать на другую машину или хранить на сервере, который я контролирую. Ничего из этого не требует, чтобы компания, создавшая мой редактор, продолжала существовать или поддерживала услугу.
Это не означает, что каждый сервис заметок или облачное приложение — плохая идея. Специализированные приложения предоставляют функции, которые простой текст не может предоставить легко. Совместная работа, базы данных, встроенные медиа, сложное форматирование и отношения между различными видами информации имеют законные применения.
Нет пользы в том, чтобы заставлять каждый вид данных в файл .txt. Полезное различие в том, решает ли дополнительная сложность реальную проблему или просто становится ещё одной зависимостью.
Когда простого текста достаточно, это удаляет удивительное количество вещей, которые позже могут помешать.
Ограничения реальны
Простой текст — это не ответ на всё.
Не захочу заменять фотографию текстовым описанием её пикселей, и не хочу финансовую таблицу превращать в кучу чисел, требующих восстановления всех формул вручную. Богатые документы существуют потому, что представление и структура иногда имеют значение.
Приложения также предоставляют полезные абстракции. База данных может обеспечить отношения, которые папка с текстовыми файлами не может. Текстовый процессор может обрабатывать макет страницы, который было бы утомительно воспроизводить вручную. Специализированное программное обеспечение существует по уважительным причинам.
Проблема не в использовании более мощных инструментов. Проблема в предположении, что более мощные инструменты автоматически лучше, даже когда работа в них не требует. В удивительно большом количестве случаев самое простое адекватное представление остаётся самым долгоживущим.
Скучность — это преимущество
Простой текст — одна из тех технологий, которая становится почти невидимой, потому что работает так надёжно. У него нет компании, пытающейся увеличить вовлечённость, нет требования учётной записи, нет уровня подписки и нет сервиса, который может быть прекращен при смене бизнес-модели.
Он портативен, проверяем, доступен для поиска, автоматизируем, легко резервируется и удивительно устойчив к устареванию. Эти качества не волнующие, но они полезны, особенно в течение длительных периодов времени.
После десятилетий наблюдения того, как программное обеспечение и форматы файлов приходят и уходят, сложилось достаточное уважение к технологиям, которые делают меньше и существуют дольше. Простой текст не решает каждую проблему, и не должен. Что он обеспечивает, так это стабильный способ хранения информации без требования очень многого от программного обеспечения вокруг неё.
Для чего-то столь базового, это значительное достижение.