使用哪种,C#还是F#?在这个“现实世界”的案例中
我在stackoverflow上看过几个有趣的C#/ F#比较.所以,首先,感谢所有贡献者!
对于F#有很多赞誉,更喜欢C#的原因有点困难.无论如何,我仍然不确定哪一个用于这个小而简单的“真实世界的应用程序”:模拟一个鲱鱼学校. 我不知道函数式编程(但是),但是从OO的角度来看,一些设计看起来很简单:创建一个Fish类,并从中派生出这些类:Herring,Predator,Prey.每个都应该具有位置,方向和速度等属性. 将会有很多遍历集合:每个小时间增量,每个Fish对象将检查其环境并更新其动作. 我还不知道这是否足够CPU,我会关心多处理,但也许,所以F#听起来不错. 我相信我将花费大量时间进行原型设计和探索 – 我听说F#对此有好处. 根据我的阅读,C#更适合GUI,但不会有太多.绘制一些曲线会很好,但我希望将大部分结果发送到打开的Excel工作表或数据库.不确定C#和F#在Excel /数据库方面有何不同. 无论如何,这个项目看起来是如此面向对象 – 尽管上面提到的F#有利于C#,但是对于这个项目来说C#会更好吗?要么?? 编辑:只是想感谢所有评论,非常有用和有趣,希望它也能帮助别人.我觉得有趣的事情之一就是虽然F#是多范式的,但每个人似乎更喜欢C#的OO方法,尽管例如this comparison. 解决方法
这听起来像是可以使用这两种样式编写的应用程序.使用F#似乎是合适的,这可能是学习F#语言和函数式编程的一个很好的应用程序.
关于架构,你写道:
功能编程并非完全不同.它强调使用具体类型(并且您不经常使用继承),因此您可能会定义具有类似属性的不同类型,例如Herring和Predator.然后,您将创建鲱鱼列表和捕食者列表,并分别逐步模拟这两种类型. 巧合的是,我用“动物”和“掠食者”作为我的函数编程书的样本(在C#和F#中)编写了类似的模拟. source is freely available(寻找第14章),所以你可能会发现它是一个有用的灵感(样本也展示了并行性).使用F#中的Excel也是完全可能的(与C#完全相同),我的书中也提供了示例(参见第13章的源代码). 一般来说,使用函数式编程来解决F#中的问题需要稍微不同的观点,你可能需要花更多的时间进行实验,但似乎这个问题很可能从一些F#特性中受益(这是一个很好的有机会学到新东西). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Flash as3加载外部swf和exe
- ruby-on-rails – 如何在activeyord中为ruby设置一个非空约
- objective-c – Objective C – 错误:’预期一个类型’
- 如何将Jason中的NSString类型转化为NSArray类型
- Xml Compare
- objective-c-prefix属性必须后跟接口或协议栈溢出
- 关于SAXReader解析XML以及JSONObject和JSONArray的使用总结
- c# – 如何在Linq to XML语句中循环
- Postgresql中Kill掉正在执行的SQL语句
- ruby-on-rails – 使用Twitter的OmniAuth invalid_response