Кликбейтные заголовки, давайте признаемся, надоели всем. Сейчас они встречаются даже на Хабре. Программист Линус Ли, судя по всему, испытывал те же чувства и решил действовать по принципу «не можешь победить — доведи до крайности». В результате он создал Tabloid — полноценный язык программирования, где весь код пишется в стиле сенсационных заголовков.

Представьте язык, где вместо привычного function hello() вы пишете DISCOVER HOW TO HELLO WITH (англ. «узнайте, как сделать... с помощью»), а вместо return используете SHOCKING DEVELOPMENT! (англ. «шокирующее развитие событий»). А еще каждый листинг должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE.

Звучит как странная шутка? Да, но этот язык реально работает, имеет собственный интерпретатор и позволяет писать полноценные программы.

В описании языка автор особо отмечает тот факт, что Tabloid — полноценный по Тьюрингу язык программирования. Это значит, что теоретически на нём можно решить любую вычислительную задачу, которую вообще возможно решить программированием.

Понятие названо в честь британского математика Алана Тьюринга, описавшего в 1930-х годах т.н. абстрактную "машину Тьюринга" - теоретическую модель компьютера. Любой язык программирования, способный выполнять условные переходы, организовывать циклы или рекурсию, работать с памятью и выполнять базовые операции, считается полным по Тьюрингу.

Как и серьезные языки, Tabloid имеет рабочий интерпретатор (написан на JavaScript, также существует совместимая реализация на Racket). Однако в нём, как уже упоминалось выше, все команды заимствованы из желтой прессы.

Особенности программирования на Tabloid:

1. Текст дополняется автоматическими “!”

Результат выводится с помощью ключевых слов YOU WON'T WANT TO MISS, за которыми следует выражение. Весь текст, выводимый Tabloid, автоматически переводится в ВЕРХНИЙ РЕГИСТР и дополняется восклицательным знаком!

HELLO WORLD!
RESULT IS!
3628800!

2. Функции в духе сенсационных заголовков

Функции объявляются с помощью DISCOVER HOW TO... WITH. Аналогично присваиваются значения переменным с помощью EXPERTS CLAIM... TO BE. Автор пишет: «в интернете каждый может быть экспертом, и Tabloid даёт вам возможность этим воспользоваться!»

3. Никаких циклов - только рекурсия!

Поскольку язык создавался за 8 часов, команд для циклов не существует. Опять же процитируем автора: «Новостной цикл движется слишком быстро! Ни у кого нет времени на вчерашние циклы или операторы break прошлой недели. Если нужно что‑то зациклить, используйте рекурсию.»

4. Возвраты из функций сильно удивляют

Чтобы выйти из функции, нужно написать SHOCKING DEVELOPMENT! И надо признать, это звучит шокирующе.

5. Лайк и подписка обязательны 

Каждый исходный код должен заканчиваться фразой PLEASE LIKE AND SUBSCRIBE. Без этого программа просто не запустится.

Список команд Tabloid

В описании языка Линус Ли приводит полный список команд. Мы решили не ограничиваться прямым переводом, а развить концепцию — адаптировать команды под русскоязычные заголовки, потеряв (как это принято в желтой прессе) немного смысла в процессе.

Команда

Вольный перевод на русский

Описание

DISCOVER HOW TO...WITH

ВРАЧИ СКРЫВАЛИ! КАК...ПРИ ПОМОЩИ

Объявление функции

RUMOR HAS IT

ОЧЕВИДЦЫ СООБЩАЮТ

Начало блока кода

A OF B, C

A ИЗ B ПО C

Вызов функции A с аргументами B, C

WHAT IF...LIES!

ЧТО ЕСЛИ ВСЁ...ОБМАН!

Условное выражение if‑else

END OF STORY

ВОТ И ВСЯ ЛЮБОВЬ

Завершение блока кода

EXPERTS CLAIM...TO BE

УЧЁНЫЕ ДОКАЗАЛИ...ЯВЛЯЕТСЯ

Объявление или присвоение переменной

YOU WON'T WANT TO MISS

ЭТО ВИДЕО ВЗОРВАЛО ИНТЕРНЕТ

Вывод на экран

LATEST NEWS ON

СРОЧНО! НОВОСТИ ПРО

Ввод пользователя

TOTALLY RIGHT

СТО ПУДОВ или ОТВЕЧАЮ

Логическое значение true

COMPLETELY WRONG

ПОЛНЫЙ ФЕЙК

Логическое значение false

AND, OR

ПЛЮС К ТОМУ ЖЕ, ЛИБО

Логические операторы и/или

PLUS, MINUS, TIMES, DIVIDED BY, MODULO

ПРИБАВИТЬ, ОТНЯТЬ, НА, ПОДЕЛИТЬ, ОСТАТКИ

Основные арифметические операции

IS ACTUALLY

ПО ФАКТУ

Оператор равенства

BEATS, SMALLER THAN

РВЁТ, СЛАБЖЕ

