2023-06-18 21:31来源:m.sf1369.com作者:宇宇
第一代:单纯的机器语言,就是以“0”和“1”的组合来指定指令和数据 只有0 和 1
第二代:汇编语言,相对机器语言,已经有简单人类语言来标示指令或者数据,相对容易很多,不过,由这种语言对人而言,依然容易出错、学习、编写、改动、纠错同样不算容易。汇编语言同样可以直接对机器硬件直接访问,运行效率同样非常高。
第三代:高级语言,相对机器语言,高级语言已经有几乎是以人类语言来标示指令或者数据了( 例如各种BASIC(True basic、Qbasic、Virtual Basic等)、C、C++、PASCAL、FORTRAN、JAVA语言等等)
第四代:更高级的语言,高级语言进一步发展,就是目前我们都在使用的各种形形色色的计算机·语言了(例如:LISP、Prolog、CLIPS、OpenCyc、Fazzy、动态语言Python、PHP、Ruby、Lua等等。),这一代的计算机语言学习起来更为容易,有大量成熟稳定的函数、子程序、封装对象可以直接引用,模块化构架更为清晰,对硬件的适应性远超于前三代计算机语言,而且这一代计算机语言重要的特点是,已经有一定的“智能化”。
总体来说就是越来越接近人的思维和语言交流方式 更多的面向组件化 就像盖楼 都是用模块构成了 不再用砖头了
第一代:汇编语言
第二代:面向过程的编程语言
第三代:面向对象的编程语言
第四代:数据库编程语言,如各种数据库的SQL语言
程序设计语言的划代问题远比计算机的划代复杂,所见到的划代观点有4种之多。这儿例举一种观点,他们将编程语言划分如下:1GL是汇编语言; 2GL是高级程序设计语言,如FORTRAN,ALGOL,BASIC,LISP等;3GL是增强性的高级程序设计语言,如PASCAL, ALGOL68,FORTRAN77等;4GL是按计算机科学理论指导设计出来的结构化语言,如ADA,MODULA-2,SMALLTALK-80等。
一般认为4GL具有简单易学,用户界面良好,非过程化程度高,面向问题,只需告知计算机“做什么”,而不必告知计算机“怎么做”,用4GL编程使用的代码量较之COBOL、PL/1明显减少,并可成数量级地提高软件生产率等特点。许多4GL为了提高对问题的表达能力,也为了提高语言的效率,引入了过程化的语言成分,出现了过程化的语句与非过程化的语句交织并存的局面,如LINC、NOMAD、IDEAL、FOCUS、NATURAL等均是如此。 确定一个语言是否是一个4GL,主要应从以下标准来进行考察:
(1)生产率标准:4GL一出现,就是以大幅度提高软件生产率为己任的,4GL应比3GL提高生产率一个数量级以上。
(2)非过程化标准:4GL基本上应该是面向问题的,即只需告知计算机“做什么”,而不必告知计算机“怎么做”。当然4GL为了适应复杂的应用,而这些应用是无法“非过程化”的,就允许保留过程化的语言成分,但非过程化应是4GL的主要特色。
(3)用户界面标准:4GL应具有良好的用户界面,应该简单、易学、易掌握,使用方便、灵活。
(4)功能标准:4GL要具有生命力,不能适用范围太窄,在某一范围内应具有通用性。 虽然4GL具有很多优点,也有很大的优势,成为了应用开发的主流工具,但也存在着以下严重不足:
(1)4GL虽然功能强大,但在其整体能力上却与3GL有一定的差距。这一方面是语言抽象级别提高以后不可避免地带来的(正如高级语言不能做某些汇编语言做的事情);另一方面是人为带来的,许多4GL只面向专项应用。有的4GL为了提高对问题的表达能力,提供了同3GL的接口,以弥补其能力上的不足。如Oracle提供了可将SQL语句嵌入C程序中的工具PRO*C。
(2)4GL由于其抽象级别较高的原因,不可避免地带来系统开销庞大,运行效率低下(正如高级语言运行效率没有汇编语言高一样),对软硬件资源消耗严重,应用受硬件限制。
(3)由于缺乏统一的工业标准,4GL产品花样繁多,用户界面差异很大,与具体的机器联系紧密,语言的独立性较差(SQL稍好),影响了应用软件的移植与推广。
(4)4GL主要面向基于数据库应用的领域,不宜于科学计算、高速的实时系统和系统软件开发。
第二代汇编语言,第三代面向过程语言,第四代面向对象语言
第四代:面向对象的编程语言(包括java,c#等)
使用面向对象思想进行开发有以下优点:
1、易维护
采用面向对象思想设计的结构,可读性高,由于继承的存在,即使改变需求,那么维护也只是在局部模块,所以维护起来是非常方便和较低成本的。
2、质量高
在设计时,可重用现有的,在以前的项目的领域中已被测试过的类使系统满足业务需求并具有较高的质量。
3、效率高
在软件开发时,根据设计的需要对现实世界的事物进行抽象,产生类。使用这样的方法解决问题,接近于日常生活和自然的思考方式,势必提高软件开发的效率和质量。
4、易扩展
由于继承、封装、多态的特性,自然设计出高内聚、低耦合的系统结构,使得系统更灵活、更容易扩展,而且成本较低。