ryk*_*rdo 1 c++ haskell openframeworks
今天另一个我很模糊的问题,抱歉.
目前我已经写了一些不错的软件,它们有一个"滚动你自己的"RESTful客户端,从twitter中提取数据.然后使用Open FrameWorks(一个与c ++一起工作的框架)使用许多粒子系统可视化该数据.
我的计划是在我的VPS上无限期运行软件,并构建某种前端GUI,允许用户探索漂亮的粒子等等.在我使用的JSON库,C/C++,OpenFrameworks和吓坏Xcode4之间,我已经产生了太多的SIGBIRT和GDB错误需要关注.我已经到了虚拟世界的末端来修复它们,并重复写了一遍又一遍.我甚至设法用SIGBIRT openframeworks绘制圆形方法,哈哈!
(TL; DR从这里开始)好吧所以无论如何我从头开始,寻找一种强大的语言,可以通过一组好的粒子来处理数学和爆炸,并在最长的时间内运行得很好.现在我在考虑haskell,有什么想法吗?
在此先感谢所有人!
小智 5
Haskell(或更具体地说是GHC)的数字运算速度接近C++,但它有点落后.然而,它肯定并不可怕,并且Haskell在并行性方面的优势可能变得很重要.也就是说,如果你首先在直接的Haskell中编写它,很有可能很容易重构它现在或将来并行运行.对于C++来说,情况并非如此.
'vector'包(在Hackage上)对于适合数字运算的数组来说是个不错的选择.它支持可变数组,以防需要这种方法.但是,如果您准备好进一步处理并且算法可以并行化,那么您可能需要查看"repa"软件包,并在GPU上获得极致性能,请查看"Accelerate"(其中)有效但仍被归类为实验性的).
你提到的崩溃声音可能表明你的问题有点复杂.Haskell做得好的地方在于管理......好吧,任何事情的复杂性.所以,如果问题很复杂,那么Haskell将很好地为您服务.
Haskell中的外部函数接口设计得很好,但是你需要在Haskell和C++之间编写C胶.所以,这是你的数字运算的另一种选择.
对于Web界面,请查看"yesod",它看到非常活跃的开发并将自己宣传为RESTful.