编程语言是怎样从机器语言进化到面向对象的?( 二 )


选择 则是根据条件判断,程序决定执行相应的语句 。
循环 则是判断条件,重复执行语句 。
上世纪七十年代,诞生于贝尔实验室的C语言是最知名的结构化编程语言 。同时C语言也是使用最广泛的编程语言 。
时至今日,得益于物联网的快速发展,在IOT技术栈中占有重要地位的C语言,又在TIOBE编程语言排行榜上大放异彩 。对于一门存在了四十多年的编程语言来说,这不能不说是一个奇迹 。
C语言因其简洁的语法,同时具备对系统底层的操作能力,成为编写操作系统及底层服务的最佳选择 。
软件危机终究还是没有爆发,人类也从单机时代进入了互联网时代 。人们又需要开发起来更快、还要更好用的编程语言了 。
面向对象编程【编程语言是怎样从机器语言进化到面向对象的?】面向对象编程的英文是Object Oriented Programming,下文中简称其为OOP 。一般来说,支持OOP的语言都包含三个特性,即封装、继承和多态 。
其实最早的面向对象编程语言是Simula 67,它诞生于1967年 。在当时,OOP所要求的三个特性,Simula 67就都具备了 。
所以面向对象技术还真不是我们遇到危机时才发明出来的,而是早已存在,但在60年代时太过超前而并没有被普及开来 。
直到互联网和PC兴起,快速产品化的要求催使人们去寻找更适合的方法 。语法像自然语言已经远远不够了,编程语言最好还能符合人类的自然思维过程,而OOP包含的三个基本特性,正好满足了这个要求 。
如今我们在学习面向对象编程语言时,老师都会通过现实世界打比方 。例如定义一个类就相当于画好了一张汽车的设计图,所有的细节都隐藏在私有方法中,对外只公开操作方法,包括启动和停止等 。
通过类,就能派生出一个实例,也就是一辆实际可以开的车 。你调用公开的方法就能开车上路了,而且不用关心它内部是如何运作的 。你只要能把奥迪开起来,那么宝马你也能开 。
JAVA、C#、php等语言正是在这样的背景下兴起,它们上手简单,一名新人经过短期培训就能上岗工作 。这降低了软件开发的门槛,也让互联网企业具备了快速拓展业务的能力 。
C++语言在早期因其包罗万象的特点,曾被大神Linus痛批 。但在C++ 11发布之后,C++被注入了许多现代编程语言的元素,也被称为Morden C++ 。如今C++已经大量应用在游戏引擎、人工智能、大数据等领域的基础组件构建中 。
当进入移动互联网时代之后,编程语言发展更加快速,但都会具备面向对象的三个基本特性 。
在终端,苹果公司推出的编程语言就有Objective C、Swift 。以谷歌为主导的Android平台则使用java、C/C++、Kotlin 。
编程语言不断推陈出新,但只要是支持OOP特性的,对程序员来说就可以快速上手工作 。这可能也是中国在移动互联网时代拥有诸多优秀企业和应用的原因吧 。
 
结语纵观编程语言的发展,可以清晰地观察到,它是朝着对人越来越友好的方向的 。从便于识别,到易于阅读,再到符合自然思维习惯 。
编程语言前进的每一步,都是为了让人在使用这种工具时,能够更有效率地实现功能,达成目标 。在一个阶段被满足之后,快速兴起的需求又会推动编程语言走向下一个时代 。
可以推测,基于人工智能技术的辅助,编程技术将不再需要经过大量专业学习才能掌握 。任何人只要具备逻辑表达的能力,就能生产出符合自己需要的软件产品 。
这样的设想在现在看来可能是太美好了一些,因为有科学家认为完全不需要人工干预就不太可能,因为机器无法处理所有的细节 。
我也很好奇,在未来编程语言会是什么样呢?




推荐阅读