2009-06-11 105 views
5

在开展业余爱好项目时,我真的很喜欢用低级语言编程(从C和C++的低级别来说)。我不想使用托管语言来处理垃圾收集,也不想使用所有的乐趣(是的,我们都不同;-))。C++的替代语言?

通常我使用C++来处理这些类型的项目。 C++相当复杂,不太优雅,所以我一直在寻找一种语言来取代它。任何人都可以给我建议?

偏好(未规定):

  • 应该是低电平(如C和C++)
  • 编译为本机代码(由以上但为明确无妨种如下)
  • preferrably目标的Win32/Win64的
  • 面向对象
  • 静态类型

我曾看过Objective C,但我不喜欢它。

+0

“C++是相当复杂,不那么优雅” - 这是因为它是低级别的。如果你想简单而优雅的看Python。 – jjnguy 2009-06-11 14:35:54

+2

您是否试图以间接方式宣传D? :P – hasen 2009-06-11 14:38:59

回答

16

D? (Wikipedia page

的d语言静态类型和 直接编译为机器代码。 它是多平面设计,支持多种编程风格:命令式,面向对象 ,以及元编程。它是C语法族的一个 成员,其外观与 C++非常相似。要快速比较 功能,请参阅D 与C,C++,C#和Java的比较。

我认为这涵盖了除Windows支持以外的所有需求。

请注意它有垃圾收集,但你的问题似乎将垃圾收集与被管理 - 他们不是同一件事。我相信,垃圾收集可以D.

会相当严格控制

我要指出,我在任何:)

+1

只是在旁边说明,它有垃圾回收功能,但可以禁用(默认情况下启用,因此需要手动禁用) – hasen 2009-06-11 14:37:47

4

的Delphi语言完全没有经验? Pascal语法,但仍然引用强大,只比C++更高一点。

4

要求没有gc是相当强大的,并且几乎消除了所有现代语言 - 例如像Ocaml这样的东西满足了所有其他要求。

还有ADA填补你的每一个愿望,但这是一个非常严格的语言。语法与Pascal有些类似,我认为这种语言与C相比具有更少的漏洞。它内置了对线程和“模块”(比C头文件更好)的支持。

1

FreePascal的 德尔福 奥伯伦

任何3将是巨大的替代品。它们比C++更容易使用。

2

艾达是一个非常好的语言,然而,它使用的垃圾收集(注意到mamboking提到。)不知道关于奥伯龙和Modula 3

帕斯卡尔/德尔福也在使用垃圾收集据我所知。 (或至少是某种智能指针)。

1

我建议Limbo! 这是由Rob Pike创作的语言(与许多编程书籍的Kerninghan合着)。该语言由DIS虚拟(内存到内存)机器解释或编译。 它有许多数据类型,如元组,管道,列表,数组,通道(对线程之间的EASILY通信有用)等。它是并发的,模块化的。 它实现了许多现代功能!它用于编写Inferno OS的应用程序。

Limbo review by Dennis RitchieLimbo review by Kernighan

1

我建议瓦拉!尝试它是惊人的