码迷,mamicode.com
首页 > 其他好文 > 详细

何为编程思想?

时间:2015-08-30 22:59:59      阅读:215      评论:0      收藏:0      [点我收藏+]

标签:

  有一个很不错的概念叫做“Unknown Unknown”,意思是如果你不知道一个东西的话,你也不会知道你自己不知道它。
  
  众所周知大家所熟悉的主流编程思想还是面向对象编程,然而,并不是只存在于这一种方式。我们要习惯去怀疑生活工作中的一些既定的理论和方法,没有确凿理论依据的出现,我们还是要相信有其他的情况,只是我们还没有发现它。
  
  面向对象OOP
  
  面向对象的编程思想最大的特色就是可以编写自己所需的数据类型,以更好的解决问题。“类”就是描述了一组有相同特性(属性)和相同行为(方法)的集合。
  
  抽象成了其中最重要的问题。例如,如果有一个问题“砖头有多少用途?”在我们刚拿到题目后,便会直接简单的根据大脑中最常见的思维方式去思考,决定能够盖房子,砸人。。。我们却可以系统的去从砖头的各个属性去抽象,“长方体,有棱角,坚硬的,有一定体积,有一定质量等”,有同样属性的相关的物体作用便都是砖头的用途,然而,我们又不能仅限于本身,我们可以进行一些“操作”修改的行为,(大小可以调整,固体可以变为粉末,棱角可以打磨,形状可以改变等),对于如何进行编程,不同的语言语法不同,但是思想即如此,大家要学习的还是编程背后的思考方式,而不是语言本身。
  
  函数式编程FP
  
  丘齐,和图灵同时代的天才,从一种抽象角度提出了lambda算子的思想,当时图灵的抽象设计倾向于硬件性,他则从数学角度抽象,其中体现出来的抽象美开出了函数式编程语言这朵花。虽然本质源于lambda算子理论的抽象方式所出现的一些语言(Lisp,Scheme,Haskell。。。)由于抽象方式不符合人的思维习惯无法成为主流的编程语言。但这些却依然活跃在计算机科学界,至此诞生出的swift。
  
  函数式编程是面向数学的抽象,在使用的时候的特点就是,你已经再也不知道数据是从哪里来了,每一个函数都是为了用小函数组织成更大的函数,函数的参数也是函数,函数返回的也是函数,将计算描述为一种表达式求值,函数式程序就是一个表达式。
  
  更多的讨论内容
  
  用递归的思想结合算子去理解。
  
  特点
  
  面向对象:
  
  数据和对数据的操作紧紧耦合
  
  对象隐藏它们操作的实现细节,其他对象调用这些操作只需要通过接口。
  
  核心抽象模型是数据自己
  
  核心活动是组合新对象和拓展已经存在的对象,这是通过加入新的方法实现的。
  
  函数编程:
  
  数据与函数是松耦合的
  
  函数隐藏了它们的实现,语言的抽象是函数,以及将函数组合起来表达。
  
  核心抽象模型是函数,不是数据结构
  
  核心活动是编写新的函数。
  
  变量缺省是不变的,减少可变性变量的使用,并发性好

何为编程思想?

标签:

原文地址:http://www.cnblogs.com/zhaowmm/p/4771795.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!