我觉得这两种语言不足以快速构建复杂但高性能的本机应用程序。
我想要一种语言,包括:
VM
种设计,但不需要在VM上运行(如Java)。还有一件事:.NET总是被排除在外。
在C ++中添加自动内存管理可能很棘手,但添加反射支持并不容易。
如果语言可以做的话会更好:
答案 0 :(得分:7)
D。
我还建议查看Scala或C#(其中是 Mono,fwiw),但是他们错过了“本机目标”位。对于大多数应用,它们可能具有所需的“高性能” - 但这取决于具体的应用和功能要求。 (无论如何,我会毫不犹豫地使用Java之上的任何一种语言: - )
答案 1 :(得分:4)
听起来像Scala ......但是:
Scala是一种JVM语言。我不太了解它以解决您的指针问题。
我不知道技术的状态,但我知道一些过去常常将Java编译为C ++的开发人员。所以这不是一个完美的解决方案,但在该领域的进一步研究可能会很有趣。
答案 2 :(得分:2)
C ++ 0x(什么时候出来)
答案 3 :(得分:1)
答案 4 :(得分:1)
我建议你再看看Java。它具有所有这些功能,JIT可以生成本机代码,使用指针非常有效。
我建议您尝试使用OpenJDK 7调试版并使用-xx:+ PrintAssembly查看生成的本机代码。
也许您有其他要求,但是根据您所编写的内容,Java会满足所有要求。
BTW:您可能会发现Excelsior JET有趣,因为它是本机编译器的Java。但是,如果你知道如何为它编写调优代码,我发现JVM做得非常好。
答案 5 :(得分:0)
当您编译为P代码时,Visual Basic 5和6符合VM-without-installation标准(如果您编译为本机代码,它们也符合本机要求)。它还处理内部分配对象的内存管理,但如果您需要固定指针,则可能会丢失自动处理,具体取决于您的使用情况。它肯定会按照您的要求处理准OOP,并且有一个非常有活力的社区(如果缺乏强大的软件工程原则,比如C ++社区)。
但是,13年前发布的最适合您需求的语言可能会使您的需求变得有效。
答案 6 :(得分:0)
WhiteSpace是镇上很酷的新语言: - )
1编译时间类型检查 - >静态类型(没有运行时类型,因此必须是静态的)
2内存指针,但没有代码指针。
- >绝对没有代码指针。不需要内存指针。
3内部的VM类型设计,但不需要在VM上运行(如Java) - >白空间翻译是用空白编写的 - >这表明该语言可以在VM方法中轻松实现。
4自动内存管理。
- >所有内存都会自动管理。
5 OOP,但不是纯粹的OOP - >失败了。它的程序性
6个泛型。
- >可以使函数适用于任何宽度整数
- >如此通用。
7反光操作。
- >不需要它们。所有类型都是整数。
8开放社区。
- >是的。他们会接受任何想要帮助的人。
答案 7 :(得分:0)
C ++ Builder及其已发布的关键字扩展程序可以通过Reflection获得您想要的内容。 使用C ++ Builder也不是不可能进行自动内存管理(我已经编写了许多生产软件中使用的世代标记和扫描GC)。您还可以获得本机C ++附带的所有其他内容。