Посмотрел на код, который выдает транслятор и впечатлился объемом по сравнению с тем, что мог бы написать непосредственно программист.
Ну на самом деле там не так много мусора. В основном лишние присваивания. Или есть конкретные примеры для разбора?
С учетом того, что Оберон более низкоуровневый язык по сравнению с JS, что означает в среднем большее количество кода для выполнения той же задачи, то ситуация усугубляется.
Да. Собственно вот этот разрыв в уровнях и вылазит боком. То, что на жабаскрипте пишется в пару строк - на обероне может быть весьма многословно. И процесс необратим - нельзя свести горку низкоуровневого обероновского кода в высокоуровневый лаконичный жабаскриптовый конструкт.
Можно долго дорабатывать транслятор, но вряд ли разрыв удастся свести к 0. В связи с этим возникает вопрос о назначении и применимости инструмента.
Ну назначение точно не в том, чтобы получать читаемый жабаскрипт. Он должен быть достаточно читаемый, чтобы определить соответствующее место в оригинальном исходнике. На данном этапе это важною Потом это может стать вообще не важным - так же как сейчас мало кого интересует читаемость ассемблерного листинга после компиляции ЯВУ.
По моему Алексей упоминал, что не исключает его использования для серьезных задач. Каких?
Веб наступает. И на стороне клиента нет ничего, кроме жабаскрипта. Точнее есть, конечно, разные трепыхания на тему (Dart, TypeScript), но ни разу не мэйнстрим и со своими фатальными недостатками. И это пугает. Очень скоро мой рабочий мегапроект на теплом ламповом С++ надо будет переписывать под веб. На чем писать? Ну конечно на жабаскрипте. Но почему бы не попробовать самому сделать что-то лучшее, чтоб потом можно было сказать самому себе: "сделал все, что мог, чтоб не писать на жабаскрипте". Тем более, что всегда хотелось поэкспериментировать со своим самым правильным языком.