может ли C ++ упростить реализацию Lua VM? - PullRequest
4 голосов
/ 12 мая 2010

Для тех, кто просматривал реализацию виртуальной машины Lua C, значительно ли упростит использование C ++?

Ответы [ 3 ]

11 голосов
/ 13 мая 2010

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

4 голосов
/ 12 мая 2010

Lua предназначен для встроенного языка. Таким образом, «реализация» виртуальной машины состоит из двух отдельных частей: создание исходного кода виртуальной машины и интеграция этого кода в артефакт для развертывания. Я подозреваю, что ваш вопрос направлен на первую часть. Очень плохо. Вторая часть, интеграция, происходит много раз и, как правило, намного проще в C, чем в C ++.

0 голосов
/ 13 мая 2010

Все, что C может делать, C ++ может делать лучше. Я всегда думал, что исходный текст Lua чертовски трудно читать - на 64-битном уровне выдавались некоторые предупреждения, хотя казалось, что все в порядке.

Беда в том, что в целом пользовательские данные не очень хороши для демонстрации новых типов. Я бы посмотрел на редизайн, а не на переопределение.

...