① 为什么编程都是英文为什么中文不能编程序
编程都是英文,中文不能编程序的原因:
1、编程的起源不在中国 : 计算机的起源在美国,自然而然的优先使用了英文。而汉字太多,多音字也很多,用命令的时候会变得很慢。
2、流通性差 : 英语目前还是全世界最通用的语言(虽然现在全世界都在学中文,但还需要个周期),几乎也成为了不同语种国度之间的共同语言,那中文相对来说流通性还是要差上许多,所以程序员们在互相交流的时候会难达成共识,就无法共同进步。
3、体系不够成熟 : 尽管机器只有0和1那么简单,但要用一种语言通过0和1表达人类的所有想法,设计这样一个庞大的体系谈何容易。现在汇聚的全人类智慧发展了几十年的高级语言,依然还是存在很多问题的。
4、成本高 : 想用中文编程,只能有两种方式,一是在原有硬件基础上,将中文编程转成英文编程再转成机器语言;二是要重新定义硬件,重新设计制作符合中文编程的硬件。那这两种方式的成本是相当高的。
(1)编程语言起源图扩展阅读
编程语言的起源和发展
第一代语言:机器语言
机器语言(machine language)是一种指令集的体系。这种指令集,称机器码(machine code),是电脑的CPU可直接解读的数据。
第二代语言: 汇编语言
汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。在汇编语言中,用助记符代替机器指令的操作码,用地址符号或标号代替指令或操作数的地址。
在不同的设备中,汇编语言对应着不同的机器语言指令集,通过汇编过程转换成机器指令。特定的汇编语言和特定的机器语言指令集是一一对应的,不同平台之间不可直接移植。
第三代语言:
结构化语言、面向对象语言。
② 怎么出现编程的,编程语言,是关于起源问题的
编程语言俗称“计算机语言”,种类非常的多,总的来说可以分成机器语言、汇编语言、高级语言三大类。电脑每做的一次动作,一个步骤,都是按照已经用计算机语言编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。所以人们要控制计算机一定要通过计算机语言向计算机发出命令。 目前通用的编程语言有两种形式:汇编语言和高级语言。
详见:网络 http://ke..com/link?url=PP1_GS0X_MIFkWeMeL8JGTSo_WeMI72u9fWds0KaSlOFIOsaXKeo_BNaoGrQdkYG
③ 编程语言是用什么语言开发的
这个很简单,读读编译原理就明白了
④ 编程语言是谁发明的
多年前,美国军方要给一种计算机语言取个名字,大家提了许多动听的名字都觉的不太中意,后来有人提议,将这种计算机语言命名为:Ada。没有人提出异议。为什么大家都同意用这个名字呢?这还得从100多年前说起。Ada是一名充满幻想的女孩1815年12月10日,英国。一个女孩降生了,她的母亲,一个有着杰出数学天赋的女人,人称“平行四边形公主”;父亲,一个狂热的充满幻想的诗人
--拜伦。可是女孩从生下来就从没见过父亲。这位狂热的、浪漫的诗人结婚不久便离开了英国,再也没有回来。母亲给她起了个动听的名字:阿达(Ada)。那
位诗人尽管离开了英国,当听说自己有了一个女儿时非常的高兴,可也非常的懊悔,但他始终没有回去看女儿一眼,只能用诗来表达自己对女儿的思念和歉疚,他的
一首诗的名字就叫《阿达》。狂热的诗人36岁死于希腊,临死前唯一牵挂的就是阿达。而此时的阿达,跟随着母亲生活,阿达不仅继承了母亲的数学天赋,也秉承了父亲的性格,小小年纪也充满幻想,幻想成为一个大科学家、大诗人。母亲怕她走父亲的老路,竭力想改变她对诗歌的热爱,但无能为力,阿达曾对母亲说:“没有诗,要数学干什么?”当时的英国,科学风气盛行,包括许多妇女都在杂志上发表文章探讨数学等问题。阿达17岁那年,母亲请了着名的数学家摩根做她的老师,摩根就是现代计算
机数学基础布尔代数的创始人之一。在他的影响下,阿达的数学天赋得到了充分的展现。同时阿达还被介绍到当时着名的翻译家——为剑桥大学工作的玛丽·索菲利
那里学习。玛丽由衷地喜欢这个聪明而又刻苦,且充满幻想的女孩,也非常地支持并鼓励她在数学方面发展。此时的阿达对机械、建筑也充满兴趣,畅游在科技王
国,就像少女在花园中徜徉,乐此不疲,流连忘返。她还同当时的一些着名科学家保持密切的联系,如法拉第等。结识巴贝奇1834年11月,阿达在一次宴会上遇到了一位对其一生产生重要影响的人——查尔斯·巴贝奇。此时的巴贝奇正到处游说他的计算机设想。当时的人们很少
有人理会他,以为他是在“痴人说梦”。同样,他也将自己的设想全盘托出,讲给阿达听。此时的阿达只有18岁,但她听完他的设想并看了他的文稿后,彻底地领
会了他的设想,并深深地为之陶醉。凭着她深厚的科学功底和丰富的想象力,她认为这是一个伟大的设想,世界将因之而改变。面对今天的现实,我们不能不为阿达的洞察力所折服,她的这一预言可是在一个半世纪以前提出的啊!参与研制计算机共同的追求,使两人成了忘年交,阿达的母亲曾试图阻止阿达与巴贝奇的交往,认为巴贝奇不过是个江湖骗子,不会给阿达好影响。这点阻力对于秉承父亲性格的阿达,算不了什么,她完全投入到了计算机的研制中去了,负责为巴贝奇设想中的计算机编写软件。1841年,巴贝奇在意大利都灵向人们详细地介绍他的设想,希望能引起大家的重视,但无人喝彩。他用法语出版的论文也不受人欢迎,但阿达执意要将其翻
译成英文。翻译结束后阿达将文稿给巴贝奇看,巴贝奇发现:阿达不仅在论文中加入她特有的想象,而且补充了许多阿达独到的见解。阿达特别强调存储程序和数据
的重要性,而这与今天的计算机技术不谋而合,并且拟订了一份设计图,这份设计图被公认为世界上第一个计算机程序。阿达在文中对计算机应用前景的展望,连巴
贝奇自己都从来没有想到过。如:阿达认为,计算机应该发展成一个可用符号来表示任何事物的装置,这不正是今天的编程语言吗?她还预见到计算机可以用在纺织
机械上,用卡片存储复杂的花样、可以用来绘图、演奏音乐。这些预言表明阿达是现代人工智能技术的拓荒者。阿达对论文的修改,使巴贝奇深感惊奇和鼓舞,他对别人称赞说:“阿达是个充满想象力和洞察力的女孩”,“她是个数字女神”。她将诗歌的激情融入了论文之中。 经过阿达翻译后的文稿其内容增加到原来的三倍,论文实际上成了两人合作的产物,但谦逊的阿达在署名的时候,只将自己的名字简单地署为:A.A.L。在后来的一系列论文中,阿达在计算机软件领域做出了许多开创性的贡献:如变量、递归、程序算法的提出等。短暂的一生阿达后来与威廉伯爵结婚,婚后生有三个孩子,但为了研制计算机,她将孩子们都放到母亲那里扶养,这对于一个女性,在当时是不被人理解的,好在丈夫非常
支持她的研究工作,这使她深感欣慰。此时的巴贝奇已是一贫如洗,阿达也付出了许多。长期的研究耗费了大量的心血,身体状况也一天不如一天,疾病时时纠缠着
她,但为了那个美丽的幻想成真,她夜以继日地工作。她的座右铭是:工作是我的报酬。1852年,阿达因癌症去世,同她的父亲一样,年仅36岁,没有等到计算机的诞生。如果她再多活一年,就会看到在瑞典,由乔治和爱德华根据巴贝奇的方案制造出的一台差分机,这不能不说是人类的一个遗憾:第一位软件工程师,却没有看到自己的设想结出的果实。尽管限于当时的制造条件,巴贝奇最终也没有造成理想中的计算机,但他们超前100多年的拓荒,对后来计算机技术的诞生和发展同样产生了深远的影响。当
我们津津乐道ENIAC——第一台数字电子计算机的时候,也不应该忘记人类这一智慧的火花,在这之前的100多年,已经由巴贝奇和阿达点燃了。阿达、巴贝奇两人对计算机事业的贡献就好像火对于人类。他们是钻燧取火的人,是盗得火种的普罗米修斯。让我们记住巴贝奇,也记住这位杰出的女性———阿达(Ada)。用她的名字给一种计算机语言命名,只能寄托我们对她的纪念和钦佩,却远远不能表达出她为计算机技术作出的重要贡献。
___________________________________________
这个只能抄一下了。
⑤ 谁的告诉我java的起源
JAVA介绍
一、前言
‘Java’从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和多 媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计 算机(PC)的关系。那Java究竟有那些特色呢?
Java是一种软件技术
是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言
是一种为 Internet发展的计算机语言
是一种使网页(Web Page)产生生动活泼画面的语言
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
是一种语言,用以产生“小应用程序(Applet(s))”
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
是一种将安全性(Security)列为第一优先考虑的语言
是一种使用者不需花费很多时间学习的语言
是一种突破用户端机器环境和CPU结构的语言
是一种“写一次,即可在任何机器上执行(Write OnceRun Anywhere)”的语言是有史以来,第一套允 使用者将应用程序(Applications)通过Internet从远端的服务器(Remote Server)传输到本地端的机器 上(LocalMachine)并执行
是一种应用程序提供者不需要知道使用者的计算机硬件(如:Sun, Intel, 或MAC等)与软件(如:SW- UNIX, MAC O/S, Windows, 或NT等)环境的语言(Kestenbaum, 1995)。
下面将依序地介绍Java,首先是Java的发展历史与Java语言介绍,其次依序是Java Applet和HotJava的简单介绍。
二、Java FAQ
下面以问答的方式来说明Java的发展历史与其背景(下列内容整理自 Java FAQ list and Tutorial和The Java Language: A White Paper,读者若欲深 入了解,请自行参阅原文):
Java何时开始发展?(When)
最早大概可追溯至1991年四月份,Sun的绿色计划(Green Project)开始着手于发展消费性电子产品(Consumer Electronics),所使用的语言是C、C++、及Oak (为Java语 言的前身),后因语言本身和市场的问题, 使得消费性电子产品的发展无法达到当初 预期的目标,再加上网络的兴起, 绿色计划也因此而改变发展的方向,这已是1994 年了。
为何称之为Java?(Why) "Java"是美国SUN计算机公司Java发展小组历经无数次的激烈讨论之后才被选择出。 生动(Liveliness)、动画(Animation)、速度(Speed)、交互性(Interactivity)为当 初选择名字时所欲表达出的特色。"Java"是在无数的建议中脱颖而出的,而"Java" 不是由几个单字的首字所组成, 而是从许多程序设计师钟爱的热腾腾、香浓咖啡中 产生灵感的。
谁开发了Java?(Who) Java是美国SUN计算机公司Java发展小组开发的,早期的成员(绿色工程)是Patrick Naughton, James Gosling, & Mike Sheridan,而现在大家较为熟悉的成员是James Gosling。
在那里开发了Java?(Where)
也就是问Java的出生地?答案是美国。
如何可以找到所需的Java信息?(How to)
在网路上,您可以连到Sun公司的Java WWW网站,URL是http://java.sun.com/,或是 http://www.javasoft.com/。在那里几乎可以找到您所需要的所有Java信息,但是语 言多少是一个障碍, 至少对某些人而言;没关系,目前国内已有很多个网站提供中文 Java信息。在清华和中科院的FTP站点上有不少有关资料。想象以后应会有更多的站点提供相关信息。
如何才能看到Java的效果?(How Do I)
首先您需要有含有Java解释器的浏览器(Browser),例如:Netscpae公司的Netscape Navigator 2.0以上或是Sun公司的HotJava浏览器,对个人计算机使用者而言,操作 系统需是Windows 95或是Windows NT。
Java是因为撰写C++语言程序时的困难而研制开的,起先,只是一个消费性电子产品 大计划中的一部份,C++语言是当初被考虑采用的,但从一开始的编译问题一直到最 后的一连串问题迫使得放弃C++语言,而有Java语言的产生。Sun是要Java成为一个简 单(Simple)、面向对象的(Object Oriented)、 分布式的(Distributed)、解释的(Interpreted)、健壮的(Robust)、安全的(Secure)、 结构中立的(Architecture Neutral)、可移植的(Portable)、高效能的(High Performance)、多线程的(Multithreaded)、动态的(Dynamic)的程序语言(摘译自 TheJava Language: A White Paper, 1995)。
在Sun的Java语言白皮书中明白地说明上述Java语言的技巧。若以木工为比喻,一个面 向对象的木工,他(她)最主要的重点是即将要做的木椅子,其次才是所需要的工具; 反之;一个以非面向对象的木工,他(她)所关心的只是工具。最近的即插即用(Plug and Play)亦是面向对象设计的重点。 分布式的(Distributed):Java有一个很周全的程薪录JAVA介绍 。
一、
‘Java’从1995年的暑假开始在计算机业界就受到了高度注意,特别是在Internet和 多媒体(Multimedia)相关产品类方面。Java为何有如此这么大的魅力?人作如此的比喻: Java在全球资讯网(World Wide Web, WWW)地位就如同电子表格(Spreadsheet)与个人计 算机TTP和FTP等TCP/IP通讯协定相配合。Java应用程序(Applications) 能在网路上开启及连结使用物件,就如同透过URLs连结使用一个本地文件系统(Local File System)。 健壮的(Robust):由Java所编写出的程序能在多种情况下执行而具有其稳定性。Java与 C/C++最大不同点是Java有一个指针模型(Pointer Model)来排除内存被覆盖(Overwriting Memory)和毁损数据(Corrupting Data)的可能性。
安全的(Secure):Java是被设计用于网络及分布式的环境中,安全性自必是一个很 重要的考虑。Java拥有数个阶层的互锁(Interlocking)保护措施,能有效地防止病 毒的侵入和破坏行为的发生。
结构中立的(Architecture Neutral):一般而言,网络是由很多不同机型的机器所 组合而成的,CPU和作业系统体系结构均有所不同;因此,如何使一个应用程序可以 在每一种机器上执行,是一个难题。所幸,Java的编译器产生一种结构中立的目标 文件格式(Object File Format);这使得编译码得以在很多种处理器中执行。
可移植的(Portable):原始资料型式的大小是被指定的,例如"float"一直是表示一 个32位元IEEE 754浮点运算数字,因绝大多数的CPU都具有此共同特征。程序库属于 系统的一部份,它定义了一些可移植的程序接口,Java本身具备有很好的可移植性。
解释的(Interpreted):Java解释器能直接地在任何机器上执行Java位元码(Bytecodes), 因此在进行程序连结时,时间的节省,这对于缩短程序的开发过程,有极大的帮助。
高效能的(High Performance):Java位元码迅速地能被转换成机器码(Machine Code), 从位元码转换到机器码的效能几乎与C与C++没有分别。
多线程的(Multi threaded):Java语言具有多线程的功能,这对于交互回应能力及 即时执行行为是有帮助的。
动态的(Dynamic):Java比C或C++语言更具有动态性,更能适应时刻在变的环境, Java不会因程序库的更新,而必须重新编译程序。
此外,Hank Shiffman (Making Sense of Java)亦针一般对Java的错误看法及观 念提出他的说明,特在此摘译如下:
"Java是一种编写Web Pages的一种语言,就如同HTML和VRML一样" 事实上,Java并不像是HTML此一类的描述语言(Description Language),而是一种 编程语言(Programming Language)。描述语言标明内容和位置,而编程语言描述一 种产生结果的过程。
2. "Java语言容易学习和使用,不像C、C++和其它程序语言"
Java是一种编程语言。Java容易学吗?Java或许是比C或C++容易学,但仍是一种编程语言,而不是一种描述语言。
3. "Java码是可移植的,但C及C++不是"
Java原代码(Source Code)是比C语言来得可移植一点,差别在于Java的目标码。 Java码在一种机器上进行编译,而能在所有的机器上执行, 只要那部机器上有 Java解释器。
4. "Java能被拓展而在机器上执行任何事情"
理论上,Java Applet (Java小应用程序)能做任何事情,如模拟3D VRML模型、播放电影、产生音频....等。但事实上,一个小应用程序(Applet)仅能在那一页上被执行,而无法在那一页之外执行。同时,Java亦受限于程序库的功能。
5. "Java是适合于建立大型的应用程序"
如果Java适合于大型程序,则Java就不适合应用于Web浏览器了。第一个商业 性的Java Applets (Applix's Java-Based Spreadsheet) 并不是全然使用Java, 它只使用Java作为用户接口,而所有的处理工作, 是用CGI码。
6. "Java是解释执行的,Basic是解释执行的,因此Java=Basic"
虽然Java的确是使用解释器,但事实上,Java则与C或C++等完全编译语言较为相近,但与Basic或APL等完全解译语言较不相近。
7. "Java删除了CGI命令稿(Scripts)和程序的需求"
Java Applets将会取代部份CGI的用途。在有些情况,Java Applets能够取代一些服务器端代码(Server-Side Code),但大多数的情况,基于安全性理由或是效 能的考虑,Java仍无法全然取代CGI Scripts。
8. "Netscape's JavaScript是与Java有相关"
除了名称之外,Java和JavaScript是有一点点相关。JavaScript是一种命令稿语 言,是可以在HTML页中使用。Java码并未出现在HTML中,而在HTML中通过一个链 结来链结编译码组。Java和JavaScript之间的关系就如同C语言和C Shell一般。
⑥ 编程语言的历史来源
C语言的起源以及类似C语言的编程语言的历史简直不要太漫长,我简单总结列表如下:
CPL(Combined Programming Language) - 1963
CPL是1963年剑桥大学发明的
BCPL(Base Combined Programming Language) - 1967
剑桥的Matin Richards 对CPL做了简化,推出了BCPL
B(B Programming Language) - 1969
贝尔实验室的Ken Thompson(肯·汤普森) 对BCPL又做了改进,设计出了简单的且接近硬件的B语言,并用B语言写了第一个UNIX OS
C(C Programming Language) - 1972
贝尔实验室的另外一个人Dennis MacAlistair Ritchie(D.M.Ritchie - DM里奇)在B的基础上设计出了C语言。C 保持了B的优点(精炼、接近硬件),又克服了他的缺点(过于简单,数据无类型)
C++(C plus plus Programming Language) - 1983
还是贝尔实验室的人,Bjarne Stroustrup(本贾尼·斯特劳斯特卢普) 在C语言的基础上推出了C++,它扩充和完善了C语言,特别是在面向对象编程方面。一定程度上克服了C语言编写大型程序时的不足。
Java(Java Programming Language) - 1995
Sun公司的Patrick Naughton的工作小组研发了Java语言,主要成员是James Gosling(詹姆斯·高斯林)
C#(C Sharp Programming Language) - 2000
Microsoft公司的Anders Hejlsberg(安德斯·海尔斯伯格)发明了C#,他也是Delphi语言之父。
⑦ 英语不好可以学习编程吗
编程入门英语不好不用担心
对于初学编程,或者一般的软件开发,并不需要多高深的英语水平,想要学会编程,简单的初高中英语水平足够了。即使是一些英语比较好的同学,在看一些程序语言也会有晕头转向的时候,所以初学的小伙伴别担心,能看懂,会用工具翻译就OK。
现在的程序开发环境又很友好,基本上打开之后不需要怎么配置,直接撸代码就行。程序语言无外乎顺序、判断和循环语句,写一些简单的程序毫无压力,所以需要记住的英文其实并不多。为什么这么说呢?可以简单以Java为例。实际上Java本身需要的英文单词,学名关键词或者保留字,也就几十个。
也就是说,初期学习,我们只需要记住这几十个单词就可以写程序。这些关键词而且一点也不难记,实际上也用不着刻意地去记,多写就熟悉了。
但后期深入的学习中就要掌握一门编程语言提供的程序资源了。这时候用到的英语单词会比较多些,不过只要我们多用google翻译,基本上懂得它的意思,并在使用中渐渐加深理解,用多了自然就熟悉了。
编程提高需要学习英语
对于初学者来说,可以借助一些翻译软件,加上需要记住的关键词数量并不多,没有太大的问题但是想往更深处学习,这显然不足以解决所有问题。在学习编程时,有很多的学习资料是英文的,经过翻译的,但翻译中难免会有错误。所以英语平时要加强学习,不管找工作,还是升学,英语始终是基本功。学习的路上总会遇到各种各样的困难,遇到困难的时候,缺什么补什么,从一天背五个单词开始,慢慢积累。
想要在技术一途走得更远,熟练的英文是不可或缺的基本功。英语好可以最快地了解科技的最新动态,最早学习新技术。领先一步就可能步步领先,英语好是成为大牛的不可或缺的东西。编程与英语是相辅相成的,英语不好不影响学习编程。但要越往后走,英文的重要性会越发的凸显出来。
所以对于这个问题,只有一句话,只管去学,别问这么多。当你学习编程已经到了某一程度,并且依然热爱编程,就会发现,现在有动力去学那以前觉得枯燥无味的英语和数学了。同时,要坚信学编程可以提高英语和数学能力!
⑧ 各种编程语言是怎么写出来的
这问题已经涉及到计算机的起源。要完全解答人类用100年时间。
1,硬件是什么。不同的硬件作用不同。
2,计算机的硬件从半导体开始。
简单的讲,由于半导体的发现,人们发现,当给些电他,他会做出相对应的变化,就是说电信号会改变。当知道这些规律和利用这些规律之后做出来的硬件,例如CPU或者其他什么芯片,有了一些信号变化的规律,就是已经拥有一套类似指令集的东西了。
3,机器语言。通过基于这套指令集写出来的一系列指令,就是程序,可以利用来计算了。这就是机器语言。
4,机器语言跟人类语言相差太远,不方便阅读和书写,于是产生更高级的语言,例如汇编语言,和更更高级的语言,例如C语言等等。这些语言写出来的东西通过编译器,编译成机器语言给机器运行。
5,为了是程序的表达更好理解,更好的表达世界的事物,以及事物直接的关系,消息等面向对象的语言应运而生。例如C++
总结,各种编程语言都要通过各自的编译器,把你看的懂的程序弄成机器看的懂的语言。
回答问题:
1,人类用几代人的时间去把现在这么多语言发展起来,不是一个人能做的。
2,不需要从硬件开始去编出一套语言出来,轮子不需要再发明一次。要站在巨人的肩膀上,各种语言几乎都是用另一套更接近机器的语言编出来的。你要是愿意,可以用C语言去写另一套语言出来。
本人水平有限,不妥之处请高人指出。
⑨ 计算机语言是如何产生的
计算机语言的发展过程
1、机器语言
最初的计算机所使用的是由“0”和“1”组成的二进制数,二进制是计算机的语言的基础。计算机发明之初,计算机只能被少部分人使用,人们需要用0、1组成的指令序列交由计算机执行,对于机器语言的使用与普及都是很令人头疼的问题。对于程序的移植能力几乎没有,从而时间成本,人力成本十分昂贵。但机器语言也不是没有优势,由于这种语言是直接对计算机硬件进行操作,所以在特定型号的计算机上面,运算效率也是很高的,机器语言的出现对于未来的计算机语言发展起到了很好的推动作用,所以机器语言也是第一代计算机语言。
2、汇编语言
汇编语言是在机器语言的基础上诞生的一门语言,用一些简洁的英文字母、符号串来替代一个特定的指令的二进制串,这也提高了语言的记忆性和识别性。对于程序的开发与维护起到了积极作用。汇编语言同样也是直接对硬件进行操作,这样依然局限了它的移植性。但是使用汇编语言针对计算机特定硬件而编制的汇编语言程序,对于计算机硬件的功能和特长的发挥已有了很大进步,它精炼而质量高,所以至今仍是一种常用的程序开发语言。
3、高级语言
从最初与计算机交流的痛苦经历中,人们意识到,应该设计一种这样的语言,这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。经过努力,1954年,第一个完全脱离机器硬件的高级语言—FORTRAN问世了,40多年来,共有几百种高级语言出现,有重要意义的有几十种,影响较大、使用较普遍的有FORTRAN、ALGOL、COBOL、BASIC、LISP、SNOBOL、PL/1、Pascal、C、PROLOG、Ada、C++、VC、VB、Delphi、JAVA等。高级语言的发展也经历了从早期语言到结构化程序设计语言,从面向过程到非过程化程序语言的过程。相应地,软件的开发也由最初的个体手工作坊式的封闭式?生产,发展为产业化、流水线式的工业化生产。
60年代中后期,软件越来越多,规模越来越大,而软件的生产基本上是人自为战,缺乏科学规范的系统规划与测试、评估标准,其恶果是大批耗费巨资建立起来的软件系统,由于含有错误而无法使用,甚至带来巨大损失,软件给人的感觉是越来越不可靠,以致几乎没有不出错的软件。这一切,极大地震动了计算机界,史称“软件危机”。人们认识到:大型程序的编制不同于写小程序,它应该是--项新的技术,应该像处理工程一样处理软件研制的全过程。程序的设计应易于保证正确性,也便于验证正确性。1969年,提出了结构化程序设计方法,1970年,第一个结构化程序设计语言一Pascal语言出现,标志着结构化程序设计时期的开始。
80年代初开始,在软件设计思想上,又产生了一次革命,其成果就是面向对象的程序设计。在此之前的高级语言,几乎都是面向过程的,程序的执行是流水线似的,在一个模块被执行完成前,人们不能干千别的事,也无法动态地改变程序的执行方向。这和人们日常处;理事物的方式是不一致的,对人而言是希望发生一件事就处理一件事,也就是说,不能面向过程,而应是面向具体的应用功能,也就是对象(object)。其方法就是软件的集成化,如同硬件的集成电路一样,生产一些通用的、封装紧密的功能模块,称之为软件集成块,它与具体应用无关,但能相互组合,完成具体的应用功能,同时又能重复使用。对使用者来说,只关心它的接口(输入量、输出量)及能实现的功能,至于如何实现的,那是它内部的事,使用者完全不用关心,C++、VB、Delphi就是典型代表。高级语言的下一个发展目标是面向应用,也就是说:只需要告诉程序你要干什么,程序就能自动生成算法,自动进行处理,这就是非过程化的程序语言。
⑩ C语言的起源和发展
C++源于C语言,而C语言是在B语言的基础上发展起来的。
n 1960年出现了一种面向问题的高级语言ALGOL 60 。
n 1963年英国剑桥大学推出了CPL(Combined Programming Language)语言,后来经简化为BCPL语言。
n
1970年美国贝尔(Bell)实验室的K.Thompson以BCPL语言为基础,设计了一种类似于BCPL的语言,取其第一字母B,称为B语言。
n 1972年美国贝尔实验室的Dennis
M.Ritchie为克服B语言的诸多不足,在B语言的基础上重新设计了一种语言,取其第二字母C,故称为C语言。
n 1980年贝尔实验室的Bjarne
Stroustrup对C语言进行了扩充,推出了“带类的C”,多次修改后起名为C++。以后又经过不断的改进,发展成为今天的C++。
C++改进了C的不足之处,支持面向对象的程序设计,在改进的同时保持了C的简洁性和高效性。