ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
369661 Топик полностью
vmp (20.11.2012 09:57, просмотров: 276) ответил Evgeny_CD на ЯВУ -> байткод -> C код. Интересно, что за велосипед я сейчас изобрету. Навеяно ->
Чем-то вся эта борьба байт-код vs asm напоминает битву CISC vs RISC. Пока память была дорогая, все делали сложный набор команд (см. например команду POLY в VAX - рассчет полинома одной командой) стремясь повысить плотность кода. И был еще один уровень интерпретации команд в виде микрокода, который транслировал одну команду в последовательность микрокоманд. Затем память подешевела и все стали писать в слегка облагороженном микрокоде, назвав это RISC. Теперь пытаются внедрить данную концепцию на программном уровне, начиная от шитого кода в fortran для PDP-11 к байт-коду в forth, java и dalvik. Вообще-то самым интересным в таком подходе мне представляется возможность незадорого получить run-time контроль типов данных, как в Эльбрусе. Там (аппаратно) каждая ячейка памяти имела поле тегов, описывающее ее содержимое. И попытка сделать с ней неверную операцию (недопустимую для данного типа) пресекалась аппаратно. Вот если наделить виртуальную машину интерпретатора такими же свойствами контроля, то можно будет резко повысить надежность ПО и возможно отсечь значительный класс вирусов. Правда, ни одна Сишная программа сложнее "Hello, world!" на такой машине не заработает.