1

Есть ли скомпилированный язык, на котором встроена сборка мусора?Есть ли скомпилированный язык, на котором встроена сборка мусора?

Насколько я понимаю, целью переводчика или JVM является создание независимой от платформы платформы. Это также из-за GC? Или возможно GC в скомпилированном коде?

+2

Скомпилированы Java и .NET. Возможно, вы спрашиваете о языках, которые скомпилированы в собственный код? –

ответ

5

Как вы правильно отмечаете, виртуальные машины в основном используются для абстрагирования от машино- зависимые свойства базовых платформ. Сбор мусора является ортогональной технологией. Обычно это не обязательно для языка, но считается желаемым свойством среды выполнения. Есть действительно языки с примитивами для распределения памяти (например, new в Java и C#), но без примитивов, чтобы освободить его. Их можно рассматривать как языки со встроенным GC.

Один такой язык программирования - Eiffel. Большинство Eiffel составители генерируют C код для удобства переносимости. Этот код C используется для создания машинного кода по стандарту C компилятор. Реализации Eiffel обеспечивают GC (а иногда и точную GC) для этого скомпилированного кода, и нет необходимости в VM. В частности, VisualEiffel компилятор сгенерировал собственный машинный код x86 непосредственно с полной поддержкой GC.

1

Сбор мусора возможен на скомпилированных языках.

Boehm GC хорошо известный сборщик мусора для C & C++ - Wikipedia article

Другим примером является D programming language имеет мусора

+0

Русалка Mozilla имеет GC, но это необязательно. –

10

SML, OCaml, Eiffel, D, Go и Haskell - это все статически типизированные языки с сборкой мусора, которые, как правило, скомпилированы заранее на собственный код.

Смежные вопросы