Программист разработал язык программирования под стиль песен 80-х

Язык программирования Rockstar

Разработчик Дилан Битти разработал и подробно описал динамический типизированный язык программирования Rockstar для создания программ, похожих на песни. На это его вдохновили не только лирические рок-композиции 1980-х годов, но и менеджеры по персоналу, которые стремятся найти «рок-звёзд» среди разработчиков.

Если язык станет популярным, Дилан планирует выпустить стикеры «Certified Rockstar Developer».

Спецификация Rockstar

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

Переменные

Язык Rockstar предлагает два способа объявлять переменные:

  • Классические, включающие одно из слов: a, an, the или my. После программист указывает уникальное имя прописными буквами латинского алфавита.
  • Нарицательные. Начинаются как имена собственные — с большой буквы. Можно использовать, чтобы написать название любимых композиций (Tommy, Gina, Doctor Feelgood) или создавать налоговые ставки, идентификаторы клиента.

Так же как и в Ruby, Python и VBScript, нет необходимости заранее объявлять переменные благодаря динамической типизации. Местоимения ссылаются на последнюю использованную переменную.

Типы переменных

В Rockstar используются переменные, схожие с системой ECMAScript:

  • Mysterious (заменяет undefined) — любые переменные без конкретного значения.
  • Null — false или ноль (слова nothing, nowhere и nobody).
  • Boolean — логический тип (слова right, yes, ok; wrong, no, lies).
  • Number — хранятся посредством цифрового типа DEC64.
  • String — последовательность 16-битных целых значений в кодировке UTF-16, которые не сопровождаются знаком.
  • Object — комплекс свойств, аналогичных ECMAScript.

Литералы и присваивания

Строковые литералы в Rockstar заключают в двойные кавычки. Одиночная кавычка считается буквой алфавита. Числовые литералы записывают как десятичные числа. Присваивание обозначается комбинацией ключевых слов put/into.

Для арифметических действий используют plus, minus, times (умножение), over (деление), а также слова with, without, of и by, повторяющие функции.

Арифметический пример:

  • Put the whole of your heart into my hand — умножить your heart на whole и назначить результат into my hand.

Rockstar использует специфическую языковую деталь — «поэтический литерал», с помощью которого можно обозначить переменную и заодно «выразить непреодолимую тоску». Например, для ключевых слов true, false, nothing, nobody и nowhere поэтическое присваивание представляет собой одну строку, состоящую из имени переменной, ключевого слова is и литерала требуемого значения:

  • My heart is true — инициализирует переменную my heart логическим значением true.
  • Tommy is nobody — инициализирует переменную Tommy значением null с помощью псевдонима nobody.

Примеры

FizzBuzz в минималистском варианте Rockstar, с отступами блоков для ясности:

Rockstar с отступами

То же самое в идиоматическом Rockstar, с использованием поэтических литералов и без отступов:

Rockstar без отступов

Уже есть возможность преобразовать Rockstar в JavaScript.

В 2017 году появился ещё один «шуточный» язык программирования Motes, основанный на эмодзи. Для его освоения потребуется скачать нужные библиотеки и установить редактор, поддерживающий эмодзи.

Источник: GitHub