主流计算机编程语言之父---集锦_计算机编程之父-程序员宅基地

技术标签: 语言  计算机语言  fortran  pascal  编程  basic  unix  

主流计算机编程语言之父---集锦 收藏

1)J. Backus的FORTRAN语言

      早期电脑都直接采用机器语言,即用“0”和“1”为指令代码来编写程序,难写难读,编程效率极低。为了方便编程,随即出现了汇编语言,虽然提高了效率,但 仍然不够直观简便。从1954年起,电脑界逐步开发了一批“高级语言”,采用英文词汇、符号和数字,遵照一定的规则来编写程序。高级语言诞生后,软件业得 到突飞猛进的发展。

1953年12月, IBM公司程序师约翰·巴科斯(J. Backus) 写了一份备忘录,建议为IBM704设计一种全新的程序设计语言。巴科斯曾在“选择顺序控制计算机”(SSEC)上工作过3年, 深深体会到编写程序的困难性。他说:“每个人都看到程序设计有多昂贵,租借机器要花去好几百万,而程序设计的费用却只会多不会少。”

巴科斯的目标是设计一种用于科学计算的“公式翻译语言”(FORmula TRANslator)。他带领一个13人小组,包括有经验的程序员和刚从学校毕业的青年人,在IBM704电脑上设计出编译器软件, 于1954年完成了第一个电脑高级语言——FORTRAN语言。1957年,西屋电气公司幸运地成为FORTRAN的第一个商业用户, 巴科斯给了他们一套存储着语言编译器的穿孔卡片。 以后,不同版本的FORTRAN纷纷面世,1966年,美国统一了它的标准,称为FORTRAN 66语言。 40多年过去,FORTRAN仍然是科学计算选用的语言之一,巴科斯因此摘取了1977年度“图林奖”。

2)J. Kemeny和T.Kurtz的BASIC语言

     60年代中期, 美国达特默斯学院托马斯·卡茨(T.Kurtz)(左)和约翰·凯梅尼 (J. Kemeny)(右) 认为,象FORTRAN那样的语言都是为专业人员设计,而他们希望能为无经验的人提供一种简单的语言,特别希望那些非计算机专业的学生也能通过这种语言学 会使用电脑。于是, 他们在简化FORTRAN的基础上, 研制出一种 “初学者通用符号指令代码”(Beginners All purpose Symbolic Intruction Code),简称BASIC。由于BASIC语言易学易用, 它很快就成为最流行的电脑语言之一,几乎所有小型电脑和个人电脑都在使用它。经过不断改进后,它一直沿用至今,出现了象QBASIC、VB等新一代 BASIC版本。

3)D.Ritchie & K. Thompson 和他们的C语言

    1983年度的 “图林奖” 则授予了AT&T贝尔实验室的两位科学家邓尼斯·里奇 (D.Ritchie)(左)和他的协作者肯·汤姆森(K. Thompson)(右),以表彰他们共同发明著名的电脑语言C。C语言现在是当今软件工程师最宠爱的语言之一。

里奇最初的贡献是开发了UNIX操作系统软件。他说,这里有一个小故事:他们答应 为贝尔实验室开发一个字处理软件, 要求购买一台小型电脑PDP-11/20,从而争取到10万美元经费。可是当机器购回来后,他俩却把它用来编写UNIX系统软件。UNIX很快有了大量追 随者,特别是在工程师和科学家中间引起巨大反响,推动了工作站电脑和网络的成长。1970年, 作为UNIX的一项“副产品”,里奇(左图)和汤姆森(中图)合作完成了C语言的开发,这是因为研制C语言的初衷是为了用它编写UNIX。这种语言结合了 汇编语言和高级语言的优点,大受程序设计师的亲睐。

