开发者学堂课程【PHP 进阶教程-由浅入深掌握面向对象开发-第一阶段:面向对象基础学习路径&;编程语言历史】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/711/detail/12654
面向对象基础学习路径&;编程语言历史
内容介绍:
一、面向对象基础
二、编程语言历史
一、面向对象基础
学习目标:理解面向对象编程思想,了解计算机编程语言的演变过程,掌握 PHP 面向对象的基础语法,使用面向对象编程思想和面向对象语法实现编程解决需求问题
现在很多编程语言都已经为人性化的理解和识别,开始用面向对象,很多的高级语言基本上都是面向对象,所以需要学习面向对象。
·计算机语言发展史
·面向过程编程思想
·面向对象编程思想
·面向对象基础语法
·综合运用
二、编程语言历史
1、概念
(1)编程语法发展史
计算机编程在历史的发展长河中,经历了多次版本变革,变化的轨迹是伴随着硬件的发展和人们对于计算机的认知以及需求。
①机器语言:即开发者(科学家)使用0和1组成命令,然后在特定计算机上执行
优点:执行效率高。计算机不需要任何转换,直接读懂,结果也是01012,需要人去把结果再进行换算,变成能理解的方式。
缺点:开发难度大、移植性差、开发成本高.科学家太少所以开发难度特别大,受制于硬件的限制,一致性非常差,设计的程序只能在某台固定的电脑上运行,其他电脑上运行不了,导致开发成本高,这种编程方式不适合一般的程序员.
②汇编语言:开发者使用简洁英文字母和符号组成,让计算机读取后根据符号进行加工执行
优点:指令简单明了、推广性高。英文字母和符号组成的能看懂,可推广性也就增强。
缺点:移植性差、功能简单
③高级计算机语言:开发者使用类似自然语言的符号组成,高级语言根据编程思想分为面向过程编程和面向对象编程两种,然后系统对程序代码进行编译(需要第三方编译器)然后执行
随着 PC 机大型机的存在或者 PC 机的普及,高级计算机的编程语言就应运而生,如果还是科学家来做很难有其他的人参与到世界里面。
优点:移植性强、可读性强、推广性非常高
缺点:执行效率降低
移植性强写好的代码可以在不同的电脑甚至不同的操作系统上运行,可读性很强一般人稍微学习一下都可以看懂,推广性自然就高,因为能用、能看懂的人多自然能做的人也非常多。缺点也明显因为过程需要进行编译,所以它的执行效率会降低,但是降低对于计算机的 cpu还是网络,对于硬件的快速迭代开发升级之后效率对于人是微不足道的,基本上感受不到,因为运力太强、能力太强。
(2)面向过程编程
将要解决的问题(功能需求)分解成具体的步骤,然后通过函数编程实现每一个步骤,最后通过函数规定好的顺序调用完成。
把要解决的问题,是要做的某一件事情比如购物,分解成具体的步骤,比如要去选择商品,然后去查看商品,然后再去购买商品,再去支付商品,再物流,拆分成一个个的节点是具体的步骤,用函数编程的方式去实现每一个步骤,最后通过函数规定好的顺序去调用完成就叫做面向过程编程。
①面向过程编程思想的优点
能够针对步骤拆分,进行模块化封装(函数)
可以实现代码复用,从而节省开发成本,代码的可复用性、一致性都会增强。
②面向过程编程思想的缺点
不够灵活维护,流程一旦确定就必须按照既定方式执行到底。
假设某一个流程有变化或者中间一个节点变得更细,此时不太好去做,因为流程一旦写好了之后,必须按照流程去做,如果再去额外的增加一些功能或者改变流程,所有的代码必须推倒重来,甚至去修改源代码,面向过程好在做的过程中不会让业务变化太多,会在开发之前把业务推销好,操作不至于有真正太多的变化,把函数分得再细一点,就是函数的顺序可能改一改就可以,这是面向过程模块化的编程思想。
2、小结
(1)计算机编程从对开发人员要求极高到要求不高,是一代代人坚持不懈的结果
(2)面向对象编程是目前最为符合人类思维逻辑的一种编程思想
计算机编程从对开发人员要求极高到要求不高因为很多的人在坚持不懈的改进去让它变得更容易被人所理解,以就会出现这样的效果,所以现在的高级编程语言能够比较方便地去看懂。面向对象编程是目前最符合人类思维逻辑的一种编程,面向过程有一些缺点或者不大符合人的思维逻辑,比如去购物,谁在购物肯定是需要有操作的人来做这个事情才算是完美,才算是能成功的一件事情。