Есть ли какой-нибудь современный скомпилированный язык с ручным управлением памятью? - PullRequest
2 голосов
/ 18 марта 2011

Существует ли какой-либо современный (обобщение, замыкания, объектно-ориентированный) язык с ручным управлением памятью? И с компилятором, или к машинному коду или к другому языку как c.

Я не читал ни одного. Все новые языки являются сборщиком мусора, и большинство из них интерпретируются или запускаются в виртуальной машине.

РЕДАКТИРОВАТЬ: извините, я знаю, что c ++ 0x теперь имеет много новых функций, но я не вижу его в качестве современного языка Это слишком уродливо и неразборчиво для меня. И то, как используются затворы, ухудшает ситуацию. Под современным я подразумевал нечто более чистое, чем с ++.

Ответы [ 4 ]

3 голосов
/ 18 марта 2011

Если вы используете C ++ 0x версию компилятора C ++ (как и последние gccs), тогда он предоставляет все необходимые вам функции. В C ++ 03 (текущая версия) действительно есть универсальные элементы, объектная ориентация, есть реализация замыканий (функторы), но нет синтаксиса (который предоставляется в C ++ 0x как «лямбда-выражения» - доступен в VS2010, gcc4.5 и др. последние версии компиляторов) и все о ручном (но простом) управлении памятью (с использованием RAII - плохо названных идиом - и умных указателей там, где это необходимо).

Не полагайтесь на дату рождения c ++: то, что мы называем «современным C ++», явно проще и эффективнее, чем оригинальная версия C ++. (но у него очень длительный промежуток времени между новыми версиями)

Единственная другая альтернатива, о которой я могу подумать, это D, который также считается языком системного программирования, который похож на C ++ в основных принципах, но пытается избежать некоторых его «проблем» и предоставить некоторые другие функции, отсутствующие в C ++.

1 голос
/ 18 марта 2011

Есть экспериментальный язык BitC . Он довольно низкоуровневый, компилируется в портативный C и обладает множеством изящных современных функций.

Стоит упомянуть и о старой доброй Аде.

1 голос
/ 18 марта 2011

C ++ (не смейтесь) http://en.wikipedia.org/wiki/C%2B%2B0x

Rust - Не уверен, что его GC, но выглядит интересно https://github.com/graydon/rust/wiki/Language-FAQ

0 голосов
/ 18 марта 2011

Ну, насколько современный современный?

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

Delphi все еще активно развивается, в настоящее время Embarcadero, но был первоначально создан в 1995 году программным обеспечением Borland, и даже тогда был преемником Turbo Pascal, поэтому современный термин может быть субъективным термином для Delphi, поскольку его история длинна.

...