在学习Haskell之前,作者一直使用主流语言,如Java、C和C++——现在他仍然喜欢它们。那么,一个命令式开发人员如何转变成了一个Haskell开发者?他将在本文中将对此做出解释——尤其是对那些在函数式编程方面经验较少的开发人员。
本文最初发布于Mario Morgenthum的个人博客,由InfoQ中文站翻译并分享。
首先,我将通过对一些主题的讨论比较函数式编程和面向对象编程,因为它是最流行的范式。在第一个代码示例中,我将简要介绍Haskell的语法,因为我将在本文中使用它。
控制流
控制流描述你如何告诉程序做什么——形成算法。基本控制元素有以下三种:
顺序——顺序执行代码
重复——重复执行代码
选择——根据条件将代码划分成分支
面向对象编程
顺序是语句逐行执行