Спасибо за ссылки, они довольно любопытные. Структурированный редактор — это отличная идея.
Понял, что протупил с примером, т.к.
null и
nil — это не обязательно синтаксис, более хороший пример будет таким: Джон хочет, чтобы в C++ или Java везде, где это возможно, перевод строки заменял точку с запятой, а отступ — фигурные скобоки. Тогда hello world Джон напишет примерно так:
#include <iostream>
using namespace std
void main ()
cout << "Hello, world!"
cout << endl
В идеале кастомный синтаксис должен быть чем-то типа скина. Чтоб его можно было настроить так же , как и цветовую схему в редакторе. Однако, если ведётся командная разработка, где часто надо смотреть в чужой код (и объяснять, почему он не компилится), то такая кастомизация будет вызывать проблемы (да и чужая схема подсветки может сильно раздражать).
Безусловно (пока это не стало мейнстримом

) если программист пользуется своим синтаксисом, то ему все равно надо знать стандартный, хотя бы на уровне чтения. Иначе таки придётся с собой на флешке носить std2john и john2std. Так же, как если вы дома настроили под себя какой-либо инструмент (например поменяли кей-биндинги), то чтобы работать с ним в другом месте — нужно или помнить стандартные, или носить свои конфиги.
Интеграция с VCS таки действительно может стать проблемой, но думаю, это решаемо.