>>Компиляция в байт код нужна не для ускорения, а для переносимости на >>дикие архитектуры. На мой взгляд, ускорение здесь чисто липовое. > >Почему? Какая-то экономия точно есть - два этапа обработки кода (чтение и >интерпритация/составление внутреннего представления)... Если бы какого-то ускорения не было бы, то и ежу понятно было бы... Тут дело вот в чём (но это чисто моё мнение, основанное чисто на моём личном опыте). Если программку на итерпретируемом языке скомпилировать в байт код, то она будет работать чуть быстрее. Если же сделать не так; оставить программку в покое, а действительно тонкие с точки зрения производительности места написать на C++, то программка наша будет работать несоизмеримо быстрее по сравнению с первым вариантом. Но вот беда, чтобы переносимость при этом не пострадала, нужно a) иметь на целевой платформе компилятор C++, b) интерпретируемый язык должен позволять себя стыковать с C++ не просто легко, а даже таки -- приятно. Здесь я в своё время тоже чесал затылок и тасовал языки; постепенно остановился на Ruby, по крайней мере до тех пор, пока буду ориентироваться на платформы, удовлетворяющие пункту a. Компиляцию в байт код поддерживают например Java и Python. Ну, и сильно это обстоятельство помогло производительности Java, или модности Python? Вообще, как я разумею, не существует технологии, которая решила бы за программиста проблему производительности (типа -- скомпилировал в байт код, и на тебе решение проблемы), решить её можно только и исключительно, приложив умную голову. А какие технологии использовать -- дело не первостепенное.
|