大数据学习day13------第三阶段----scala01-----scala以及IDEA的安装,变量的定义,条件表达式,for循环,方法定义,数组以及集合(可变和非可变)

具体见第三阶段scala-day01中的文档(scala编程基础---基础语法)

 函数式编程(https://www.cnblogs.com/wchukai/p/5651185.html):

  • 将业务逻辑细化,抽象,封装成一个个功能函数,并借助语言自带的高阶函数api,将整个业务流程转化为函数之间的相互调用,这就是函数式编程。

  我们可以看到,函数式编程中,函数不仅直接调用,也可以当成参数被其他函数调用。因此,进一步,如果我不仅想把函数当参数,还想传入值,所以再封装一下,函数和值封装后是什么。

  • 函数->行为
  • 值->属性

没错这就是对象

  • 将业务逻辑细化,抽象,封装成一个个对象,并借助语言,库,组件,框架等,将整个业务流程转化为对象之间的相互调用,这就是面向对象编程。

因此,这么看来,函数式跟面向对象的思想其实都是一致的,即对逻辑的抽象与封装。

原点:

回顾下语言的历程

过程式->函数式->面向对象

近年来大数据的兴起,数据的处理往往跟面向对象没关系,更多的是简单而大量的数据结构,借助mapreduce这样的高阶函数处理更加方便,这也是函数式编程又火起来的原因。

程序只不过是回到了它的原点:

算法+数据结构->函数+高阶函数+数据。

  

猜你喜欢

转载自www.cnblogs.com/jj1106/p/11892435.html