Согласен с мнением vsb о том, что код, который проще писать и код, который проще читать — кардинально разные виды кода.
Возможно, в связи с этим есть перспектива у транспайлеров, которые переводили бы код с "языка для писанины" на "язык для чтения (и легкой модификации)". При этом:
1) На двух классических стадиях жизни проекта "активная разработка" и "эксплуатация одновременно с постоянной поддержкой и расширением" исходный код проекта был бы выражен на двух разных языках/их группах — на группе "первичных" языков и на одном "вторичном" языке.
2) каждый программист-разработчик("писатель") мог бы выбирать свой любимый/более подходящий из нескольких возможных "первичных" языков, а все программисты-"поддерживальщики" (более низкой квалификации) использовали бы стандартный и всем понятный "вторичный" язык, в который бы весь проект был транспилирован по завершению стадии активной разработки.
3) особо продвинутые разработчики могли бы использовать даже уникальный (свой собственный) "первичный" язык — лишь бы существовал стабильный транспайлер с него на выбранный для проекта "вторичный".
4) при увольнении такого "особо умного" весь его код может быть транспилирован в выбранный "вторичный" — нет проблем при его поддержке другими (не такими умными) программистами и т.п.
5) в принципе возможен обратный транспайлер, переводящий "вторичный язык" обратно в "первичный" — не обязательно идеально, допустимы прямые включения кода на вторичном в код на первичном и т.п. С ним становится возможной совместная работа над проектом как "продвинутых", так и "простых" программистов — каждый на своём языке (как вариант, при этом в VCS хранился бы код уже на вторичном языке, "продвинутые" программисты обратно-транспилировали бы его после обновления рабочей копии и туда-транспилировали бы перед коммитом).