History of program(1950-2020)

1957年

约翰·巴科斯(John Backus)创建了是全世界第一套高阶语言:FORTRAN。

 

John Backus

 

1959年

葛丽丝·霍普(Grace Hopper)创造了现代第一个编译器A-0 系统,以及商用电脑编程语言“COBOL”,被誉为COBOL之母

 

Grace Hopper

 

1964年

约翰·凯梅尼(John Kemeny)和托马斯·库尔茨(Thomas Kurtz)共同开发了BASIC程序语言。

John Kemeny
Thomas Kurtz

1970年

尼克劳斯·维尔特(Niklaus Wirth)发明了Pascal。他亦是Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和运行队伍的重要成员。他的文章Program Development by Stepwise Refinement视为软件工程中的经典之作。他写的一本书的书名Algorithms + Data Structures = Programs(算法+数据结构=程序)是计算机科学的名句。

Niklaus Wirth

1972年

丹尼斯·里奇(Dennis MacAlistair Ritchie)在贝尔实验室的工作时间里感到无聊,所以他决定制作带有花括号的C,并最终取得了巨大的成功。之后,他添加了分段错误和其他开发人员友好功能,以提高生产力。在星期天还有几个小时的时间,他和他在贝尔实验室的朋友决定创建一个名为Unix的操作系统。

Dennis MacAlistair Ritchie

1980年

艾伦·凯(Alan Kay)发明了面向对象的编程,并将其称为Smalltalk,在Smalltalk中,一切都是对象,甚至一个对象也是对象。

Alan Kay

1987年

拉里·沃尔(Larry Wall)在优利工作时开发了Perl和直译器。

Larry Wall

1983年

Jean Ichbiah开发完成Ada计算机语言。它的名字来自Ada Lovelace(上述第2位)。

Jean Ichbiah

1986年

布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。

Brad Cox

1983年

比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)发明了C++,写下了它的早期定义并做出了首个实现。

Bjarne Stroustrup

1991年

吉多·范罗苏姆(Guido van Rossum)认为他不喜欢使用大括号并发明了Python,语法的选择灵感来自Monty Python和Flying Circus。

Guido van Rossum

1993年

Roberto Ierusalimschy和朋友决定设计一款巴西本土的脚本语言Lua。

 

Roberto Ierusalimschy

1994年

拉斯姆斯·勒多夫(Rasmus Lerdorf)为他的个人主页CGI脚本制作了一个模板引擎,就是随后被广泛使用的PHP。

Rasmus Lerdorf

1995年

松本幸弘(まつもとゆきひろ)创造了Ruby。

まつもとゆきひろ

1995年

布兰登·艾克(Brendan Eich)在周末的时候设计了一种语言,用来为世界各地的每一个网页浏览器提供支持。当初这门语言被称为LiveScript,但随着Java变得流行,他们决定将其重命名为JavaScript。

Brendan Eich

1996年

詹姆斯·高斯林(James Gosling)发明了Java,这是第一个真正的面向对象的编程语言。

James Gosling

2001年

安德斯·海尔斯伯格(Anders Hejlsberg)重新发明了Java,并将其称为C#,因为C编程感觉比Java更酷。

Anders Hejlsberg

2005年

David Hanselmeyer Hansen创建了一个名为Ruby on Rails的Web框架,人们不再记得这两者是分开的东西。

David Hanselmeyer Hansen

2006年

约翰·雷西格(John Resig)为JavaScript编写了一个帮助程序库,每个人都认为这是一种语言,并且从互联网上复制和粘贴jQuery代码。

John Resig

2009年

肯·汤普森(Ken Thompson)和罗伯·派克(Rob Pike)决定制作一种像C这样的语言,但是用于更多的安全设备和更适销的产品,并以Gophers作为吉祥物,他们称之为Go。

Ken Thompson and Rob Pike

Graydon Hoare也想要像C这样的语言,他称之为Rust。大家都要求每一个软件都要立即在Rust里面重写。Graydon想要更炫的东西,并开始在Swift上为Apple工作。

 

2012

安德斯·海尔斯伯格(Anders Hjelsberg)想在浏览器中编写C#,他设计了TypeScript,它是JavaScript,但是其中包含更多的Java。(这人又出现了)

Anders Hjelsberg

2013

杰里米·阿什基纳斯(Jeremy Ashkenas)想要像Ruby开发者一样快乐,他创建了CoffeeScript,编译成JavaScript,但看起来更像Ruby。

Jeremy Ashkenas

2014

2010年7月开始,克里斯·拉特纳(Chris Lattner)开始设计Swift。完成基础架构后,带领开发小组陆续完成语法设计、编译器、运行时、框架、IDE和文档等相关工作。这个语言在2014年WWDC大会上公开。

Chris Lattner

转载于:https://www.cnblogs.com/BigWatermelon/p/9902378.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/366789.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于 Nuxt 集成ueditor的一些坑(包括图片上传)前端部分

最近公司接了一个项目,里面用到富文本编辑器,刚开始用的是vue-quill-editor,这个编辑器轻量、好用。最重要的是它有专门正对nuxt的版本,很容易配置,可以放心使用,不用担心bug之类的,遇到问题&am…

linux 线程带参数,Linux中多线程编程并传递多个参数的简单例子

今天上午实验了Linux下的多线程编程,并将多个参数传递给线程要执行的函数。以下是实验程序的源代码:/*********************** pthread.c ***************************/#include #include #include #include #include struct argument{int num;char stri…

*Codeforces989D. A Shade of Moonlight

