Появился язык программирования Enterprise™ для создания «взрывающих рынки» программ
Новости Отредактировано
Это недетерминированный, «чрезмерно статически типизированный» язык, созданный под спрос HR-менеджеров в Enterprise-разработчиках.
29К открытий29К показов
На GitHub опубликована документация к Enterprise™ — это недетерминированный, «чрезмерно статически типизированный» язык. Его задача — создавать программы, которые «взрывают рынки». В языке 8 видов комментариев и общий числовой тип Money
, а для файлов предусмотрено расширение .E™
, чтобы «с первого взгляда было ясно, что документ находится под защитой товарного знака».
Большая нужда
По словам автора, он следовал по тропе, проложенной ЯП Rockstar, и создал язык, который частично лишит смысла как разговоры HR-менеджеров о поиске Enterprise-разработчиков (это те, кто создает ПО под требования конкретного заказчика), так и статьи вроде «Лучшие языки программирования для Enterprise-разработки».
Спецификация
Комментарии
Помимо однострочных (//
) и многострочных (/* */
) автор предлагает еще шесть видов.
- О защите авторских прав (copyright comment) — с этого комментария должна начинаться каждая программа, иначе компиляция приведет к ошибке
UnexpectedNonDisruptiveOpenSourceException
.
- О неразглашении (NDA comment) — должен идти сразу после копирайта. Пример:
- Пассивно-агрессивный (passive aggressive comment) — место для ироничных замечаний:
- Задел на собеседование (interview comment) — место для объяснения, почему решение именно такое:
- Задел на будущее (time to market comment) — место для идей, как сделать код лучше, но когда-нибудь потом. Дата тоже является частью синтаксиса, она помогает старым комментариям не затеряться в потоке более новых идей:
- О дедлайне (deadline comment) — место для указания крайнего срока реализации. Дата также указывается:
Классы
disruptive
: с него должна начинаться каждая программа. У него нет конструктора, поэтому используется только методmain
. Поскольку метод не может быть изменен разработчиками, он должен бытьfinal
иimmutable
. И поскольку он не возвращает никакого значения, онvoid
.
unnecessary
: поскольку весь код содержится вdisruptive
-классах, все остальные по умолчанию считаются ненужными, так что должны начинаться с ключевого словаunnecessary
. Их можно размещать в какой угодно части кода. Методы этого класса также должны бытьvoid
иfinal
.
Названия всех классов должны заканчиваться Enterprisey™-суффиксом. Среди них Agile
, Consumer
, Investment
и еще больше 200 слов. Также предусмотрены префиксы: fdc
для disruptive
-классов и fuc
для unnecessary
.
Расширения и файловая структура
Все файлы, содержащие Enterprise™-код должны иметь расширение .E™
. Файловая структура будет зависеть от имени disruptive
-класса. Например, для класса fdcDeepLearningDataScienceHolisticFizzBuzzSynergicFrameworkManager
каждое ключевое слово имени будет создавать вложенную директорию, в дополнение к стандартной /com/enterprise/disruptive
.
Для unnecessary
-классов такая структура необязательна. Автор языка утверждает, что чем «случайнее» их расположение, тем лучше.
Переменные и операции
Для объявления переменных используется синтаксис:
При этом имя переменной должно содержать не больше 8 символов. Каждая инструкция заканчивается тремя знаками точки с запятой. По мнению автора языка, так соответствующая клавиша быстро сотрется и будет свидетельствовать о высокой трудоспособности разработчика.
В Enterprise™ всего 7 типов переменных:
Money
— объединяет целые числа и с плавающей точкой. При этом значение 1 тысяча, миллион, миллиард и триллион можно присваивать как1k
,1M
,1B
и1T
. Для типа доступен список стандартных операций.O1Type
— специально для вопроса на собеседовании о том, какой тип разработчик будет использовать, чтобы получить время поиска по хеш-таблице O(1). Доступ к значению осуществляется по ключу:
Остальные типы пока находятся на стадии разработки:
String
— строки. Доступна только операция конкатенации (соединения строк).Bool
— булев тип. Доступны логические операцииNOT
иAND
, остальные можно вывести из этих двух.List
— списки. Доступ к элементу по индексу, начиная с 1.XML
.Null
.
Библиотеки и структуры
В угоду простоте Enterprise™ отказался от стандартных в пользу disruptive-библиотек (.dl
). Для них нет ни менеджера, ни способа создания собственных пакетов, что обеспечит качество и безопасность использования внутренних библиотек.
Кроме того, в Enterprise™ нет итераторов и каких-либо структур более высокого порядка, чем while
и if
.
Полный текст спецификации можно найти на GitHub-странице проекта.
Enterprise™ Web3.0™
Для языка уже готов инструмент Enterprise™ Web3.0™, который компилирует программы в веб-приложения. Он добавляет еще один тип комментариев — «это все IE»:
А также вводит 64 новых Enterprisey™-суффикса.
Упоминавшийся выше язык Rockstar создал программист Дилан Битти с целью удовлетворить спрос среди HR-менеджеров на «rockstar developers» — «рок-звезд» среди разработчиков. При определении синтаксиса языка он вдохновлялся лирическими рок-композициями 1980-х годов, поэтому программы на Rockstar похожи на тексты песен.
29К открытий29К показов