在处理业余爱好项目时,我真的很喜欢用低级语言编程(从某种意义上说C和C ++是低级的)。我不想使用带有垃圾收集的托管语言,以及带来所有乐趣的东西(是的,我们都不同;-))。
通常我会将C ++用于这些类型的项目。 C ++相当复杂,不那么优雅,所以我一直在寻找一种替代它的语言。有人可以给我建议吗?
偏好(不是要求):
我看过Objective C,但我不喜欢它。
答案 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的应用程序。
答案 7 :(得分:1)
我会建议Vala!尝试它是惊人的