Java 也是 C++ 的 subset? Java 比 C++ 成功的就是在于它砍了指针
F# 最好的地方我觉得是砍掉了 break/continue/return, 这些跟 goto和指针一样必然逐渐消失的
另外就是不需要class private 之类的面向对象八股文, C#自己也在简化
F# 本身也不是haskell那样的纯函数语言
C# 仅仅支持一流函数,并不是成为函数式语言的充要条件。至少需要为不可变的数据结构、模式匹配、函数组合中的管道操作符,以及代数数据类型提供内置支持。
函数式语言可以加可变数据结构, 加面向对象, 但如果居然支持了 goto/break/continue/return, 基本上就可以"开除函籍"了
【 在 a0123456789q 的大作中提到: 】
F# can be regarded as a subset of C# in that C# is a functional programming language, with state;
【 在 ABCDEFGHJKLM 的大作中提到: 】
: F# 可以用同样的效率做C#能做的所有事, 已经没有理由继续使用 C#
: C# 不断在引入新的东西, 但沿袭 C++/Java 的过时的设计没法去掉, goto/break/continue/return/面向对象的误导性冗长设计风格, 等等, 都是不必要的有害的
: 只用函数式思维的程序也更容易翻译为各种语言, 将来的语言大一统 F# 也比C# 离终点更近
: ...................
--
修改:ABCDEFGHJKLM FROM 111.193.228.*
FROM 111.193.228.*