5)N. Wirth和PASCAL语言

 

    1971年,瑞士联邦技术学院尼克劳斯·沃尔斯(N. Wirth)教授发明了另一种简单明晰的电脑语言,这就是以帕斯卡的名字命名的PASCAL语言。PASCAL语言语法严谨,层次分明,程序易写,具有很 强的可读性,是第一个结构化的编程语言。它一出世就受到广泛欢迎,迅速地从欧洲传到美国。沃尔斯一生还写作了大量有关程序设计、算法和数据结构的著作,因 此,他获得了1984年度“图林奖”.

   6) B.Stroustrup和C++语言

      1983年, 贝尔实验室另一研究人员比加尼·斯楚士舒普 (B.Stroustrup),把C语言扩展成一种面向对象的程序设计语言C++。如今,拥有庞大的使用群体,数以百万计的程序员用它来编写各种数据处 理、实时控制、系统仿真和网络通讯等软件,成为开发高性能软件及程序的首选语言。斯楚士舒普说:“过去所有的编程语言对网络编程实在太慢,所以我开发 C++,以便快速实现自己的想法,也容易写出更好的软件。”1995年,《BYTE》杂志将他列入“计算机工业20个最有影响力的人”的行列。

7)James Gosling和JAVA技术

1991年 ,SUN MicroSystem 公司的 Jame Gosling、 Bill Joe等人 , 为在电视 ,控制烤面包箱等家用消费类电子产品上进行互式操作而开发了一个 名为 Oak的 软 件 (即一 种 橡 树 的 名 字 ), 但当 时 并 没 有 引 起 人 们 的 注 意 ,直 到 1994年下 半 年 ,Internet的 迅猛发 展 ,环球信息网 WWW的快速增长 ,促 进 了 Java 语 言 研 制 的 进展 ,使 得 它 逐 渐 成为 Internet上受欢迎的开发与编程语言 ,一 些著 名 的 计 算 机 公司 纷 纷 购 买 了 Java 语言 的 使 用 权 .如今的JAVA,已发展为一个庞大的开发体系,作为一种面向对象,面向网络,面向企业应用的成熟技术,无疑是上个世纪未直至今天一个成功的典范.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/junecau/article/details/6377082

智能推荐

关于瑞萨RH850中断的异常处理函数地址Exception Handler Address的理解_瑞萨 重定向中断-程序员宅基地

文章浏览阅读2.5k次。博主联系方式:QQ:1256153255 ,邮箱:[email protected]点击这里可申请RH850开发板点击这里可申请瑞萨E1仿真器RH850有两种定义中断方法:1.直接向量法:Direct Vector Method对于Direct Vector Method,Exception Handler Address = base address + offset address,base address是指 RBASE or EBASE register但是Direct Vecto_瑞萨 重定向中断

Ensemble_VEP--vcf文件注释_vep ensemble-程序员宅基地

文章浏览阅读2k次。环境配置++++++++++++++++++++将以下内容添加到~/.bash_profile文件中 ::export PATH=/software/samtools/samtools-1.9/htslib-1.9:/software/perl/perl-v5.28.1/bin/:$PATHPERL5LIB=${PERL5LIB}:/software/Vep/src/ensembl/mod..._vep ensemble

Xamarin之webview控件_xamarin webview-程序员宅基地

文章浏览阅读4.4k次。在Xamarin中有一些Forms原生不太好实现的内容可以考虑使用HTML、Javascript、CSS那一套前端技术来实现,使用WebView来承载显示本地或网络上的HTML文件。不像OpenUri方法,不是将用户带到设备中的本地浏览器里去,而是用WebView直接在App内部显示HTML内容。该文档由下面几节内容组成:内容(Content)——WebView支持各种内容元素,包括嵌入式HTML..._xamarin webview

云服务器ECS入门-程序员宅基地

文章浏览阅读5.0k次,点赞3次,收藏30次。云服务器ECS入门_云服务器ecs入门

Poj 1042 gone fishing-程序员宅基地

