命令式编程
对于函数式编程,是早有耳闻,但是一直没有去了解过,正好最近有时间,就花一晚上了解了下。
要说函数式编程之前,要说说有什么其他编程方式。我们平时常用的就是命令示编程。面对对像就是一种命令式编程。命令式编程有什么特点呢?命令式编程从容易理解的方式来说,就是编程即是一种命令。按照我原有的编程思维来讲,这是一句废话。但是我决定把这句废话在引申下。命令式编程就是人去命令机器。机器本身是听不懂人的命令的。比如说把一个字母存储到寄存器中的某个字节。这个机器内部的如何去二进制的存储其实是机器自身的语言,也就是机器语言,而我们平时的命令的声明var a=1,这已经不是机器语言了,是人能够理解的语言了。var a=1这个命令翻译给机器,就是命令机器存储a这个变量。至于机器内部的细节,不用我们去管。说回来命令式编程就是不断的去下命令,你去干这你去干那,让机器去到存储单元中存储变量,然后将变量入栈出栈,然后提取变量,运算,然后又存储到其他存储单元。进行这些操作,一定需要的是,知道这些变量或者函数从哪里来,又到哪里去。
而函数式编程呢?函数式编程就直截了当的多。专注于函数的编程。也就是忽略了对计算机内部的抽象,不关注计算机内部的处理。函数式编程可以看成是自己写一个又一个的函数表达式,每个表达式更方便的被另一个表达式所调用,最终形成一个庞大的表达式。函数式编程就是一个具有某种功能的函数表达式。拿Haskell编程来说(PS:要想了解函数式编程最好的方法就是对着教程打一遍,尽管我还没敲完),函数式编程里的表达式有这样几个特点:
1.函数表达式更方便的被调用,比如我用编辑器写个函数,然后保存为hs结尾的文件。到时候直接在GHCi中打开,调用就好,就相当于给你了一个函数表,函数就是功能,也就是功能表。
2.定义函数更加的简洁,直接空格,啪啪啪。以小见大。如此简洁一看就是专为函数处理打造的。另外Haskell语言的诞生之初是给读PhD的人用的,使用Haskell应该油然而生一种智商上的优越感。
3.函数式编程里的表达式都比较懒。怎么说懒呢?定义好了,就放那不动了。只有你调用时候才会动。比如说你定义好了一个函数,分配给它任务,它会等待。等哪天项目要上线了,它就立刻处理,而且保证不耽误事。
网友评论