1、汇编语言和高级语言,讲解人:刘景景制作者:306宿舍,本节主要教学内容,了解汇编语言和高级语言的概念。 明确汇编程序和汇编语言程序的关系。 掌握计算机如何读懂高级语言。 熟悉最常见的五种高级语言及其优缺点,汇编语言和高级语言的概念,汇编语言是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。它是面向机器的程序设计语言。高级语言是相对于汇编语言而言的,它是较接近自然语言和数学公式的编程,基本脱离了机器的硬件系统,用人们更易理解的方式编写程序。高级语言并不是特指的某一种具体的语言,而是包括很多编程语言,c,c+,pascal,python,lisp,prolog等等,这
2、些语言的语法、命令格式都不相同。,汇编程序和汇编语言程序的关系,汇编程序是把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序,它是完成汇编工作的程序。汇编语言程序是指用汇编语言写的程序。,计算机如何读懂高级语言,高级语言是面向用户的语言。无论何种机型的计算机,只要配备上相应的高级语言的编译或解释程序,则用该高级语言编写的程序就可以通用。 计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。 编译方式是:事先编好一个称为编译程序的机器语言程序,作为系
3、统软件存放在计算机内,当用户由高级语言编写的源程序输入计算机后,编译程序便把源程序整个地翻译成用机器语言表示的与之等价的目标程序,然后计算机再执行该目标程序,以完成源程序要处理的运算并取得结果。 解释方式是:源程序进入计算机时,解释程序边扫描边解释作逐句输入逐句翻译,计算机一句句执行,并不产生目标程序。PASCAL、FORTRAN、COBOL等高级语言执行编译方式;BASIC语言则以执行解释方式为主;而PASCAL、C语言是能书写编译程序的高级程序设计语言。每一种高级(程序设计)语言,都有自己人为规定的专用符号、英文单词、语法规则和语句结构(书写格式)。高级语言与自然语言(英语)更接近,而与硬
4、件功能相分离(彻底脱离了具体的指令系统),便于广大用户掌握和使用。,最常见的五种高级语言及其优缺点 C语言,优点:C语言属于高级语言,具有可移植性,能够结构化编程。使用标准C语言的程序,几乎都可以不作改变移植到不同的微机平台上,对于嵌入式等的微控制芯片,属于标准C语言的部分也很少需要修改,而且程序很容易读懂。简而言之:C语言编写程序结构清晰,移植性好,容易维护和修改。 缺点:C语言语法限制不太严格,程序设计自由度大。“限制“与“灵活“是对立的,强调“灵活“就会放松“限制“。这就对使用C语言进行编程提出了更高的要求,程序员要对程序设计更熟悉。例如,C语言对数组下标越界不检查,容易造成数据在内存中
5、的混乱。 C语言具有丰富的运算符,多达34种。这却增加了使用C语言的难度,这些运算符分为众多优先级,不容易记忆,可能混淆而产生错误。 C语言存在着一些不应该存在的语法限制。例如,switch语句由case结构组成,每个case结束之后都要使用一个break来跳出case结构,否则将会继续执行下面的case,这样就会造成错误。,Product A,c+,优点:组织大型程序时比C语言好得多。很好的支持面向对象机制。通用数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。缺点:非常大而复杂,与C语言一样存在语法滥用问题,比C慢,大多数编译器没有把整个语言正确的实现,不能用于B/S系统
6、的开发,可移植性不好。,java,优点: 1.简单性 Java与C+相比,不再支持运算符重载、多级继承及广泛的自动强制等易混淆和较少使用的特性,而增加了内存空间自动垃圾收集的功能,复杂特性的省略和实用功能的增加使得开发变得简单而可靠。 2.平台独立性 由于它采用先编译成中间码,然后装载与校验,再解释成不同的机器码来执行,即“Java虚拟机”的思想,“屏蔽”了具体的“平台环境”特性要求,使得只要能支持Java虚拟机,就可运行各种Java程序。 3.面向对象的技术 面向对象技术具有继承性、封装性、多态性等众多特点,Java在保留这些优点的基础上,又具有动态联编的特性。,java,4.多线程 多线程
7、机制使应用程序能并行执行,Java有一套成熟的同步原语 ,保证了对共享数据的正确操作,通过使用多线程,程序设计者可以分别用不同的线程完成特定的行为,而不需要采用全局的事件循环机制,这样就很容易实现网络上实时的交互行为。 5.动态性 在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。并且Java通过接口来支持多重继承,使之比严格的类继承具有更灵活的方式和扩展性。 6.安全性 Java有建立在公共密钥技术基础上的确认技术.指示器语义的改变将使应用程序不能再去访问以前的数据结构或是私有数据,大多数病毒也就无法破坏数据.因而,用Java可以构造出无病毒、安全的系统。 除此之外还有高性能
8、、分布性、强大性、解释性、可移植性等,此处不再 赘述。,java,缺点 需要运行环境、不适合开发桌面应用程序 语言开发慢 运行java程序需要装java虚拟机. 就这一条严重的影像了java应用程序的使用 运行成本比较高,c#,优点 保持了C+中熟悉的语法,包含了大量的高效代码和面向对象特性 C#语言将在保持C/C+灵活性的基础上为程序员带来更高效的RAD开发方式。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序 缺点 目前只能运用在windows平台 必须有运行时框架支持,C#程序要安装Framework支持 只适合适合做中小型项目 C#的相对稳定性不好 成本较高,delphi,优点 直接编译生成可执行代码,编译速度快 提供了许多快速方便的开发方法,使开发人员能用尽可能少的重复性工作完成各种不同的应用 具有可重用性和可扩展性 具有强大的数据存取功能 拥有强大的网络开发能力,能够快速的开发B/S应用 缺点 Delphi的IDE太占资源,启动速度太慢,和某些显卡驱动程序冲突 Delphi的 VCL中有缺陷,调试器不够健壮,对不稳定的第三方 控件没有防护措施,对多线程支持差,谢谢观赏!,