常⽤计算机⾼级语⾔及其特点,计算机⾼级语⾔特点是什么?
常见的语种有哪些?...
满意答案
hata1978
2017.04.20
采纳率:52% 等级:13
已帮助:9858⼈
计算机语⾔(Computer Language)指⽤于⼈与计算机之间通讯的语⾔。计算机语⾔是⼈与计算机之间传递信息的媒介。计算机系统最⼤特征是指令通过⼀种语⾔传达给机器。为了使电⼦计算机进⾏各种⼯作,就需要有⼀套⽤以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各
种指令(或各种语句)。这些就是计算机能接受的语⾔。
⼀、计算机⾼级语⾔特点
⾼级语⾔是从⼈类的逻辑思维⾓度出发的计算机语⾔,抽象程度⼤⼤提⾼,需要经过编译成特定机器上的⽬标代码才能执⾏,⼀条⾼级语⾔的语句往往需要若⼲条机器指令来完成。⾼级语⾔独⽴于机器的特性是靠编译器为不同机器⽣成不同的⽬标代码(或机器指令)来实现的。
⼆、计算机⾼级语⾔分类
分类⽅法:程序的执⾏⽅式
类别:编译型语⾔和解释型语⾔
1.编译型语⾔:
使⽤专门的编译器针对特点平台将⾼级语⾔⼀次性翻译成可被该平台硬件执⾏的机器码,并包装秤该平台可识别的可执⾏程序的格式,该过程叫编译Compile,可执⾏程序可以脱离开发环境,在特定平台独⽴运⾏。
有些程序编译结束后,还可能需要对其他⽬标代码进⾏连接,将多个⽬标代码模块组成最终的可执⾏程序。
优点:可以脱离开发环境独⽴运⾏,执⾏效率⽐较⾼;
缺点:可执⾏程序不能跨平台;
2.解释型语⾔:
使⽤解释器对源代码逐⾏解释成特定平台的机器码并执⾏,相当于把编译型语⾔中的编译和解释过程混合在⼀起同时完成。
缺点:每次执⾏该语⾔的程序都需要进⾏⼀次编译,效率低,不能脱离解释器独⽴运⾏;
优点:可实现跨平台执⾏;
三、计算机常见语种
常见语⾔
1.C语⾔
C语⾔是Dennis Ritchie在七⼗年代创建的,它功能更强⼤且与ALGOL保持更连续的继承性,⽽ALGOL则是COBOL和FORTRAN的结构化继承者。C语⾔被设计成⼀个⽐它的前辈更精巧、更简单的版本,它适于编写系统级的程序,⽐如操作系统。在此之前,操作系统是使⽤汇编语⾔编写的,⽽且不可移植。C语⾔是第⼀个使得系统级代码移植成为可能的编程语⾔。
优点:有益于编写⼩⽽快的程序。很容易与汇编语⾔结合。具有很⾼的标准化,因此其他平台上的各版本⾮常相似。
缺点:不容易⽀持⾯向对象技术。语法有时会⾮常难以理解,并造成滥⽤。
计算机语言种类移植性:C语⾔的核⼼以及ANSI函数调⽤都具有移植性,但仅限于流程控制、内存管理和简单的⽂件处理。其他的东西都跟平台有关。⽐如说,为Windows和Mac开发可移植的程序,⽤户界⾯部分就需要⽤到与系统相关的函数调⽤。这⼀般意味着你必须写两次⽤户界⾯代码,不过还好有⼀些库可以减轻⼯作量。
2.C++
C++语⾔是具有⾯向对象特性的C语⾔的继承者。⾯向对象编程,或称OOP是结构化编程的下⼀步。OO程序由对象组成,其中的对象是数据和函数离散集合。有许多可⽤的对象库存在,这使得编程简单
得只需要将⼀些程序“建筑材料”堆在⼀起(⾄少理论上是这样)。⽐如说,有很多的GUI和数据库的库实现为对象的集合。
优点:组织⼤型程序时⽐C语⾔好得多。很好的⽀持⾯向对象机制。通⽤数据结构,如链表和可增长的阵列组成的库减轻了由于处理低层细节的负担。
缺点:⾮常⼤⽽复杂。与C语⾔⼀样存在语法滥⽤问题。⽐C慢。⼤多数编译器没有把整个语⾔正确的实现。
移植性:⽐C语⾔好多了,但依然不是很乐观。因为它具有与C语⾔相同的缺点,⼤多数可移植性⽤户界⾯库都使⽤C++对象实现。
3.汇编语⾔
汇编是第⼀个计算机语⾔。汇编语⾔实际上是你计算机处理器实际运⾏的指令的命令形式表⽰法。这意味着你将与处理器的底层打交道,⽐如寄存器和堆栈。如果要的是类英语且有相关的⾃我说明的语⾔,这不是你想要的。 特别注意:语⾔的名字叫“汇编”。把汇编语⾔翻译成真实的机器码的⼯具叫“汇编程序”。把这门语⾔叫做“汇编程序”这种⽤词不当相当普遍,因此,请从这门语⾔的正确称呼作为起点出发。
优点:最⼩、最快的语⾔。汇编⾼⼿能编写出⽐任何其他语⾔能实现的快得多的程序。你将是利⽤处理器最新功能的第⼀⼈,因为你能直接使⽤它们。
缺点:难学、语法晦涩、坚持效率,造成⼤量额外代码—不适于⼼脏虚弱者。
移植性:接近零。因为这门语⾔是为⼀种单独的处理器设计的,根本没移植性可⾔。如果使⽤了某个特殊处理器的扩展功能,你的代码甚⾄⽆法移植到其他同类型的处理器上(⽐如,AMD的3DNow指令是⽆法移植到其它奔腾系列的处理器上的)。
4.Pascal语⾔
Pascal语⾔是由NicolasWirth在七⼗年代早期设计的,因为他对于FORTRAN和COBOL没有强制训练学⽣的结构化编程感到很失望,“空⼼粉式代码”变成了规范,⽽当时的语⾔⼜不反对它。Pascal被设计来强⾏使⽤结构化编程。最初的Pascal被严格设计成教学之⽤,最终,⼤量的拥护者促使它闯⼊了商业编程中。当Borland发布IBMPC上的TurboPascal时,Pascal辉煌⼀时。集成的编辑器,闪电般的编译器加上低廉的价格使之变得不可抵抗,Pascal编程了为MS-DOS编写⼩程序的⾸选语⾔。然⽽时⽇不久,C编译器变得更快,并具有优秀的内置编辑器和调试器。Pascal在1990年Windows开始流⾏时⾛到了尽头,Borland放弃了Pascal⽽把⽬光转向了为Windows编写程序的C++。TurboPascal很快被⼈遗忘。
基本上,Pascal⽐C简单。虽然语法类似,它缺乏很多C有的简洁操作符。这既是好事⼜是坏事。虽然很难写出难以理解的“聪明”代码,它同时也使得⼀些低级操作,如位操作变得困难起来。
优点:易学、平台相关的运⾏(Dephi)⾮常好。
缺点:“世界潮流”⾯向对象的Pascal继承者(Modula、Oberon)尚未成功。语⾔标准不被编译器开发者认同。
.移植性:很差。语⾔的功能由于平台的转变⽽转变,没有移植性⼯具包来处理平台相关的功能。
5.VisualBasic
优点:整洁的编辑环境。易学、即时编译导致简单、迅速的原型。⼤量可⽤的插件。虽然有第三⽅的DirectX插件,DirectX7已准备提供VisualBasic的⽀持。
缺点:程序很⼤,⽽且运⾏时需要⼏个巨⼤的运⾏时动态连接库。虽然表单型和对话框型的程序很容易完成,要编写好的图形程序却⽐较难。调⽤Windows的API程序⾮常笨拙,因为VB的数据结构没能很好的映射到C中。有OO功能,但却不是完全的⾯向对象。
移植性:⾮常差。因为VisualBasic是微软的产品,你⾃然就被局限在他们实现它的平台上。
6.Java
Java是由Sun最初设计⽤于嵌⼊程序的可移植性“⼩C++”。在⽹页上运⾏⼩程序的想法着实吸引了不少⼈的⽬光,于是,这门语⾔迅速崛起。事实证明,Java不仅仅适于在⽹页上内嵌动画—它是⼀门极好的完全的软件编程的⼩语⾔。“虚拟机”机制、垃圾回收以及没有指针等使它很容易实现不易崩溃且不会泄漏资源的可靠程序。
虽然不是C++的正式续篇,Java从C++中借⽤了⼤量的语法。它丢弃了很多C++的复杂功能,从⽽形成⼀门紧凑⽽易学的语⾔。不像
C++,Java强制⾯向对象编程,要在Java⾥写⾮⾯向对象的程序就像要在Pascal⾥写“空⼼粉式代码”⼀样困难。
优点:⼆进制码可移植到其他平台。程序可以在⽹页中运⾏。内含的类库⾮常标准且极其健壮。⾃动分配合垃圾回收避免程序中资源泄漏。⽹上数量巨⼤的代码例程。
缺点:使⽤⼀个“虚拟机”来运⾏可移植的字节码⽽⾮本地机器码,程序将⽐真正编译器慢。有很多技术(例如“即时”编译器)很⼤的提⾼了Java的速度,不过速度永远⽐不过机器码⽅案。早期的功能,如AWT没经过慎重考虑,虽然被正式废除,但为了保持向后兼容不得不保留。越⾼级的技术,造成处理低级的机器功能越困难,Sun为这门语⾔增加新的“受祝福”功能的速度实在太慢。
移植性:最好的,但仍未达到它本应达到的⽔平。低级代码具有⾮常⾼的可移植性,但是,很多UI及新功能在某些平台上不稳定。
7.创作⼯具
多数创作⼯具有点像VisualBasic,只是它们⼯作在更⾼的层次上。⼤多数⼯具使⽤⼀些拖拉式的流程图来模拟流程控制。很多内置解释的程序语⾔,但是这些语⾔都⽆法像上⾯所说的单独的语⾔那样健壮。
优点:快速原型—如果你的游戏符合⼯具制作的主旨,你或许能使你的游戏跑得⽐使⽤其他语⾔快。在很多情况下,你可以创造⼀个不需要任何代码的简单游戏。使⽤插件程序,如Shockware及IconAuthor播放器,你可以在⽹页上发布很多创作⼯具⽣成的程序。
缺点:专利权,⾄于将增加什么功能,你将受到⼯具制造者的⽀配。你必须考虑这些⼯具是否能满⾜你游戏的需要,因为有很多事情是那些创作⼯具⽆法完成的。某些⼯具会产⽣臃肿得可怕的程序。
移植性:因为创作⼯具是具有专利权的,你的移植性以他们提供的功能息息相关。有些系统,如Director可以在⼏种平台上创作和运⾏,有些⼯具则在某⼀平台上创作,在多种平台上运⾏,还有的是仅能在单⼀平台上创作和运⾏。[5]
8.C#
C#是⼀种精确、简单、类型安全、⾯向对象的语⾔。其是.Net的代表性语⾔。什么是.Net呢?按照微软总裁兼⾸席执⾏官Steve Ballmer把它定义为:.Net代表⼀个集合,⼀个环境,它可以作为平台⽀持下⼀代Internet的可编程结构。
C#的特点:
1.完全⾯向对象。
2.⽀持分布式。
3.⾃动管理内存机制。
4.安全性和可移植性。
5.指针的受限使⽤。
6.多线程。和Java类似,C#可以由⼀个主进程分出多个执⾏⼩系统的多线程。
C#是在Java流⾏起来后所诞⽣的⼀种新的程序开发语⾔。
30分享举报
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论