Операторы сравнения больше/меньше

SHOCKING DEVELOPMENT

ТАКОГО ПОВОРОТА НИКТО НЕ ЖДАЛ

Возврат из функции

PLEASE LIKE AND SUBSCRIBE

ПОДПИСЫВАЙТЕСЬ НА МОЙ ТЕЛЕГРАМ‑КАНАЛ

Конец программы

Пример

Ниже представлен пример кода для получения первых 10 чисел Фибоначчи:

DISCOVER HOW TO fibonacci WITH a, b, n
RUMOR HAS IT
    WHAT IF n SMALLER THAN 1
        SHOCKING DEVELOPMENT b
    LIES! RUMOR HAS IT
        YOU WON'T WANT TO MISS b
        SHOCKING DEVELOPMENT
            fibonacci OF b, a PLUS b, n MINUS 1
    END OF STORY
END OF STORY

EXPERTS CLAIM limit TO BE 10
YOU WON'T WANT TO MISS 'First 10 Fibonacci numbers'
EXPERTS CLAIM nothing TO BE fibonacci OF 0, 1, limit

PLEASE LIKE AND SUBSCRIBE

Недостатки языка

Как пишет Линус в описании проекта на GitHub, он разработал этот язык вместо того, чтобы делать домашнее задание по программированию. Поэтому Tabloid имеет ряд ограничений:

  1. Парсер не знает о приоритете операторов. Для компенсации недостатка используются скобки

  2. Как уже говорилось выше, в языке отсутствуют циклы, но это компенсируется рекурсией

  3. Язык не имеет комментариев. Впрочем, тогда это выглядело бы еще безумнее.

И последнее: где и как использовать язык

«Пожалуйста, никак!» — пишет сам автор. Мы согласны. Вместо этого ЛУЧШЕ ПОДПИСЫВАЙТЕСЬ НА НАШ ТЕЛЕГРАМ БЛОГ НА ХАБРЕ!

Комментарии (22)


  1. MechanicZelenyy
    10.07.2025 17:32

    В СССР ЭТИМ ЯЗЫКОМ ТВОРИЛИ ТАКОЕ ШОК...


  1. Maslukhin
    10.07.2025 17:32

    Паша, ты говнокодер!

    Неправда, это просто язык такой


    1. smoothie29
      10.07.2025 17:32

      тогда недурно)


  1. PerroSalchicha
    10.07.2025 17:32

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


    1. Vladimir_III
      10.07.2025 17:32

      Мой любимый язык С✞✞


      1. domix32
        10.07.2025 17:32

        А почему не В✞✞?


      1. raysond
        10.07.2025 17:32

        но В†† лучше
        https://neolurk.org/wiki/В%2B%2B


    1. Maslukhin
      10.07.2025 17:32

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


      1. Megatogen
        10.07.2025 17:32

        Так и появился JS


  1. Kerman
    10.07.2025 17:32

    А никто не пробовал твиты Трампа прогнать через него? Вдруг Дональд - программист?


    1. Vytian
      10.07.2025 17:32

      Вы хотели сказать -- погромист?


      1. OldNileCrocodile
        10.07.2025 17:32

        А разве демократы этим не занимаются?


        1. Kerman
          10.07.2025 17:32

          Демократы хотят демократии, а не громить почему-то. Ну могут и погромить, если им обещали, но наврали, как в LA


  1. vvbob
    10.07.2025 17:32

    Exception - ЭКСПЕРТЫ РЖАЛИ КАК СУМАСШЕДШИЕ, КОГДА УВИДЕЛИ ЭТО...


    1. BobovorTheCommentBeast
      10.07.2025 17:32

      Скорее чуть более сдержано - УЧЕНЫЕ ОТКАЗЫВАЮТСЯ ОТ СВОИХ СТЕПЕНЕЙ ВИДЯ ...


    1. playermet
      10.07.2025 17:32

      throw - НУЖНО ВСЕГО ЛИШЬ
      include/import - ЭКСПЕРТЫ ДУРЕЮТ С ЭТОЙ ПРИКОРМКИ


  1. madcatdev
    10.07.2025 17:32

    Нужна версия, совместимая с 1С.


    1. Feedman
      10.07.2025 17:32

      ДЕНЬГИ ТЕКУТ РЕКОЙ ЕСЛИ СДЕЛАТЬ ЭТО...


      1. vvbob
        10.07.2025 17:32

        БУХГАЛТЕР БЫЛ В ШОКЕ, КОГДА УЗНАЛ ОБ ЭТОМ ПРОСТОМ ЛАЙФХАКЕ..


  1. Mad_Mihas
    10.07.2025 17:32

    КАК ВЫУЧИТЬ TABLOID ЗА ЗА 30 СЕКУНД


  1. Amareis
    10.07.2025 17:32

    Единственный кликбейтный заголовок в тему у статьи)


  1. Smarahhhev
    10.07.2025 17:32

    Потратил весь лимит плюсов на эту статью с комментариями. Спасибо.