2015-02-15 5 views

ответ

2

С точки зрения сырьевой логики, да; пока оба языка являются Тьюрингом.

Однако, если ваш код использует API-интерфейсы, недоступные на целевом языке (например, сети, файловые системы, 3D-ускорение или потоки), тогда нет. (если вы не написали полную виртуальную машину на целевом языке и не строили поверх нее)

Например, нет никакого разумного способа переноса совместно используемого многопоточного кода в Javascript.

1

Вы ищете Turing-completeness.

Несмотря на то, что все языки с полным turing-технически имеют равную мощность, выражение идеи в одном может потребовать на порядок больше работы, чем в другой.

Кроме того, они могут предоставлять различные уровни доступа к базовой платформе в виде API-интерфейсов или тому подобного.

Которая аккуратно ведет к turing-tarpit, а это значит, что в одном из них может быть слишком много работы, чтобы сделать что-то в одном из них, в той степени, в которой первая написание интерпретатора для другого языка - это победа.

Смежные вопросы