文章浏览阅读59次。【题目大意】题目就是在给定钓鱼时间,湖泊之间转移的时间,各湖泊初始鱼量,各湖泊鱼量的下降指数求在规定时间内的最大钓鱼量。【解题思路】本题目采用枚举+贪心的方法可以求解出来。首先我们需要对题目进行一些改造,我们需要枚举从第一个湖泊到第n个湖泊之间各种可能情况,然后再这些情况中选出最大值,输出结果。由于到各个湖泊的时间有所差异,我们首先需要把耽搁在转移路径上的时间除去,然后在剩余时间内确定..._gone fishing wrong answer

Hi3516CV500中NFS配置和使用_libsecurec.so-程序员宅基地

文章浏览阅读1.4k次。最近在调试3516cv500板子,第一次调试通过后由于其他原因,再次调试时发现又有些同样的问题出现,由于没有记录导致时间的二次浪费,所以这一次把其中出现的问题记录下来,免得再出错。# uname -aLinux (none) 4.9.37 #1 SMP Tue Mar 5 21:37:32 CST 2019 armv7l GNU/Linux#ifconfigeth0 Li..._libsecurec.so

随便推点

注意力机制SE、CBAM、ECA、CA的优缺点_ca注意力机制和cbam注意力机制哪个好-程序员宅基地

文章浏览阅读1.7w次,点赞27次,收藏198次。注意力机制模块可以帮助神经网络更好地处理序列数据和图像数据,从而提高模型的性能和精度。_ca注意力机制和cbam注意力机制哪个好

Embedding Multimodal Relational Data for Knowledge Base Completion理解-程序员宅基地

文章浏览阅读1.2k次。Embedding Multimodal Relational Data for Knowledge Base CompletionPouya Pezeshkpour et al. , Proceddings of the 2018 Conference on Empirical Methods in Natural Language Processing_embedding multimodal relational data for knowledge base completion

pytorch-gpu环境安装,适用于深度学习,yolov3_pytorchgpu yolov3-程序员宅基地

文章浏览阅读576次。本文采用的配置win10+torch1.5①首先需要安装cuda+cudnn,考虑到cuda和cudnn版本兼容问题,还有官网下载速度极慢,直接csdn搜索cuda10.2 cudnn,去某宝用券下载就行····测试是否安装成功cmd下输入命令nvcc-V····cudnn压缩包解压出的三个文件夹里的文件,需要分别复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2对应的文件夹中。····然后配置环境变量,在path中添加C:\Pro_pytorchgpu yolov3

Java开发中常见的危险信号(上)_java说说常见信号有哪些,表示什么含义-程序员宅基地

文章浏览阅读2.9k次,点赞5次,收藏4次。本文来源于我在InfoQ中文站原创的文章,原文地址是:http://www.infoq.com/cn/news/2013/12/common-red-flags-in-java-1Dustin Marx是一位专业软件开发者,从业已经有17年的时间,他拥有电子工程学士学位,还是一位MBA。Dustin维护着一个博客,专门介绍软件开发的各个主题。近日,他撰文谈到了Java开发中常见的危险信号,提出了在_java说说常见信号有哪些,表示什么含义

php_crond:一个基于多进程的定时任务系统-支持秒粒度的任务配置_php5.6定时任务-程序员宅基地

文章浏览阅读3.5k次。php_crond基于多进程的定时任务管理器,支持秒级别的定时任务特性通过配置文件管理所有定时任务 支持秒级的定时任务粒度 使用symfony/process进行进程管理 使用React/event-loop执行事件循环 提供http服务,远程查看和操作php_crond(参见:API文档)执行启动crondphp bin/crond.php在后台启动crond..._php5.6定时任务

【java】按照斗地主的规则,完成洗牌发牌的动作。-程序员宅基地

文章浏览阅读2.2k次,点赞2次,收藏5次。具体规则:组装54张扑克牌将54张牌顺序打乱玩家参与游戏,三人交替摸牌,每人17张牌,最后三张留作底牌查看三人各自手中的牌(按照牌的大小排序)、底牌代码给出(详解):import java.util.*;/** * @author wangtengfei * @date 2019/7/4 10:12 */public class Demo2 { public s...

推荐文章

热门文章

相关标签