History of program(1950-2020)
1957年
约翰·巴科斯(John Backus)创建了是全世界第一套高阶语言:FORTRAN。
1959年
葛丽丝·霍普(Grace Hopper)创造了现代第一个编译器A-0 系统,以及商用电脑编程语言“COBOL”,被誉为COBOL之母 。
1964年
约翰·凯梅尼(John Kemeny)和托马斯·库尔茨(Thomas Kurtz)共同开发了BASIC程序语言。
1970年
尼克劳斯·维尔特(Niklaus Wirth)发明了Pascal。他亦是Euler语言的发明者之一。1984年他因发展了这些语言而获图灵奖。他亦是Lilith电脑和Oberon系统的设计和运行队伍的重要成员。他的文章Program Development by Stepwise Refinement视为软件工程中的经典之作。他写的一本书的书名Algorithms + Data Structures = Programs(算法+数据结构=程序)是计算机科学的名句。
1972年
丹尼斯·里奇(Dennis MacAlistair Ritchie)在贝尔实验室的工作时间里感到无聊,所以他决定制作带有花括号的C,并最终取得了巨大的成功。之后,他添加了分段错误和其他开发人员友好功能,以提高生产力。在星期天还有几个小时的时间,他和他在贝尔实验室的朋友决定创建一个名为Unix的操作系统。
1980年
艾伦·凯(Alan Kay)发明了面向对象的编程,并将其称为Smalltalk,在Smalltalk中,一切都是对象,甚至一个对象也是对象。
1987年
拉里·沃尔(Larry Wall)在优利工作时开发了Perl和直译器。
1983年
Jean Ichbiah开发完成Ada计算机语言。它的名字来自Ada Lovelace(上述第2位)。
1986年
布莱德·考克斯(Brad Cox)在其公司Stepstone发明Objective-C。
1983年
比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)发明了C++,写下了它的早期定义并做出了首个实现。
1991年
吉多·范罗苏姆(Guido van Rossum)认为他不喜欢使用大括号并发明了Python,语法的选择灵感来自Monty Python和Flying Circus。
1993年
Roberto Ierusalimschy和朋友决定设计一款巴西本土的脚本语言Lua。
1994年
拉斯姆斯·勒多夫(Rasmus Lerdorf)为他的个人主页CGI脚本制作了一个模板引擎,就是随后被广泛使用的PHP。
1995年
松本幸弘(まつもとゆきひろ)创造了Ruby。
1995年
布兰登·艾克(Brendan Eich)在周末的时候设计了一种语言,用来为世界各地的每一个网页浏览器提供支持。当初这门语言被称为LiveScript,但随着Java变得流行,他们决定将其重命名为JavaScript。
1996年
詹姆斯·高斯林(James Gosling)发明了Java,这是第一个真正的面向对象的编程语言。
2001年
安德斯·海尔斯伯格(Anders Hejlsberg)重新发明了Java,并将其称为C#,因为C编程感觉比Java更酷。
2005年
David Hanselmeyer Hansen创建了一个名为Ruby on Rails的Web框架,人们不再记得这两者是分开的东西。
2006年
约翰·雷西格(John Resig)为JavaScript编写了一个帮助程序库,每个人都认为这是一种语言,并且从互联网上复制和粘贴jQuery代码。
2009年
肯·汤普森(Ken Thompson)和罗伯·派克(Rob Pike)决定制作一种像C这样的语言,但是用于更多的安全设备和更适销的产品,并以Gophers作为吉祥物,他们称之为Go。
Graydon Hoare也想要像C这样的语言,他称之为Rust。大家都要求每一个软件都要立即在Rust里面重写。Graydon想要更炫的东西,并开始在Swift上为Apple工作。
2012
安德斯·海尔斯伯格(Anders Hjelsberg)想在浏览器中编写C#,他设计了TypeScript,它是JavaScript,但是其中包含更多的Java。(这人又出现了)
2013
杰里米·阿什基纳斯(Jeremy Ashkenas)想要像Ruby开发者一样快乐,他创建了CoffeeScript,编译成JavaScript,但看起来更像Ruby。
2014
2010年7月开始,克里斯·拉特纳(Chris Lattner)开始设计Swift。完成基础架构后,带领开发小组陆续完成语法设计、编译器、运行时、框架、IDE和文档等相关工作。这个语言在2014年WWDC大会上公开。
History of program(1950-2020)的更多相关文章
- Photoshop CC 2020 (PS 2020)改变与新功能
Adobe Photoshop CC 2020中文版新增相机防抖动功能.CameraRAW 功能改进.图像提升采样.属性面板改进.Behance集成等功能,以及同步设置和其他更多有用的功能.ps202 ...
- 第3届云原生技术实践峰会(CNBPS 2020)重磅开启,“原”力蓄势待发!
CNBPS 2020将在11月19-21日全新启动!作为国内最有影响力的云原生盛会之一,云原生技术实践峰会(CNBPS)至今已举办三届. 在2019年的CNBPS上,灵雀云CTO陈恺喊出"云 ...
- CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)
CVPR目标检测与实例分割算法解析:FCOS(2019),Mask R-CNN(2019),PolarMask(2020)1. 目标检测:FCOS(CVPR 2019)目标检测算法FCOS(FCOS: ...
- 着色语言(Shader Language)
摘抄"GPU Programming And Cg Language Primer 1rd Edition" 中文名"GPU编程与CG语言之阳春白雪下里巴人" ...
- Truck History(卡车历史)
Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 26547 Accepted: 10300 Description Adv ...
- 纯干货分享!2020阿里java岗笔试面试题总结(附答案)
前言 2020金九银十马上结束,现为大家整理了这次金九银十面试阿里的面试题总结,都是我从朋友那拿到的面试真题,话不多说,满满的干货分享给大家! int a=10是原子操作吗? 是的. 注意点: i+ ...
- Revit二次开发环境配置(Revit 2020 +Visual Studio 2019)
Revit二次开发环境搭建(Revit 2019+Visual Studio 2017)准备内容 Revit 2019开发环境的搭建,需要安装的内容如下: Revit 2019(主要的开发环境) Vi ...
- [ACM_模拟] The Willy Memorial Program (poj 1073 ,联通水管注水模拟)
Description Willy the spider used to live in the chemistry laboratory of Dr. Petro. He used to wande ...
- @(报错)could not find the main class, Program will exit(已解决)
原文 @(报错)could not find the main class, Program will exit(已解决) (很抱歉,如果你希望能更加清楚地看清图片或是图上的文字的话,你可以 ...
随机推荐
- bash vim等常用命令
生成的txt一不小心带了./,用vim: :%s/\.\/single/single #%s/xxx/yyy/g是全文本替换,这里用\将特殊字符.和/转换成普通字符 结果还不错: ---------- ...
- npm 传入参数
你可以运行类似npm start 8080的代码,并且不需要去修改script.js或者配置文件: 例如,在你的"scripts"JSON值,包括-- "start&qu ...
- Electron把网页打包成桌面应用并进行源码加密
前言 最近想把自己用html+css+js做的网页界面打包成桌面应用,网上一搜,发现Electron是一个不错的选择,试了试,发现效果真的不错.这里记录一下打包过程以作记录,便于自己以后查看学习. 一 ...
- 【数据使用】3k水稻数据库现成SNP的使用
---恢复内容开始--- 我们经常说幻想着使用已有数据发表高分文章,的确,这样的童话故事每天都在发生,但如何走出第一步我们很多小伙伴不清楚,那么我们就从水稻SNP数据库的使用来讲起. http://s ...
- sql_mode 之 ignore_space
用于忽略mysql系统函数名与之后的括号之间的空格. 还是给个形像的说明吧如:count (*) 通过设置ignore_space 这个sql_mode 就可以把空格给忽略变成count(*) 1 ...
- flutter key
随意点开一个Widget,就会发现,可以传递一个参数Key.那这个Key到底是干啥子,有什么用呢? Flutter是受React启发的,所以Virtual Dom的diff算法也参考过来了(应该是略有 ...
- Java.lang.IllegalStateException: Cannot call sendRedirect() after the response has been committed
在使用response重定向的时候,报以下错误:Java.lang.IllegalStateException: Cannot call sendRedirect() after the respon ...
- Lintcode105 Copy List with Random Pointer solution 题解
[题目描述] A linked list is given such that each node contains an additional random pointer which could ...
- python+selenium,实现带有验证码的自动化登录功能
python+selenium的环境准备,请自行安装完成,这里直接贴代码,方便做项目时直接使用. import time from selenium import webdriver from PIL ...
- 2018 ACM-ICPC, Syrian Collegiate Programming Contest
2018 ACM-ICPC, Syrian Collegiate Programming Contest A Hello SCPC 2018! 水题 B Binary Hamming 水题 C Por ...