编程范式一词最早来自 Robert Floyd 在 1979 年图灵奖的颁奖演说,是程序员看待程序应该具有的观点,代表了程序设计者认为程序应该如何被构建和执行的看法,与软件建模方式和架构风格有紧密关系。
结构化的程序以简单、有层次的程序流程架构组成,可分为顺序(sequence)、选择(selection)及循环(repetition)。结构化方法也可以称为面向过程(PO)的方法。
特点(32个字):
自顶向下,逐步细化;清晰第一,效率第二;书写规范,缩进格式;基本结构,组合而成
面向对象会把事物抽象成对象的概念,就是说这个问题里面有哪些对象,然后给对象赋一些属性和方法,然后让每个对象去执行自己的方法,问题得到解决。
面向过程与面向对象二者对比:结构化编程和面向对象过程编程区别与应用
看下面这个对比,感觉是把 以类作为作用域的面向对象转换为以函数作为作用域的函数式,这样的好处是使用函数不用创建对象,但因此包含函数、变量和类的函数被提格为‘高阶函数’
函数式编程与面向对象的对比
OO的约束性更强。函数式编程是面向功能编程,优势是作用域链,函数可以访问的变量范围要远远大于OO灵活性高。OO所谓的对象,本质上就是函数式中的作用域