Добавить в корзинуПозвонить
Найти в Дзене

Язык цветов XIX века: первый текстовый протокол шифрования

После поста о круглосуточных цветочных мне захотелось продолжить цветочную линию.
Сейчас цветы работают как скорая романтическая помощь. Но в XIX веке цветы умели ещё больше. Они спасали от цензуры, семейного надзора и строгой морали, при которой многое нельзя было сказать напрямую.
Так появился и стал особенно популярен язык цветов — селам. В 1830 году в Петербурге вышла книга Дмитрия Ознобишина "Селам, или Язык цветов", где цветы, растения и даже плоды превращались в маленький словарь чувств. В Европе XIX века такие цветочные словари тоже были очень модны, особенно в викторианской культуре. Букет становился не только подарком, но и сообщением, которое нужно было прочитать. Если смотреть на это глазами человека, испорченного компьютерной лингвистикой, получается почти текстовый протокол.
Каждый цветок — токен.
Каждый цвет — дополнительный признак.
Порядок, наклон, жест вручения — синтаксис.
Букет — пакет данных, отправленный адресату без единого произнесённого слова.
Красная роза

После поста о круглосуточных цветочных мне захотелось продолжить цветочную линию.

Сейчас цветы работают как скорая романтическая помощь. Но в XIX веке цветы умели ещё больше. Они спасали от цензуры, семейного надзора и строгой морали, при которой многое нельзя было сказать напрямую.

Так появился и стал особенно популярен язык цветов — селам. В 1830 году в Петербурге вышла книга Дмитрия Ознобишина "Селам, или Язык цветов", где цветы, растения и даже плоды превращались в маленький словарь чувств. В Европе XIX века такие цветочные словари тоже были очень модны, особенно в викторианской культуре. Букет становился не только подарком, но и сообщением, которое нужно было прочитать.

Цветочный код
Цветочный код

Если смотреть на это глазами человека, испорченного компьютерной лингвистикой, получается почти текстовый протокол.

Каждый цветок — токен.
Каждый цвет — дополнительный признак.
Порядок, наклон, жест вручения — синтаксис.
Букет — пакет данных, отправленный адресату без единого произнесённого слова.

Красная роза могла говорить о любви. Жёлтая роза в одних словарях указывала на ревность или неверность, в других - на дружелюбие. Гвоздики тоже вели себя непросто: красная могла означать восхищение, полосатая — отказ, жёлтая — разочарование или отвержение. То есть это был не единый ISO-стандарт романтической коммуникации, а несколько конкурирующих версий спецификации, написанных людьми, которые явно любили усложнять жизнь влюбленным.

И вот представьте: человек составляет букет. Снаружи всё выглядит невинно — розы, гвоздики, немного зелени, ленточка. А внутри идёт настоящая передача данных. Получатель должен не умилиться, а распарсить входящее сообщение. Причём контекст тоже имел значение. Важным могло быть даже то, как подают букет: в какой руке, вверх или вниз соцветиями, с листьями или без, с шипами на розе или уже без них. То есть к самим токенам добавлялась еще и разметка.

С машинным кодом проще. Если вы ошиблись, программа упадёт и покажет строку, где всё сломалось. С букетом XIX века было хуже. Никакого traceback. Никакой понятной ошибки компиляции. Просто вы хотели сказать «я страстно люблю», а человек прочитал «я глубоко разочарован» и ушёл в гостиную с ледяным лицом.

Сейчас мы почти не умеем читать такие букеты как текст. Зато, кажется, до сих пор понимаем главное: иногда человеку нужно отправить не предмет, а сообщение. Просто одни отправляют его через мессенджер, другие — через код, третьи — через букет, который говорит за них там, где голос почему-то не справляется.

P.S. Если бы мы писали простейший скрипт для расшифровки викторианского букета на Python, это был бы обычный словарь:

flower_code = {
"красная_роза": "я вас люблю",
"желтая_роза": "я ревную",
"полосатая_гвоздика": "я не могу быть с вами",
"белая_гвоздика": "я презираю вас",
"незабудка": "помните обо мне"
}

def parse_bouquet(flowers):
message = [
flower_code.get(flower, "неизвестное чувство")
for flower in flowers
]
return " / ".join(message)

print(parse_bouquet(["красная_роза", "желтая_роза"]))
# я вас люблю / я ревную

*Используйте код с осторожностью. Особенно если ваш адресат пользуется другим цветочным словарём или считает жёлтую розу не ревностью, а просто красивой жёлтой розой.

#UmbrellaCode #языкцветов #селам #флориография #цветочныйкод #литератураXIXвека #компьютернаялингвистика #Python #шифрование #Tтекст