Системи програмування: приклади, опис, особливості

Мови віртуальних машин

Часто скорочено їх називають «мови VM» (відповідно до аналогій англійської назви віртуальною машиною). Принцип дії та призначення системи програмування полягає в тому, щоб вихідний код не переводився в машинний, зрозумілий конкретного процесора, а в «фіктивний» (байт-код), який сам буде інтерпретуватися мовою віртуальною машиною. Таку мову має свої переваги і недоліки.

Як і в інтерпретованих мовами, програма, скомпільована в байт-код, який може працювати на будь-якій операційній системі і процесорі за умови, що віртуальна машина доступна для цієї комбінації. З іншого боку, оскільки була компіляція висхідного потоку, програма працює швидше, ніж на еквівалентному інтерпретованому мовою. Часто вона досягає швидкості, аналогічної швидкості «реального» машинного кодового мови. Однак це нівелюється тим фактом, що віртуальна машина може бути досить ресурсномісткою, особливо в пам’яті.

Дивіться також:  Звідки вираз «блошиний ринок»?

Нарешті, можна створювати нові мови, які скомпилируются в один і той же байт-код як ще один існуючий мову, що спрощує їх взаємодія. Це одне із завдань системи програмування. Приклад мови Clojure і Frege компілюються як для байт-коду Java. Вони є функціональними і радикально відмінними від Java в їх дизайні. У цьому випадку можна написати різні частини програми з одним з найбільш підходящих мов і змусити їх працювати разом на віртуальній машині. Java – мова, який найкраще компілюється на віртуальну машину. Але потрібно додаток, що складається з набору класів Java. В початку будь-якого класу існує певна структура, така як JavaClassFileFormat.