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(已解决) (很抱歉,如果你希望能更加清楚地看清图片或是图上的文字的话,你可以 ...
随机推荐
- vue-i18n使用ES6语法以及空格换行问题
1.运行报错 报错使用了不恰当的exports Uncaught TypeError : Cannot assign to read only property 'exports ' of objec ...
- sql_mode 之 ignore_space
用于忽略mysql系统函数名与之后的括号之间的空格. 还是给个形像的说明吧如:count (*) 通过设置ignore_space 这个sql_mode 就可以把空格给忽略变成count(*) 1 ...
- python爬虫——论抓包的正确姿势和学好Javascript的重要性(1)
没事想爬下数据,就入了scrapy坑,跟着https://zhuanlan.zhihu.com/data-factory这篇教程走,中间被小数量的网站坑过,不过还是写出了爬虫~~ 切糕王子:毫无防御, ...
- miui获取完整root
1.先解锁BL锁 需要在miui官网申请,下载相关软件,申请后下载软件,提示需要过xx小时才能解锁(我是72小时) 2.解开BL锁后,在系统设置里开启root权限 3.开启root权限后,发现/sys ...
- CVE-2018-8120 Windows权限提升
来源 : bigric3/cve-2018-8120 Detail : cve-2018-8120-analysis-and-exploit 演示图 下载 CVE-2018-8120.zip
- 命令行找不到genstrings问题tip
问题:初次使用命令行genstrings,提示使用的是命令行工具而非xcode,无法直接使用genstrings. 解决方案:命令行输入sudo xcode-select --switch /Appl ...
- Sql语句中IN和exists的区别及应用
表展示 首先,查询中涉及到的两个表,一个user和一个order表,具体表的内容如下: user表: order表: in 确定给定的值是否与子查询或列表中的值相匹配.in在查询的时候,首先查询子查询 ...
- ABAP search help (搜索帮助) 几种种方法
ABAP search help (搜索帮助) 几种种方法 域范围 ABAP 的搜索帮助有很多种方法,掌握下面的几种基本差不多了 *&------------------------- ...
- Jquery实现轮播效果图
<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8&quo ...
- JVM运行时内存模型
JDK1.7版本图 一,栈 基本数据类型的局部变量是直接保存在栈中. 栈帧:一个栈里面会包含多个栈帧,每一个栈帧代表一个方法的开始到结束,它涵盖了整个方法运行期间所有的操作和数据 栈帧 1:局部变 ...