计算机语言分为哪三类?计算机语言包括哪些
一、计算机中主要的程序设计语言有哪几种
机器语言,是最低级的语言,是由二进制码组成,是最早期的一种程序语言;汇编语言,用助记符和地址符代替了二进制码,更易于编写;高级语言,相对于汇编语言又上升了一步,更接近于自然语言,如C语言、Pascal、Java、C#等都是高级语言。计算机语言(ComputerLanguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
二、为什么计算机语言不用中文
学了多年计算机,还是在搬砖的码农,还是有资格来回答这个问题的。
一句话解答:计算机语言底层其实是二进制,由于计算机是由西方国家发明,并且在英语国家完成工业化,互联网,信息化过程,所以大部分计算机语言是英语。其实现在有中文的编程语言,但是使用率不广,没有产生大的影响。
计算机语言发展一分钟介绍
1、机器语言:最初的计算机所使用的是由“0”和“1”组成的二进制序列,二进制是计算机的语言的基础。所以最初的计算机只能被少部分人使用,想一想,你需要用一大堆1010101010000110101来指挥那台巨大的机器,在另一边的纸带上给你输出同样的一对1010101110101010001010的数据,真的是头疼。
世界上第一台电子计算机:
旁边的箱子柜子都是这台计算机的组成部分,就是没有显示器。
2、汇编语言:汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,这也提高了语言的记忆性和识别性。
大概就是如上图所示。
反正我也是看不懂的。这里面包含了很多二进制,八进制,十六进制的数字,寄存器、控制器,加法器的简写。
汇编语言的特点是和机器强相关,也就是说,什么样的机器,就会规定特定的汇编语言。比如现在比较广泛的X86,基于X86处理器的汇编语言,就和X86架构密切相关。
在这个层次,使用中文会出现两个问题,第一就是中文是象形文字,占用存储资源较多,一个中文占用两个字节,相对于字母来讲已经是两倍了。二是,由电子计算机的诞生地决定了,芯片厂商基本都是西方国家,比如:Intel,AMD,TI(德州仪器)。
3、高级计算机语言:随着计算机使用的扩大,需要一种不依赖于特定型号的计算机的语言,用这种语言编写的程序能在在各种平台都正常运行。这就开始了计算机高级语言的发展。
计算机语言一分钟简史
一、元老级语言
1、Fortran(公式翻译语言),目前公认为世界上第一个正式的计算机通用的语言。
1954年约翰·贝克斯在纽约正式对外发布,称为FORTRANⅠ,运行在IBM704计算机上。
2、ALGOL,是算法语言(ALGOrithmicLanguage)的简称,目前还在科学计算领域活跃。1958年5月27日至6月1日,GAMM(德国的应用数学和力学学会)和ACM(国际计算机学会)各有4人出席在苏黎世举行第一次设计会议,确定了ALGOL语言。
3、COBOL,广泛使用于企业的商务场景,于1961年由美国数据系统语言协会公布。
二、主宰级语言
先给大家上一个图:2018年9月的世界编程语言排行榜
这里的新闻点是,万年前三:Java、C、C++终于被Python打败,Python已经冲进了第三名。
TIOBE排行榜是根据互联网上有经验的程序员、课程和第三方厂商的数量,并使用搜索引擎(如Google、Bing、Yahoo!)以及Wikipedia、Amazon、YouTube统计出排名数据,只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好,或者一门语言所编写的代码数量多少。能判断一下现在编程语言的流行趋向。比如:Java一直占据第一的位置,是因为它是最广泛的面向对象的编程语言。下面为大家简单的介绍一下主要语言的诞生时间和语言大佬。
1、Java,1996年1月,Sun公司发布了Java的第一个开发工具包(JDK1.0),这是Java发展历程中的重要里程碑,标志着Java成为一种独立的开发工具。Java是由Sun公司在1991年成立了一个称为Green的项目小组,小组成员包括:帕特里克、詹姆斯·高斯林、麦克·舍林丹等,在加利福尼亚州门洛帕克市沙丘路的一个小工作室里面研究开发新技术,专攻计算机在家电产品上的嵌入式应用研究的副产品,最开始叫Oak。
其实名字不重要。SUN的其实是StanfordUniversityNetwork的缩写,斯坦福校园网。Google创始人拉里·佩奇和谢尔盖·布林,都曾攻读过斯坦福大学计算机科学博士学位。2、C,1972年,美国贝尔实验室的D.M.Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言。
20世纪60年代,美国AT&T公司贝尔实验室(AT&TBellLaboratory)的研究员KenThompson闲来无事,手痒难耐,想玩一个他自己编的,模拟在太阳系航行的电子游戏——SpaceTravel。他背着老板,找到了台空闲的机器——PDP-7。但这台机器没有操作系统,而游戏必须使用操作系统的一些功能,于是他着手为PDP-7开发操作系统。后来,这个操作系统被命名为——UNIX。现在你们知道程序员无聊了都会干嘛了吧。3、Python、Python的创始人为GuidovanRossum。1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。之所以选中Python(大蟒蛇的意思)作为该编程语言的名字,是因为他是一个叫MontyPython的喜剧团体的爱好者。
又是一个无聊的假期的结果。综上所述,为什么编程语言都是英语
自计算机科学发展以来,主要的成果均由英语国家或英语使用率非常大的国家(从编程语言来看,美国、英国、德国、荷兰等)的计算机科学家、专家完成。所以,自然会偏向于使用更便于自己沟通的语言了确定编程语言规范。
中文编程语言:易语言
易语言是一门以中文作为程序代码编程语言,其以“易”著称,创始人为吴涛。易语言早期版本的名字为E语言。其最早的版本的发布可追溯至2000年9月11日。创造易语言的初衷是进行用中文来编写程序的实践,方便中国人以中国人的思维编写程序,并不用再去学习西方思维。
创建者:大连大有吴涛易语言软件开发有限公司(2004年前吴涛独立开发,2004年成立公司)
个人意见:中文编程语言有是有,只是这个使用范围不广,其实也不太符合程序员世界的简单、通用、资源控制、可纳入到现有语言和编译系统的交流原则了。
三、计算机高级语言特点是什么常见的语种有哪些
计算机语言(ComputerLanguage)指用于人与计算机之间通讯的语言。计算机语言是人与计算机之间传递信息的媒介。计算机系统最大特征是指令通过一种语言传达给机器。为了使电子计算机进行各种工作,就需要有一套用以编写计算机程序的数字、字符和语法规划,由这些字符和语法规则组成计算机各种指令(或各种语句)。这些就是计算机能接受的语言。
一、计算机高级语言特点
高级语言是从人类的逻辑思维角度出发的计算机语言,抽象程度大大提高,需要经过编译成特定机器上的目标代码才能执行,一条高级语言的语句往往需要若干条机器指令来完成。高级语言独立于机器的特性是靠编译器为不同机器生成不同的目标代码(或机器指令)来实现的。
二、计算机高级语言分类
分类方法:程序的执行方式
类别:编译型语言和解释型语言
1.编译型语言:
使用专门的编译器针对特点平台将高级语言一次性翻译成可被该平台硬件执行的机器码,并包装秤该平台可识别的可执行程序的格式,该过程叫编译Compile,可执行程序可以脱离开发环境,在特定平台独立运行。
有些程序编译结束后,还可能需要对其他目标代码进行连接,将多个目标代码模块组成最终的可执行程序。
优点:可以脱离开发环境独立运行,执行效率比较高;
缺点:可执行程序不能跨平台;
2.解释型语言:
使用解释器对源代码逐行解释成特定平台的机器码并执行,相当于把编译型语言中的编译和解释过程混合在一起同时完成。
缺点:每次执行该语言的程序都需要进行一次编译,效率低,不能脱离解释器独立运行;
优点:可实现跨平台执行;
三、计算机常见语种
常见语言
1.C
语言C语言是DennisRitchie在七十年代创建的,它功能更强大且与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
呢?按照微软总裁兼首席执行官SteveBallmer把它定义为:.Net
代表一个集合,一个环境,它可以作为平台支持下一代Internet的可编程结构。C#的特点:
1.完全面向对象。
2.支持分布式。
3.自动管理内存机制。
4.安全性和可移植性。
5.指针的受限使用。
6.多线程。和Java类似,C#可以由一个主进程分出多个执行小系统的多线程。
C#是在Java流行起来后所诞生的一种新的程序开发语言。