Re[3]: Как оценить простоту кода?
От: L_G Россия  
Дата: 11.06.20 10:41
Оценка:
Здравствуйте, kov_serg, Вы писали:
_>При переводе с одного языка на другой язык программа может перестать работать или потерять что-то или получить новые баги.
_>И кто сказал что преобрахование будет однозначным.
_><куча поскипанного>

Тогда это был бы не транспайлер, а плохая, негодная поделка-недоделка.
Имеющиеся в виду "первичные" языки заведомо сложнее и выразительнее "вторичных", а траспайлер должен преобразовывать код так же надежно и однозначно, как это делают обычные компиляторы.
Твои высказывания могут касаться только обратных транспайлеров из моего пункта 5, но они необязательны и вообще весь пункт сильно гипотетический.

_>Вообще есть haxe но он несколько для другого.


Действительно, для другого. haxe может транслироваться в кучу других языков, а для моего "первичного" вполне достаточно только одного "вторичного".

Ближе к моей схеме имеющиеся транспайлеры в C типа Nim -> C или тот же С++ -> C, или транспайлеры в JavaScript — много их.
Возможно, реально было бы сделать такие транспайлеры и для пар типа F# -> C#, Scala -> Java, но я сильно не уверен, что функциональщину удастся выразить в легко читаемом, понятном коде.
Вообще, задача получить на выходе именно простой, читаемый код — достаточно трудна, чтобы пришлось сам "первичный язык" для неё разрабатывать специально с учетом этой трудности.

Как вариант, "первичный" может быть не универсальным языком , а заточенным под задачу DSL-ом.
Возможно, это ближе к кодогенератору с набором темплейтов и конфигурацией, выраженной на DSL.
Каша в голове — пища для ума (с)
Отредактировано 11.06.2020 10:48 L_G . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.