Спасибо за ответ по существу. Хотя на мой взгляд статья самим своим существованием подтверждает что с синтаксисом что-то не так ("На самом деле синтаксис Rust не так плох, как о нем говорят.") и в целом очень уж субъективна.Например:
> Первый вариант — это "паскалевский" способ декларации типа. Хотя он дополнительно "загрязнен" символом двоеточия, однако в общем случае он проще, как для разбора парсером, так и для восприятия человеком.
Про восприятие человеком - голый субъективизм, вопрос привычки. Полагаю что автор не готов предоставить пруфлинки обосновывающие его утверждение. Про парсеры - возможно.
Но дальше нам дают для сравнения "сложный" для восприятия пример:
> int (*fns[16])(int * const * p);
Против "простого" растовского:
> let fns: [fn(*const *mut isize) -> isize; 16];
Ничего себе проще и понятней!..
Прямо скажем, это может казаться "понятней" только если ты сам уже по шею в этом. Но об этом и речь, что тут с ходу вообще невозможно разобраться что происходит и требуется разжёвывать человеку с опытом. Но такой человек в любом ЯП без особых проблем разбирает декларации сложных типов и прочии вычурные конструкции.
Т.е. спорить о том понятный или нет у раста синтаксис, мне кажется не приходится - он непонятный.
Что же до восклицательного знака, то я принимаю аргумент "вызов становится заметным, но не настолько, чтобы перетянуть на себя все внимание (как происходит с другими, широкими символами, вроде @)". Однако лично я (и подозреваю я такой не один) лучше бы чуть-чуть больше внимания потратил на менее удобные визуально символы (опять же нужны пруфлинки что они не так удобны), чем постоянно махать рукой над клавиатурой тыкая в край 4го ряда. Тут знаете, и время тратится, и вероятность опечаток существенно возрастает, да и износ суставов и связок не дремлет. Мелочь, а неприятно. И на мой взгляд - собачки выглядят лучше, да и нажимались бы хотя бы не мизинцем, но тоже не то чтобы очень удобно.