数轴上$n \leq 100000$个不重叠的云,给坐标,长度都是$l$,有些云速度1,有些云速度-1,风速记为$w$,问在风速不大于$w_{max}$时,有几对云可能在0相遇。每一对云单独考虑。 多动一不动--相对运动。假…

undefined reference 问题各种情况分析

扒自网友文章 关于undefined reference这样的问题,大家其实经常会遇到,在此,我以详细地示例给出常见错误的各种原因以及解决方法,希望对初学者有所帮助。 1. 链接时缺失了相关目标文件(.o) 测试代码如下&a…

Spring交易可见性

在初始化应用程序上下文时,Spring遇到带有Transactional标记的类时会创建代理。 Transactional可以应用于类级别或方法级别。 在类级别应用它意味着该类中定义的所有公共方法都是事务性的。 Spring创建的代理类型,即Jdk代理或CGLIB代理,取决于…

Axios 作弊表(Cheat Sheet)

英文原文链接 GET 请求 // Make a request for a user with a given ID axios.get(/user?ID12345).then(function (response) {console.log(response);}).catch(function (error) {console.log(error);});// Optionally the request above could also be done as axios.get(…

loadrunner post请求

注意:loadrunner参数中的引号,需要自己加"\" post 请求,分为header 和body两个部分处理 header部分比较容易处理,使用函数实现,如web_add_header("pid","1")即可,具体参数可…

2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结

2018-2019-1 20165203 《信息安全系统设计基础》第六周学习总结 教材学习内容总结 重要知识点 I/O:在主存和外部设备(例如磁盘存储器、终端和网络)之间复制数据的过程。输入操作:从I/O设备复制数据到主存。输出操作:从…

linux 使用VI命令怎么删除输入内容,linux系统vi编辑器常用命令及使用方法。

在linux系统中编辑文档我们常用到vi编辑器。vi编辑器,通常称之为vi,是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。它的功能十分强大,但是命令繁多,不容易掌握,它可以执行输出、删除、查找、替换、块操作等众多文本操作&…

Spring安全–幕后

安全任务(例如,用户身份验证和用户查看应用程序资源的授权)通常由应用程序服务器处理。 可以将这些任务委托给Spring安全性流程,以减轻应用程序服务器处理这些任务的负担。 Spring安全性基本上通过实现标准javax.servlet.Filter来…

在react中使用svg的各种骚姿势

开头先抛个可供参考的项目ts-react-webpack4, 或脚手架steamer-react-ts 优势 SVG可被非常多的工具读取和修改(比如vscode)不失真, 放大缩小图像都很清晰SVG文件是纯粹的XML, 也是一种DOM结构使用方便, 设计软件可以直接导出 兼容性 上一张兼容性图表, 或到caniuse.com查看 …

chrome 浏览器的插件权限有多大?

转自:https://segmentfault.com/q/1010000003777353 1)Chrome插件本身有机制控制,不会无限制的开放很多权限给你2)页面的DOM元素时可以操作的,Chrome插件是和宿主页面之间是共享DOM对象,但是不共享Javascri…

3.2自定义方法

方法是类的一种行为,方会使我们的代码容易修改,方便阅读,实现封装和重用。比如前面使用的很多.net定义好的类的方法,当然我们也可以自定义方法。 3.2.1定义方法 语法: 访问修饰符 返回类型 方法名(参数列表) &#xff…

linux live cd ubuntu,在Windows 7上体验Ubuntu Live CD

http://download.gna.org/grub4dos/grub4dos-0.4.4.zip把grldr.mbr,grldr放到C盘根目录.注意:以管理员身份运行cmd,进行以下操作.备份/Boot/BCD:bcdedit /export "D:\BCD.backup"用bcdedit编辑启动文件/Boot/BCD添加GRUB引导项:bcdedit /create /d "GRUB" …

[Electron]仿写一个课堂随机点名小项目

自从前几个月下了抖音,无聊闲暇时就打会打开抖音,因为打开它有种莫名其妙打开了全世界的感觉... 无意中看到这个小视频:随机点名 于是仿写了一个课堂点名小项目,算是对Electron的一个简单的认识,有时间再深入。 项目…

何时以及如何使用ThreadLocal

正如我们的读者可能已经猜到的那样,我每天都在处理内存泄漏。 最近,一种特殊类型的OutOfMemoryError消息开始引起我的注意-滥用ThreadLocals触发的问题变得越来越频繁。 在查看此类泄漏的原因时,我开始相信其中一半以上是由于开发人员导致的&…

linux redis安装使用,linux安装redis

Linux(CentOS)中Redis介绍、安装、使用【一篇就够】2018-05-13 13:36:16 sjmz30071360 阅读数 1590更多分类专栏: redis版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。一、介绍Redis is…

用three.js写一个简单的3D射门游戏

这个小游戏很简单,一共由3个部分构成。1个平面(球场),1个球体(足球)还有一个立方体(球门)。 上个图给你们感受一下简陋的画风(掘金最高上传5M图片,原来图片都…

100份Spring面试问答-最终名单(PDF下载)

上次更新时间:2019年2月11日 这是有关Spring框架的一些最重要问题的摘要,在面试或面试测试过程中可能会要求您回答这些问题! 您无需担心下一次面试的机会,因为Java Code Geeks在这里为您服务! 您可能会被问到的大多数…

3.1 unittest简介

3.1 unittest简介 前言 熟悉java的应该都清楚常见的单元测试框架Junit和TestNG。python里面也有单元测试框架-unittest,相当于是一个python版的junit。python里面的单元测试框架除了unittest,还有一个pytest框架,这个用的比较少,后面有空再继…