Шаг 158 - Что такое bytecode

Данное понятие существует намного дольше, чем кажется. Итак, идея заключается в следующем. Мы хотим разрабатывать приложения, которые могли бы работать на многих платформах. Ведь в собранном приложении находятся команды процессора. А процессоры могут быть разные, нет не 286-386 не так, Intel-Risc и так далее. Но и это не все. Могут быть разные операционные системы, которые могут работать как на разных процессорах, так и на разных платформах. Например, Unix может работать на разных платформах в разных реализациях. А если мы хотим программное обеспечение и для Unix и для Windows и для MAC. Практически все придется полностью переписывать и собирать весь код для данной операционной системы. Вот именно с этим и призван бороться байт код. Идея заключается в том, чтобы собирать приложение в некоторый единый код, который не является кодом процессора, не использует функции операционной системы и так далее. А вот для его работы будет использоваться некоторая виртуальная машина. Эта машина будет считывать этот код и выполнять команды уже на реальной операционной системе. Конечно, она для каждой операционной системы будет своя. Но программа будет работать везде. Недостатки, конечно есть, нужно ставить эту виртуальную машину и выполнение наверно по скорости не будет выше чем в машинном коде. Зато совместимость. Примеры применения данной технологии есть и наверно много. Самый яркий до данного момента это Java. Байт код выполняется на виртуальной машине (Java Virtual Machine - JVM) и переводится в команды конкретной платформы. Microsoft пошла еще дальше с новой платформой NET. Теперь подобным кодом можно пользоваться и из многих языков программирования, что является, несомненно, шагом вперед.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.