是否有任何现代编译语言与手动内存管理?

时间:2011-03-17 23:42:25

标签: programming-languages

是否有任何现代(泛型,封闭,面向对象)语言与手动内存管理?使用编译器,可以是机器代码,也可以是c等其他语言。

我还没读过任何内容。所有新语言都是垃圾收集的,其中大部分是在虚拟机中解释或运行的。

编辑:抱歉,我知道c ++ 0x现在有许多新功能,但我不能将其视为现代语言。这对我来说太难看了,难以辨认。使用闭包的方式会使情况变得更糟。 通过现代,我的意思是比c ++更清洁。

4 个答案:

答案 0 :(得分:3)

如果您使用C ++ 0x版本的C ++编译器(如最后一个gcc),那么它确实提供了您需要的所有功能。 C ++ 03(当前版本)确实有泛型,面向对象,有闭包实现(仿函数)但没有语法(在C ++ 0x中提供,作为“lambdas” - 在VS2010,gcc4.5和其他中可用最新版本的编译器)并且都是关于手动(但很容易)的内存管理(使用RAII--必要时命名错误的习语和智能指针)。

不要依赖于c ++诞生的日期:我们称之为“现代C ++”显然比原始版本的C ++更容易和更强大。 (但新版本之间的时间间隔很长)

我能想到的唯一另一种选择是D,它也被认为是一种系统编程语言,它与核心原理中的C ++类似,但试图避免它的某些“问题”,并提供一些其他缺失的功能在C ++中。

答案 1 :(得分:1)

C ++(别笑) http://en.wikipedia.org/wiki/C%2B%2B0x

Rust - 不确定它的GC是否看起来很有趣 https://github.com/graydon/rust/wiki/Language-FAQ

答案 2 :(得分:1)

有一种实验语言BitC。它非常低级,可编译为便携式C,并具有许多简洁的现代功能。

一位好老阿达也值得一提。

答案 3 :(得分:0)

嗯,现代是多么现代?

Delphi要求您管理内存,但提供简单而优雅的方法,它还具有可插入的内存管理架构,并编译为本机代码。

德尔福仍然在积极开发,现在由Embarcadero开发,但最初由Borland软件于1995年创建,即使在那时它也是Turbo Pascal的继承者,因此现代可能是Delphi的主观术语,因为它的历史很长。