C ++的替换语言?

时间:2009-06-11 14:31:58

标签: programming-languages low-level

在处理业余爱好项目时,我真的很喜欢用低级语言编程(从某种意义上说C和C ++是低级的)。我不想使用带有垃圾收集的托管语言,以及带来所有乐趣的东西(是的,我们都不同;-))。

通常我会将C ++用于这些类型的项目。 C ++相当复杂,不那么优雅,所以我一直在寻找一种替代它的语言。有人可以给我建议吗?

偏好(不是要求):

  • 应该是低级的(如C和C ++)
  • 编译为本机代码(来自上面的类型,但没有明确的伤害)
  • 最好是目标win32 / win64
  • 面向对象
  • 静态打字

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

8 个答案:

答案 0 :(得分:16)

D? (Wikipedia page

  

D语言是静态类型的   直接编译到机器代码。   这是多范式,支持许多人   编程风格:命令式,对象   导向和元编程。它是   C语法家族的成员,及其   外观非常相似   C ++。快速比较一下   功能,看D的比较   使用C,C ++,C#和Java。

我认为除了Windows支持之外,它还涵盖了您的要求中的所有内容。

请注意,它有垃圾收集,但您的问题似乎是将垃圾收集与管理相关联 - 它们不是一回事。我相信垃圾收集可以在D中严格控制。

我应该注意到,我完全没有任何语言经验:)

答案 1 :(得分:6)

答案 2 :(得分:4)

的Delphi? Pascal语法,但仍然引用强大而且比C ++更高级。

答案 3 :(得分:4)

请求没有gc是相当强大的,几乎消除了所有现代语言 - 例如Ocaml等等,填补了所有其他要求。

还有ADA可满足您的每一个愿望,但这是一种非常严格的语言。我认为语法有点类似于Pascal,与C语言相比,语言的漏洞要少得多。它内置了对线程和“模块”的支持(优于C头)。

答案 4 :(得分:2)

Ada是一种非常好的语言,然而,它使用垃圾收集(注意到mamboking提到它。)不确定Oberon和Modula 3。

据我所知,Pascal / Delphi也在使用垃圾收集。 (或者至少是某种智能指针。)

答案 5 :(得分:1)

FreePascal的 德尔福 Oberon的

任何3都是很棒的替代品。它们比C ++更容易使用。

答案 6 :(得分:1)

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

Limbo review by Dennis RitchieLimbo review by Kernighan

答案 7 :(得分:1)

我会建议Vala!尝试它是惊人的