Существует ли язык высокого уровня с интерпретатором, динамическим компилятором и статическим компилятором (например, компилятором C++) вместе с мультимедийной библиотекой?
Интерпретатор и динамический компилятор предназначены для тестирования / создания прототипов, а когда я закончу тестирование, я использую статический компилятор.
3 ответа
Здесь очень много.
Одним из таких языков является Objective Caml. Давайте проверим это на соответствие вашим требованиям:
- Язык высокого уровня: Caml поддерживает функциональные, объектно-ориентированные и императивные стили программирования.
- Переводчик:
ocaml
Система представляет собой цикл чтения-оценки-печати. - динамический компилятор: на платформах, которые поддерживают динамическую загрузку, ocamlrun может динамически связываться с общими библиотеками C (DLL).
- статический компилятор: доступен через
-linkall
флаг в компиляторе. - Мультимедиа: есть библиотеки для 2-й графики, 3-й графики, аудио и видео.
Главный вопрос - найти лучший инструмент для вашей работы. Многие языки отвечают этим требованиям, но наиболее используемые языки имеют лучшую документацию и наиболее проверенные привязки к библиотекам. Если вы собираетесь использовать такой язык, как Caml, у этого языка должно быть существенное преимущество, которого нет в других языках.
Удачи!
В Java есть все это - в стандартной версии Sun JVM есть как интерпретатор, так и динамический компилятор, а компилятор GNU для Java ( GCJ) может статически компилироваться в машинный код.
Лучший вариант для вас зависит от типа вашего приложения. Если это программа реального времени, то просто оставайтесь с C++ (или когда-либо с C), потому что ни один высокоуровневый язык, такой как Ruby / Perl / Python, не превзойдет их в этой области. Но если сложность вашей будущей программы достаточно высока, лучший вариант я вижу в Python + PyOpenGL (для графики) +PyOpenAL (для звука) и PyODE (для физики в реальном времени). На самом деле, виртуальная машина Python достаточно быстрая, но вы также можете (с некоторыми усилиями) скомпилировать ее в оптимизированный для платформы код.
В качестве альтернативы вы можете использовать PyGame для 2D-графики и способ удобного управления звуком / музыкой.