Является ли байт-код строго низкоуровневым языком? - PullRequest
0 голосов
/ 20 мая 2019

Низкоуровневый язык - это язык, зависящий от машины.

Если машина просто означает процессор, тогда байт-код не является низкоуровневым, поскольку он кроссплатформенный.По этому определению только ассемблер и объектный / машинный код являются настоящими языками низкого уровня, а байт-код является просто промежуточной формой.

Если машина также включает виртуальные машины, то это язык низкого уровня.По этому определению байт-код является просто сборкой для JVM / CLR.

Еще одним источником путаницы является факт наличия JIT-компилятора.Поскольку компилятор переводит исходный код с языка высокого уровня на язык более низкого уровня, разве это не делает байт-код строго не низким уровнем?Если есть абстракция от архитектуры набора команд компьютера, то как она может быть в той же категории?

...