我知道它们都使用不同的编程范式,但从高层次的角度来看,除了不同的语法之外,似乎大多数基本任务都可以以类似的方式完成。
我之所以这么说,是因为当我之前接触过 Haskell 等函数式编程语言时,为基础任务编写代码(起初)是困难的、令人沮丧的,并且需要完全不同的心态。
例如,下面花了一些时间来掌握使用递归语法:
loop :: Int -> IO ()
loop n = if 0 == n then return () else loop (n-1)
F# 循环几乎可以立即被识别且不稳定:
let list1 = [ 1; 5; 100; 450; 788 ]
for i in list1 do
printfn "%d" i
当 C# 程序员开始学习 F# 时,他们被建议完全重新思考他们的思维模式(这对于 Haskell 来说绝对是必需的),但我现在已经编写了几个处理条件、循环、数据集等的 F# 程序来执行实际任务,并且我想知道“不同范式”障碍的真正作用在哪里?
希望有人能够解决我的困惑。