Новый язык программирования Rockstar создал разработчик Дилан Битти. Команды на нем звучат как строчки из рок-хитов 80-х, и благодаря этому Rockstar действительно помогает почувствовать себя рок-звездой, о которой грезят HR крупных корпораций.
Всем нужны рок-звезды
В описании Rockstar на GitHub говорится, что новый язык программирования придумали в пику хедхантерам ИТ-компаний. Все они хотят видеть на собеседовании исключительно рок-звезд от программирования, и этот ярлык давно опостылел кандидатам.
Битти не скрывает, что Rockstar – хоть и реальный, но, в общем-то, совершенно бессмысленный язык программирования. Если его выучить, ни один кадровик не сможет придраться к тому, что вы – «разработчик – рок-звезда».
Кроме того, Битти пообещал напечатать стикеры для фанатов. Действительно, ведь каждый кодер хочет стикер «Сертифицированный программист Rockstar»!
Особенности языка
Rockstar – тьюринг-полный язык с динамической типизацией. Битти подчеркнул, что он дарит разработчикам «беспрецедентный уровень поэтической свободы, когда речь заходит о композиции и структуре их программ».
Посудите сами – вот лишь несколько команд на Rockstar:
-
Put the whole of your heart into my hands — умножает your heart на the whole и выдает результат в my hands.
-
My world is nothing without your love — инициализирует my world с результатом вычитания your love от 0.
-
If the tears of a child is nothing — проверяет, когда the tears * a child = 0.
-
My love by your eyes — возвращает my love поделенное на your eyes.
Как это понять?
Начнем с переменных. Их в Rockstar можно объявить двумя способами: a, an, the, my, your и любое слово из строчных букв латинского алфавита или любое незарезервированное языком слово либо несколько слов, каждое с большой буквы. Ключевые слова it, he, she, him, her, them, they ссылаются на самую последнюю названную переменную, определенную во время парсинга.
Система типов Rockstar напоминает систему ECMAScript, за исключением неопределенных. Поддерживаются такие типы:
-
Mysterious (таинственный) – значение любой переменной, которой не присвоено значение.
-
Null – нулевой тип. Равен арифметическому нулю или false. Ключевые слова nothing, nowhere и nobody являются алиасами Null, имеют те же значения.
-
Boolean - логический объект, имеющий два значения: true и false. (Возможно, и, возможно, ключевые слова зарезервированы для использования в будущем). Right, yes и ok – псевдонимы для истинных значений, wrong, no и lies – псевдонимы для ложных значений.
-
Number – номера в Rockstar хранятся с использованием цифрового типа DEC64.
-
String – последовательности из 16-разрядных целочисленных значений без знака, представляющих кодовые единицы UTF-16.
-
Объект – совокупность перечисленных свойств данных, как в ECMAScript.
А вот комментарии в командах на Rockstar использовать не стоит. Ведь «это рок-н-ролл. Аудитория сама найдет подходящий для себя смысл». Но если очень нужно добавить комментарий в код, возьмите его в круглые скобки. Сюрприз: нельзя использовать круглые скобки в арифметических выражениях. Такой вот тяжелый рок.
Для языка уже выпущено три своеобразных трейера о проекте:
-
rockstar-js – для запуска JavaScript transpiler;
-
rockstar-lexer – конвертёр на Haskell;
-
rockstar-java – интерпретатор в Java.
Пользователи же, обсуждая Rockstar, отметили, что разработчику теперь нужно будет взять и создать языки Ninja и Guru. Это уж точно не оставит рекрутерам шансов и заставить нанять именно вас.