Re[16]: 32/64/AnyCPU - что за @$^%$?
От: AlexRK  
Дата: 09.10.16 12:57
Оценка:
Здравствуйте, Serginio1, Вы писали:

S>>> Ну в википедии много чего есть, что не соответствует истины.

ARK>>А где же взять истину, о гуру?
S> На заборе вестимо.

Смешно, смешно.

S> Ну как же ты сам признал, что VM это не компилятор.


VM — это не компилятор, но вполне может включать в себя компилятор. А может и не включать.

S> На самом деле для выполнения MSIL его нужно скомпилировать

S>1. Динамически с помощью JIT компилятора их CLR
S>2. Статически .Net Native. При этом есть ограничение на рефлексию в MSIL коде.

И что дальше?

Джаву можно интерпретировать, можно JIT-ить, а можно компилировать (см. Excelsior).
JavaScript/LUA можно интерпретировать, можно JIT-ить.
C/C++/Pascal можно интерпретировать, можно компилировать.

Какое это все имеет отношение к виртуальной машине .NET?

ARK>>Набор сервисов, предназначенных для выполнения кода в специальном формате. Выполнение кода, сборка мусора, работа с памятью, исключения и прочее и прочее.

S> То есть это определение подходит и .Net Native.

К .Net Native может и подходит. Но .Net Native — это не .NET, а подмножество.

S>Значит компилятор это VM?


Нет, не значит.

У вас с логикой что-то не то. Есть некий код, который может быть либо а) выполнен с помощью виртуальной машины; либо б) скомпилирован в единый экзешник (есть еще вариант — сунуть в экзешник всю виртуальную машину, как это частично делает Excelsior). Вывод Serginio1: раз код можно выполнять на VM и компилировать, значит VM это компилятор.

Типа если человек может жрать траву, и корова может жрать траву, значит человек это корова.
Отредактировано 09.10.2016 12:59 AlexRK . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.