计算机语言PPT.pptx
计算机语言的发展,什么叫做计算机语言,计算机语言(Computer Language)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。,计算机语言的简介和分类,计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类。机器语言:计算机能够直接识别的语言汇编语言:汇编语言和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆高级语言:和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。,“计算机语言之父”尼盖德帮助因特网奠下了基础,为计算机业做出了巨大贡献。尼盖德是奥斯陆大学的教授,因为发展了simula编程语言,为msdos和因特网打下了基础而享誉国际。,计算机语言的先驱者楚泽,Fortran语言之父约翰巴克斯,最早的计算机语言,最早的高级语言大约诞生于1945年,是德国人楚译为他的Z-4计算机设计的Plan Calcul,比第一台电子计算机还早几个月;在电子计算机上实现的第一个高级语言是美国尤尼法克公司于1952年研制成功的Short Code;而真正得到推广使用,至今仍在流行的第一个高级语言是美国的计算机科学家巴科斯设计,并于1956年首先在IBM公司的计算机上实现的 FORTRAN语言。,结构化编程的高级语言,面向对象思想的计算机语言,SmallTalk,C+,Objective-C,计算机语言的发展,在60年代末期出现了软件危机,在当时的程序 设计模型中都无法克服错误随着代码的扩大而级数般的扩大,以至到了无法控制的地步,这个时候就出现了一种新的思考程序设计方式和程序设计模型面 向对象程序设计,计算机语言的现状,汇编语言:汇编语言的和机器语言实质是相同的,都是直接对硬件操作,只不过指令采用了英文缩写的标识符,容易识别和记忆高级语言:高级语言是绝大多数编程者的选择。和汇编语言相比,它不但将许多相关的机器指令合成为单条指令,并且去掉了与具体操作有关但与完成工作无关的细节,例如使用堆栈、寄存器等,这样就大大简化了程序中的指令。,计算机语言发展的趋势,面向对象程序设计以及数据抽象在现代程序设计思想中占有很重要的地位,未来语言的发展将不在是一种单纯的语言标准,将会以一种完全面向对象,更易表达现实世界,更易为人编写,其使用计算机语言将不再只是专业的编程人员,人们完全可以用订制真实生活中一项工作流程的简单方式来完成编程。计算机语言的特性。未来计算机语言的几大特性(1)简单性(2)面向对象(3)安全性(4)平台无关性,计算机语言之父,“计算机语言之父”尼盖德帮助因特网奠下了基础,为计算机业做出了巨大贡献。尼盖德是奥斯陆大学的教授,因为发展了simula编程语言,为msdos和因特网打下了基础而享誉国际。克里斯汀尼盖德于1926年在奥斯陆出生,1956年毕业于奥斯陆大学并取得数学硕士学位,此后致力于计算机计算与编程研究。1961年1967年,尼盖德在挪威计 算机中心工作,参与开发了面向对象的编程语言。因为表现出色,2001年,尼盖德和同事奥尔约安达尔获得了2001年am图灵机奖及其它多个奖 项。当时为尼盖德颁奖的计算机协会认为他们的工作为java,c+等编程语言在个人电脑和家庭娱乐装置的广泛应用扫清了道路,“他们的工作使软件系统的 设计和编程发生了基本改变,可循环使用的、可靠的、可升级的软件也因此得以面世。”尼盖德因其卓越的贡献,而被誉为“计算机语言之父”,其对计算机语言发展趋势的掌握和认识,以及投身于计算机语言事业发展的精神都将激励我们向着计算机语言无比灿烂的明天前进,常见的计算机语言,汇编语言C语言C+Pascal语言VisualBasicJava创作工具C#,汇编语言,汇编是第一个计算机语言。汇编语言实际上是你计算机处理器实际运行的指令的命令形式表示法。这意味着你将与处理器的底层打交道,比如寄存器和堆栈。如果你要找的是类英语且有相关的自我说明的语言,这不是你想要的。特别注意:语言的名字叫“汇编”。把汇编语言翻译成真实的机器码的工具叫“汇编程序”。把这门语言叫做“汇编程序”这种用词不当相当普遍,因此,请从这门语言的正确称呼作为起点出发。优点:最小、最快的语言。汇编高手能编写出比任何其他语言能实现的快得多的程序。你将是利用处理器最新功能的第一人,因为你能直接使用它们。缺点:难学、语法晦涩、坚持效率,造成大量额外代码不适于心脏虚弱者。移植性:接近零。因为这门语言是为一种单独的处理器设计的,根本没移植性可言。,C语言,C语言是Dennis Ritchie在七十年代创建的,它功能更强大计算机语言且与ALGOL保持更连续的继承性,而ALGOL则是COBOL和FORTRAN的结构化继承者。C语言被设计成一个比它的前辈更精巧、更简单的版本,它适于编写系统级的程序,比如操作系统。在此之前,操作系统是使用汇编语言编写的,而且不可移植。C语言是第一个使得系统级代码移植成为可能的编程语言。优点:有益于编写小而快的程序。很容易与汇编语言结合。具有很高的标准化,因此其他平台上的各版本非常相似。缺点:不容易支持面向对象技术。语法有时会非常难以理解,并造成滥用。移植性:C语言的核心以及ANSI函数调用都具有移植性,但仅限于流程控制、内存管理和简单的文件处理。其他的东西都跟平台有关。比如说,为Windows和Mac开发可移植的程序,用户界面部分就需要用到与系统相关的函数调用。这一般意味着你必须写两次用户界面代码,不过还好有一些库可以减轻工作量,C+,C+语言是具有面向对象特性的C语言的继承者。面向对象编程,或称OOP是结构化编程的下一步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可用的对象库存在,这使得编程简单得只需要将一些程序“建筑材料”堆在一起(至少理论上是这样)。比如说,有很多的GUI和数据库的库实现为对象的集合。优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂。与C语言一样存在语法滥用问题。比C慢。大多数编译器没有把整个语言正确的实现。移植性:比C语言好多了,但依然不是很乐观。因为它具有与C语言相同的缺点,大多数可移植性用户界面库都使用C+对象实现。,VisualBasic,优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。大量可用的插件。虽然有第三方的DirectX插件,DirectX7已准备提供VisualBasic的支持。缺点:程序很大,而且运行时需要几个巨大的运行时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却比较难。调用Windows的API程序非常笨拙,因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的面向对象。移植性:非常差。因为VisualBasic是微软的产品,你自然就被局限在他们实现它的平台上。,JAVA,Java是由Sun最初设计用于嵌入程序的可移植性“小C+”。在网页上运行小程序的想法着实吸引了不少人的目光,于是,这门语言迅速崛起。事实证明,Java不仅仅适于在网页上内嵌动画它是一门极好的完全的软件编程的小语言。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。计算机语言虽然不是C+的正式续篇,Java从C+中借用了大量的语法。它丢弃了很多C+的复杂功能,从而形成一门紧凑而易学的语言。不像C+,Java强制面向对象编程,要在Java里写非面向对象的程序就像要在Pascal里写“空心粉式代码”一样困难。优点:二进制码可移植到其他平台。程序可以在网页中运行。内含的类库非常标准且极其健壮。自动分配合垃圾回收避免程序中资源泄漏。网上数量巨大的代码例程。缺点:使用一个“虚拟机”来运行可移植的字节码而非本地机器码,程序将比真正编译器慢。有很多技术(例如“即时”编 译器)很大的提高了Java的速度,不过速度永远比不过机器码方案。早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保 留。越高级的技术,造成处理低级的机器功能越困难,Sun为这门语言增加新的“受祝福”功能的速度实在太慢。移植性:最好的,但仍未达到它本应达到的水平。低级代码具有非常高的可移植性,但是,很多UI及新功能在某些平台上不稳定。7,C#,C#是一种精确、简单、类型安全、面向对象的语言。其是.Net的代表性语言。什么是.Net呢?按照微软总裁兼首席执行官Steve Ballmer把它定义为:.Net代表一个集合,一个环境,它可以作为平台支持下一代Internet的可编程结构。C#的特点:1.完全面向对象。2.支持分布式。3.自动管理内存机制。4.安全性和可移植性。5.指针的受限使用。6.多线程。和Java类似,C#可以由一个主进程分出多个执行小系统的多线程。C#是在Java流行起来后所诞生的一种新的程序开发语言。,