我在stackoverflow上读到了几篇有趣的C# / F#比较。首先,感谢所有贡献者!
有很多对F#的赞扬,但是更难找到偏爱C#的原因。无论如何,对于这个小而简单的“真实世界应用程序”:模拟一群鲱鱼,我仍然不确定该选择哪一个。
我不知道函数式编程(尚未),但从面向对象的角度来看,设计中有一些直观的想法:创建一个Fish类,并从中派生这些类:Herring,Predator,Prey。每个类都应具有诸如位置、方向和速度之类的属性。
将会有大量遍历集合:每个Fish对象在每个小时间增量时都将检查其环境并更新其动作。
我还不确定这是否足够CPU密集,以至于我关心多处理,但也许F#听起来不错。
我确信我将花费大量时间进行原型和探索 - 我听说F#在这方面很好。
从我所读的内容来看,C#对GUI更好,但是不会有太多GUI。绘制一些曲线很好,但我更喜欢将大部分结果发送到打开的Excel工作表或数据库中。不确定C#和F#在Excel /数据库方面的差异如何。
无论如何,这个项目似乎非常面向对象 - 尽管上面提到了F#的优点,C#是否对这个项目更好?还是其他选择?
编辑:只是想感谢所有评论,非常有用和有趣,希望也能帮助别人。我发现有趣的一件事是,尽管F#是多范式的,但每个人似乎都更喜欢C#的面向对象方法,尽管例如此比较。
(顺便说一下,我要学习F#。)