Re[11]: понимание ООП Алана Кея
От: Ночной Смотрящий Россия  
Дата: 23.03.23 13:02
Оценка: +1
Здравствуйте, vdimas, Вы писали:

НС>>Там не совсем тот P-код. Там просто упакованноое в удобное для интерпретации представление AST было

V>Там коды "инструкций" Бейсика.

Там коды ключевых слов. Причем организовано это строго как написано. А если посмотреть код "компилятора", то там простейший парсинг и просто подмена символов на их коды. Причем оригинал не сохраняется, а восстанавливается при необходимости по этому коду. Все. На Р-код это похоже исключительно в силу того, что на Р-код похож сам исходник того бейсика. Но смысл этого — сэкономить память на хранении программы и убрать из интерпретатора парсинг, а не обеспечить переносимость.

НС>>а в описываемых Паскалях это был машинный код виртуального CPU, как сейчас в Java и дотнете.

V>Немного не понимаю, почему прицепились именно к Паскалю? ))

Я же процитировал:

Two early compilers generating p-code were the Pascal-P compiler in 1973, by Kesav V. Nori, Urs Ammann, Kathleen Jensen, Hans-Heinrich Nageli, and Christian Jacobi, and the Pascal-S compiler in 1975, by Niklaus Wirth.


V>Технология впервые была использована в другом языке.


Было что то похожее. А в полноценном виде это были именно Паскали.

V>Мой поинт был в отделении понятия "язык программирования", как совокупности ситнаксиса и семантики от способа реализации этой семантики на стадии исполнения кода


И при этом ты привел в пример спектрумовский бейсик, в котором никакого отделения синтаксиса не было, был просто вынос стадии парсинга на этап сохранения строки в память.

V>Спекулировать тут можно только насчёт того, что в том же дотнете рефлексия, ExpressionTree и Roslyn идут в базовой поставке и являются частью стандарта, а в С++ это дополнительный инструментарий,


Вот именно. Нет ABI — все, куча сценариев закрывается.
Но вы тут опять с терминами устроили кашу, уж не знаю, случайно или намеренно. Р-код это непосредственно императивные инструкции и это отдельная песня. А rtti — это другая песня, хоть и упаковываетcя она в те же файлы. Зачем пытаться это все обсуждать одновременно — непонятно.
... << RSDN@Home 1.3.17 alpha 5 rev. 62>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.