挑了几个函数式编程的语言,haskell,erlang ,scala, 逐个琢磨了一下。 它们的好处,我同意。然而,使用函数式语言编程,该怎么设计软件?该怎么抽象现实问题?怎么建模?我们已经有了面向对象分析和设计的方法,有了设计模式,这些可都是建立在对象的基础上;转换到函数式语言,又该怎么去分析问题?还用不用对象?
这个疑惑,一直存与心头,得不到解决。翻看国内外书籍,好像都没有提到怎么设计软件的事情,对于现实领域,说的多的也只是并发编程。在软件设计中,可不只是要解决并发问题;先要解决的是怎么分析和分解问题,怎么抽象、建模。
或许要靠 函数式编程混合面向对象了。