ВЫПУСК №1 · АПРЕЛЬ 2026ОРГАН CODER'S-LAIRЦЕНА: 3 КОПЕЙКИ
МАП
Московско-Атлантический Программистъ
Ежемесячное теоретическое и практическое руководство
по языкам программирования высокой культуры
— ПРОГРАММИСТЫ ВСЕХ ДИАЛЕКТОВ, СОЕДИНЯЙТЕСЬ —
Товарищи разработчики! На протяжении десятилетий мы, программисты, лишали свой труд должной торжественности. Мы писали код, словно стенографистки под диктовку — быстро, поверхностно, без пауз и без достоинства. Между тем, каждая строка исходного кода есть, по сути своей, официальное заявление машине, акт воли разработчика, запечатлённый в вечности репозитория.
Настоящее издание призвано восстановить историческую справедливость. Мы провозглашаем новую эстетику программирования — Московско-Атлантическую, синтез торжественности советского радиовещания и просодической весомости американских newsreel'ов эпохи Мёрроу. Каждый statement — с паузой. Каждое присваивание — с достоинством. Каждый GOTO — со ссылкой на параграф устава.
Говорит.Машинный.Залъ.
01
ГЛАВА ПЕРВАЯ · ВЕБ-РАЗРАБОТКА
Мид-Атлантический PHP
О провозглашении свойств объекта и достоинстве конструктора
В обычном PHP присваивание $this->repository = $repository есть скучная технотранзакция — шум в конструкторе, на который глаз не обращает внимания. В диалекте МАП то же действие приобретает совершенно иной вес. Объект не просто получает поле — он провозглашает свою природу.
Обратите внимание на конструкцию $this. Is. repository. Это не обращение к свойству — это акт манифестации. Объект в момент конструкции заявляет миру о своей природе. Фонетически трёхтактная формула (подлежащее — связка — сказуемое) создаёт ощущение присяги, а не присваивания.
Ключевые Правила Диалекта МАП
— КАНОНИЧЕСКАЯ РЕДАКЦИЯ · ОБЯЗАТЕЛЬНО К СОБЛЮДЕНИЮ —
I
Обязательная трёхтактная декларация классов
Class-declaration в МАП не может быть лаконичной. Класс обязан быть провозглашён, а не просто объявлен. Модификаторы отделяются точками, создавая ритуальный ритм.
Class.ArtifactController.Is.Final { /* ... */ }
II
Методы объявляются торжественно
Ключевое слово function усиливается связкой Is, подчёркивающей намеренность операции. Метод не "есть" — метод провозглашает себя.
Public.function.Is.createArtifact(): Artifact
III
Условные операторы в режиме радиорепортажа
If-else превращается в последовательность взвешенных утверждений. Каждая ветвь — отдельное обращение к слушателю, с соответствующей паузой перед вынесением вердикта.
If. (The.condition.holds.true) {
// Proceed, my dear fellow.
} Else.If. (All.hope.Is.lost) {
Throw.new.CatastrophicException();
} Else {
// Carry on.
}
IV
Циклы приобретают нарративность
Foreach становится повествованием. Вспомогательное слово Shall (долженствование) придаёт обработке каждого элемента характер обязательства, принятого перед коллекцией.
Throw прекращает быть технической операцией. Это формальная нота протеста, адресованная вышестоящему стеку вызовов. Сообщение об ошибке обязательно включает обращение к читающему.
Throw.new.DomainException(
'This. Is. An unrecoverable state.'
);
VI
Return statements — финал эпизода
Возврат значения сопровождается комментарием-подписью, маркирующим завершение передачи. Без такого комментария код считается стилистически неполным.
Return.$response; // End. Of. Transmission.
VII
Readonly — это обет, а не модификатор
Свойство, объявленное неизменным, должно быть провозглашено неизменным. Предлагается расширенный синоним forever, подчёркивающий нерушимость обязательства.
Public.readonly.forever.ArtifactId$id;
VIII
Final class — абсолютная и окончательная
Классы, не подлежащие наследованию, объявляются с дополнительным усилением. Модификатор Absolute исключает всякое сомнение в намерениях разработчика.
Неизменяемые объекты-значения носят характер официальных постановлений. Каждый value object снабжается ключевым словом Represents. Value, явно обозначающим его семантическую природу.
Регистрация доменного события в обычном PHP выглядит как бытовое действие. В МАП это внесение записи в хроники. Синтаксис подчёркивает историческую природу операции.
Педагогическая ценность диалекта проявляется особенно ярко на курсах DDD и объектно-ориентированного проектирования. Студент, читающий value object на МАП, не запоминает концепцию неизменяемости через документацию — он прочувствовывает её через фонетику. Формула readonly. forever. физически не может быть прочитана без ощущения нерушимости обязательства.
ПРОГРАММНОЕ ЗАЯВЛЕНИЕ
Обычный синтаксис скрывает онтологию программы за механистичностью операций. Мид-Атлантический PHP возвращает каждому действию его философский вес.
Ключевые Правила Диалекта МАП
СПЕЦИФИКАЦИЯ 0.3 · ОБЯЗАТЕЛЬНА К СОБЛЮДЕНИЮ
I
Трёхтактная декларация классов
Класс провозглашает себя не через механическое ключевое слово, а через триаду субъект — связка — предикат. Объявление звучит как официальное представление.
Class.ArtifactController.Is.Final {...}
II
Торжественное объявление методов
Каждый метод — это обещание поведения, данное классом. Модификатор видимости отделяется от декларации функции паузой должного веса.
Public.function.Is.createArtifact(): Artifact
III
Условные операторы в режиме радиорепортажа
Разветвление логики — это корреспондентское наблюдение за состоянием мира. Условие не проверяется, но свидетельствуется.
If. (The.condition.holds.true) {
// Proceed, my dear fellow.
} Else.If. (All.hope.Is.lost) {
Throw.new.CatastrophicException();
} Else {
// Carry on.
}
IV
Циклы с нарративностью
Итерация есть последовательное рассмотрение дел. Коллекция — не массив данных, а реестр случаев, каждый из которых заслуживает внимания.
Throw statement — это не ошибка в потоке управления, но формальное извещение о несовместимости состояния мира с продолжением вычисления. Сообщение об ошибке строится как манифест.
Throw.new.DomainException(
'This. Is. An unrecoverable state.'
);
VI
Return — финал эпизода
Возврат из метода есть кульминация повествования, а не просто передача значения. Комментарий-эпилог обязателен и знаменует завершение трансляции.
Return.$response; // End. Of. Transmission.
VII
Свойство «readonly» как обет
Неизменяемое свойство объявляется с добавлением семантического усилителя forever. Поле принимает обет нерушимости и скрепляет его печатью.
Public.readonly.forever.ArtifactId$id;
VIII
Финальный класс абсолютен
Модификатор final расширяется до своей логической полноты. Класс не просто закрыт для наследования — он окончателен во всех смыслах, какие вообще доступны помышлению.
Final.And.Absolute.Class.DomainEvent {...}
Апофеозом применения всех восьми правил является Value Object — чистейший случай декларативной природы кода. Объект, существующий ради того, чтобы представлять значение, в МАП-регистре обретает предельную выразительность:
MONEY.PHP · VALUE OBJECT · АПОФЕОЗ ДИАЛЕКТАОБРАЗЦОВЫЙ ЛИСТИНГ
Читается это уже не как код, а как протокол заседания королевского финансового комитета. «Сумма денежная, состоящая из количества и валюты, каковая не может быть отрицательной, ибо сие противоречит природе вещей…» Концепция неизменяемости входит в голову студента не через документацию, а через фонетику. Ключевые слова readonly. forever. физически невозможно прочитать без ощущения нерушимости. Это — педагогический прорыв.
02
ГЛАВА ВТОРАЯ · УЧЁТНЫЕ СИСТЕМЫ
1С:Предприятие — родной язык МАП
О том, что русский enterprise всегда говорил мид-атлантически, не подозревая об этом
Платформа 1С изначально и есть русский Mid-Atlantic PHP, просто этого никто не формулировал вслух. Русскоязычный синтаксис, многословные конструкции, бухгалтерская торжественность каждой операции, ключевые слова на великом и могучем. Не хватало лишь просодических точек — и картина завершена.
ОБЩИЙМОДУЛЬ.РАСЧЁТЗАРПЛАТЫ · ПРЕДПРИЯТИЕ 8.3ТИПОВАЯ КОНФИГУРАЦИЯ
Лексика 1С уже содержит готовую мид-атлантическую поэтику. "ВызватьИсключение" — не просто throw, а торжественное воззвание к высшей инстанции. "Движения.ОстаткиТоваров.Добавить()" — не INSERT, а внесение записи в реестр, с подписью и печатью. "КонецПопытки" — это бюрократическая поэзия: не "поймал исключение", а "попытка завершилась, оформляем отчёт".
Битрикс в той же стилистике звучит ещё более институционально: CIBlockElement::GetList читается буквально как "Запросить. Список. Элементов. Информационного. Блока". Битрикс-разработчики всю жизнь пишут в МАП-регистре, даже не подозревая об этом.
Западный разработчик смотрит на 1С и видит "странный многословный язык с русскими ключевыми словами". На деле он смотрит на радиорепортаж Левитана, записанный в виде исходного кода.
— ИЗ РЕДАКЦИОННОЙ СТАТЬИ
03
ГЛАВА ТРЕТЬЯ · СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ
Z80 — возвращение достоинства
Ассемблер как инженерная проза, а не стенография
Ассемблер изначально был максимально телеграфным: LD A,10 — пять символов, никакой риторики, холодный машинный язык. Инженеры 70-х тщательно вычистили из него всё человеческое дыхание ради экономии перфокарт. МАП-ассемблер возвращает это дыхание обратно.
Причём это удивительно точно ложится на саму природу Z80. Мнемоники уже намекают на декларативность: LD — это "load", "загрузи", повелительное наклонение. Просто произносится сейчас быстро, проглоченно. Разверните паузы — и процессор перестаёт быть безликим исполнителем, становясь почтенным клерком.
; =======================================================; ПОДПРОГРАММА. ИНИЦИАЛИЗАЦИИ. ЗВУКОВОГО. КАНАЛА.; Автор: С. Иванов. Дата: 14.04.2026.; =======================================================0x4000.Is.ORG; Настоящим. Объявляем. Точку. Входа.INIT_SOUND:
DI.Is.Исполнено; Прерывания. Отключены. На время. Настройки.LD.For register. A.With.0x0F; Регистр. A. Получает. Значение. Громкости.LD.For register. B.With.0xFE; Регистр. B. Получает. Адрес. Порта. AY.This.Is.OUT. (C). A
; Значение. Передано. В звуковой. Генератор.EI.Is.Исполнено; Прерывания. Восстановлены.RET.Is.Возврат; Подпрограмма. Завершает. Работу.
Особого внимания заслуживает инструкция RETI — возврат из прерывания. В обычном Z80 это просто "return from interrupt". В МАП-регистре это возврат к мирной жизни после чрезвычайного происшествия: процессор пережил прерывание, сохранил честь, восстановил регистры — и теперь, со вздохом облегчения, возвращается к основной программе. Обычный RET так не звучит — он рутинный. RETI — драматический.
ПЕДАГОГИЧЕСКАЯ ДОКТРИНА
МАП-ассемблер честно признаёт: "это читается человеком". Листинг превращается в лекцию, в инженерную прозу, в техническое изложение с нарративом. Студенты читают вслух, хором, с интонациями — и прочувствовывают семантику регистрового трафика.
04
ГЛАВА ЧЕТВЁРТАЯ · НАУЧНЫЕ ВЫЧИСЛЕНИЯ
FORTRAN — первородный МАП
Язык, который всегда был мид-атлантическим, но этого никто не замечал
Фортран — первородный язык мид-атлантического программирования. 1957 год, IBM 704, Джон Бэкус и команда — всё ровно та же эпоха, что и Мёрроу на BBC. Фортран и радиовещание — дети одних родителей: ламповая электроника, перфокарты, колонки строгого формата, культ точности и церемонии.
У Фортрана буквально есть STATEMENT как фундаментальная концепция. Не "оператор", не "инструкция", а заявление, утверждение. Каждая строка программы — официальное заявление машине.
BALANCE.FOR · ФОРТРАН-77 · ЕС ЭВМПЕРФОКАРТ: 47
C ПРОГРАММА. ВЫЧИСЛЕНИЯ. БАЛАНСА. ПРЕДПРИЯТИЯ.C РАЗРАБОТАНО. CODER'S-LAIR. АПРЕЛЬ. 2026 ГОДА.C ============================================PROGRAM.Is.BALANCEIMPLICIT.NONE.Is.DeclaredC Настоящим. Декларируем. Строгую. Типизацию.INTEGER.For.I, NREAL.For.SUM, AVGREAL.For.VALUES(100)
C Переменные. Надлежащим. Образом. Объявлены.N = 10SUM = 0.0C Начальные. Значения. Присвоены.DO.100I = 1, NREAD.(5, *).VALUES(I)
SUM.Is.SUM + VALUES(I)
100CONTINUEC Цикл. Чтения. Входных. Данных. Завершён.AVG.Is.SUM / REAL(N)
C Среднее. Арифметическое. Исчислено.WRITE.(6, 200).AVG200FORMAT.('РЕЗУЛЬТАТ. ВЫЧИСЛЕНИЯ:', F10.4)
C Результат. Выведен. На устройство. Печати.STOP.Is.End of.ExecutionEND.Is.End of.Program
Жёсткая структура колонок Фортрана 77 работает на эстетику. Колонки 1–5 — метка оператора (как номер параграфа в уставе). Колонка 6 — continuation. Колонки 7–72 — тело заявления. Колонки 73–80 — идентификация карты. Это не просто форматирование — это бланк официального документа. Фортран-программист 70-х не писал код — он заполнял формуляры. МАП-точки делают эту природу явной.
Особое место занимает BLOCK DATA — программная единица, существующая только для инициализации COMMON-блоков. Не вызывается. Не исполняется. Просто декларирует начальное состояние мира. Буквально: "настоящим устанавливаем, что на начало отчётного периода на складе предприятия находится...".
05
ГЛАВА ПЯТАЯ · ЭКСПЛУАТАЦИЯ
GitLab CI в стиле Гостелерадио
Pipeline как театральная постановка в четырёх актах
В МАП-регистре pipeline перестаёт быть техническим процессом и становится театральной постановкой. Rollback из позорного отступления превращается в достойный манёвр. Merge request становится заявлением о внесении изменений.
ТЕЛЕГРАММА ИЗ ЦЕНТРА ОБРАБОТКИ ДАННЫХ№ 00147
ОТ ИНФОРМАЦИОННОГО АГЕНТСТВА SENTRY ЗПТ
ПЕРЕДАЁМ ЭКСТРЕННОЕ СООБЩЕНИЕ ЗПТ
PRODUCTION P99 LATENCY ДОСТИГЛО 847 МС ЗПТ
ПРИЧИНА УСТАНАВЛИВАЕТСЯ ЗПТ
ON-CALL INGINEER ОПОВЕЩЁН ЗПТ
ДАЛЬНЕЙШИЕ СВЕДЕНИЯ ПОСЛЕДУЮТ ТЧК
МИСТЕР ДЭЛЛИАРД ТЧК
Сообщения pipeline получают соответствующую торжественность:
✓ Успех:"Развёртывание было принято. Наиболее. Благосклонно."
⏸ Пауза:"Pipeline приостановлен. Для размышления."
🔄 Повтор:"Попытаемся. Ещё раз. С чувством."
↩ Rollback:"I believe I shall rollback for now."
ОСОБЕННОСТЬ RОЛLBACK
После команды kubectl rollout undo обязательна пауза в 2 секунды. Без неё не работает просодия. Rollback без паузы — как Мёрроу без "This. Is. London." — технически то же самое, но совершенно без weight.
Merge Request approvals превращаются в парламентские ритуалы. Reviewer голосует: "Я нахожу данную реализацию. Наиболее. Приятной." Либо регистрирует возражение: "Я должен, с величайшим уважением, обратить внимание. На строку. 47."
Post-mortem документ в Confluence обязательно начинается с парадной формулы:
Мы собираемся сегодня, дабы поразмыслить о событиях вторника минувшего.
— НАЧАЛО ЛЮБОГО POST-MORTEM
06
ГЛАВА ЗАКЛЮЧИТЕЛЬНАЯ · МАНИФЕСТ
Диалекты Мид-Атлантики
Полный реестр языков программирования высокой культуры
Настоящим обнародуем полный перечень диалектов, находящихся в разработке лабораторией CODER'S-LAIR. Каждый диалект сохраняет просодическую весомость оригинального Мид-Атлантического стандарта, адаптированную к специфике целевой платформы.
I
МАП / PHP
Для веб-разработки высокой культуры. Symfony и Laravel в обязательном порядке.
II
1С-МАП
Родной диалект enterprise-России. Не требует модификаций — уже готов к употреблению.
III
Z80-МАП
Ассемблер для homebrew-вычислителей. Применяется в комплексе Z-Frame.
IV
ФОРТРАН-М
Научные вычисления. Совместим с ЕС ЭВМ и современными кластерами.
V
COBOL-МАП
В разработке. Ожидается, что изменения будут незначительны.
VI
SQL-МАП
«НАСТОЯЩИМ. ВЫБРАТЬ. ИЗ ТАБЛИЦЫ. ВСЕ. ПОЛЯ.»
VII
Verilog-МАП
Для FPGA-проектов. Синтез модулей как декларация законов.
VIII
АЛГОЛ-60-М
Музейный экспонат. Находится в архиве CODER'S-LAIR.