Mar*_*P S 22 c c++ java scala numerical-methods
虽然C++ 0x对C++(类型推断,匿名函数等)有很大的改进,但我不得不说Scala看起来更好.问题是Scala只在JVM上运行,虽然看起来它也可以运行在C#之上.
理想情况下,我想要一种像Scala一样好的语言,但运行"在C++之上 - 使用标准库,轻松链接C/C++目标文件,整个交易.我做了很多基于完善的C/C++库(快速可靠)的数值编程,这不是我可以放弃的东西.
是否有人知道这种语言?
更新:
我正在寻找的功能是:
与C/C++库无缝集成,就像Scala可以访问Java库而无需生成/维护绑定
一个强大的类型系统,具有良好设计的类型推理系统,使我不必编写冗长和冗余类型的注释
功能和OO功能内置于语言中,支持自己的库,而不仅仅依赖于标准的C/C++库.
看起来现在正在进行的很多clang/LLVM工作可能会促进这些方面的工作,但是很高兴发现这样的东西已经在进行中.
Rex*_*err 11
您可能想要考虑Haskell.它具有与任何语言一样多的好处(当然,以其自己的方式),但它坚持功能性编程,因此学习的障碍是巨大的.尽管如此,它仍可用于调用C/C++,并且它本身具有令人惊讶的高性能.
您还应该决定是否需要语言本身才能进行相当高性能的计算.如果没有,那么创建Python绑定到C/C++非常容易,而且Python有很多不错的功能.或者你可以使用类似于数字计算的Matlab,我相信你很清楚,并且可以通过mex文件很好地集成C代码.如果您确实需要将语言编写为当前可以编写高性能代码的语言,您甚至可以考虑承担为Scala创建C++绑定的重要任务(如果您使用JNI或JNA for Java,那就不是那么糟糕了,然后从Scala调用该Java,然后仅将其用于最重要的数字工作,而Scala处理时间要求较低(但仍然有些重要)的部分.