Другие языки программирования и технологии

Может ли язык программирования быть одновременно и интерпретатором, и компилятором?

Собственно, Visual Basic 6.0 таким и является.
При запуске кода непосредственно из IDE, он работает в режиме интерпретатора, что позволяет
начать работу программы практически мгновенно, упрощает отслеживание и исправление ошибок в коде.
Компиляция в исполнимый EXE-файл или промежуточный (p-код) производится отдельно и занимает некоторое время.

Про остальные языки программирования подробностей не знаю.

P.S. Для Ирина Х-С
Вы правы, EXE-файлы в VB не являются 100% native.
Для их выполнения требуется своя RunTime библиотека (msvbvm60.dll).
Иван Иванович Воронов
Иван Иванович Воронов
72 661
Лучший ответ
ну в режиме дебага они все - интерпретаторы.
А смысл? Зачем одновременно идти и бежать?
одновременно нет, но может быть что-то среднее. например java компилируется в байт-код, который когда-то просто интерпретировался при запуске скомпилированной проги виртуальной машиной java
а сейчас, если ничего не путаю байт-код снова компилируется, уже в машинный код перед самым выполнением, как в с#

ну и еще никто не запрещает сделать для одного и того же языка и компилятор и интерпретатор. например Си считается компилируемым языком, но существуют и интерпретаторы. но тогда тоже не "одновременно"

что касается visual basic, то компилятора там толком небыло, и в экзешник (насколько я помню) входил интерпретатор, и "нормализованная" версия исходника. хотя тут могу ошибаться

и в режиме отладки не все они интерпретаторы. в большинстве компилируемых языков при отладке тоже раьотает скомпилированный вариант, но при этом используется отладочная информация (какие адреса машинного кода соответствуют каким строкам исходника, и тд)

Похожие вопросы