【IT科普】没有C语言之父,就没有乔布斯和Win10!
不知不觉,丹尼斯·里奇离开我们9周年了。2011年10月12日,和里奇共事20多年的同事Rob Pike从加州到新泽西去拜访他,才发现他已经去世了。由于是独居,当时无法知道准确的死亡时间,后来确定离世日期是10月9日。据他的兄弟透露,那几年丹尼斯·里奇的健康状况一直不好,他患有前列腺癌和心脏病。
乔布斯和丹尼斯·里奇都是在同年同月离世。但之后每年的这段时间,很多媒体都会纪念乔布斯,但很少提到丹尼斯·里奇。
如果没有丹尼斯·里奇(Dennis Ritchie),就不会有我们现在所熟知的现代计算。他是C语言之父和UNIX操作系统的联合发明人。四年前我们失去了两位对业界有巨大影响的人。
▲其实Lisp之父约翰·麦卡锡也是在2011年10月离世。10月24日
不可否认,乔布斯带给我们世上从未见过的创新和标志性的产品,还有一大批对他顶礼膜拜的狂热消费者和终端用户。诸如此类的事情可能再也看不到了。
尽管我对乔布斯和他的公司有看法是有据可查的,当他去世时,我和很多业界的人一样表达了我的敬意和对他的影响力的认可。
但是苹果和乔布斯以及很多其他公司所创造的“神奇的”产品,和所有现在我们了解和写在现代计算里的东西,都要归功于丹尼斯·里奇,他于2011年10月12号离开人世,享年70岁。
丹尼斯·里奇何许人也?
普通年轻人可能都要摇头。丹尼斯·里奇是谁?
丹尼斯·里奇不像某位来自硅谷,精致的和少年得志的亿万富翁,穿着简约黑色的高领毛衣在站满粉丝的屋子里,演示新酷产品和恶意攻击对手。
不,丹尼斯·里奇是一位胡子有些凌乱的计算机科学家,他穿着羊毛衫坐在一间凌乱的办公室里。
和乔布斯在大学辍学不同,他毕业于哈佛大学,有物理学和应用数学的博士学位。他工作于新泽西的AT&T贝尔实验室,而不是闪闪发光的硅谷。
鉴于乔布斯古怪的个性又极富创造力,人们经常把他和爱迪生作比较。我不赞同这种比较,因为实际上我们错把乔布斯当做一个真正的技术专家和发明东西的人。
有一件重要的事情我们必须要意识到:尽管乔布斯有他擅长的事情,而且他为技术和计算机业界做出很大的贡献,但事实上他并不是一个技术专家。
他对于时尚和工业设计的确很有感觉,他理解用户想要什么,他还是一个营销大师和推销员。所有这些让他成为业界的巨人。
但是说到发明家?不,他不是。
但是丹尼斯·里奇发明了和共同发明了两个关键的软件技术,它们是构成每一款计算机软件产品的DNA,现在我们直接或间接都在使用这些软件产品。这听起来让人难以置信,但它确实是真的。
首先,让我们从《C程序设计语言》开始。
C语言是里奇在1969-1973开发的,它被认为是第一个真正意义上可移植的现代编程语言。自它诞生差不多45年以来,它已经被移植到几乎每一个出现过的系统架构和操作系统上。
因为它是一种命令的、编译的和程序化的编程语言,它允许语法变量作用域和递归,允许内存的底层访问,还有复杂的I/O和字符串操作功能,这种语言变得相当通用。
如果你在学习C/C++的过程中遇到了问题,可以来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●)
里奇和布莱恩·克尼汉(Brian Kernighan)对它进行了一定程度的优化,最终于1989年被美国国家标准协会的X3J11委员会进一步细化为ANSI C程序设计语言。
1978年,克尼汉和里奇合著出版了《C程序设计语言》这本书。该书被很多人简称为“K&R C”,是计算机科学的杰作,它也是解释现代程序设计概念的一个关键参考,甚至到今天,它还是计算机科学课程里学习程序设计的经典教材。
直到今天,ANSI C作为一种编程语言还被大量地使用,后来它还发展出很多的姊妹语言,这些语言又都有很多的追随者。
最流行的C++是由本贾尼·斯特劳斯特卢普(BjarneStroustrup)于1985年发明,它增加了面向对象编程和类的支持,用在各式各样的操作系统上,包括像Linux和Mac这样的UNIX衍生品上,它作为微软Windows软件开发的主要编程语言长达20多年。
微软也有自己的C语言衍生品——C#(读作“C Sharp”),于2001年发明并作为.NET框架的编程基础。
作为开发Mono(一个.NET框架的可移植版本)的编程环境,它也被用在Linux和其他Unix衍生系统上。
但是C语言的影响还在其它地方也有体现。Java这样一个重要的企业级编程语言,在很大程度上也是基于C语言语法(本身也演变为Dalvik和Android运行时,它们是Android最基本的编程环境)。
其它语言例如Ruby、Perl和PHP等,它们是构成动态现代网络的基础,也都使用了丹尼斯·里奇发明的C语言语法。
所以说如果没有丹尼斯·里奇的工作,我们根本就不可能有现代的软件。
没有Android智能手机,没有昂贵的DVR和流媒设备,没有乔布斯和苹果创造令人惊叹的Mac和iPad。
没有微软的Windows10和Surface Book。
没有云计算、没有AWS(亚马逊网络服务,Amazon Web Services),没有Azure(微软云)。
没有“为XX而生的应用程序”,也没有互联网这个东西。
向丹尼奇·里奇致敬——感谢他带给我们这些技术,让我们可以成为今天的专家。
【IT科普】没有C语言之父,就没有乔布斯和Win10!相关推荐
- 纪念丹尼斯——C语言之父
前几日,我知道了Dennis Ritchie的去世,关于Dennis Ritchie的事迹,对于每个程序员来说,都应该不陌生,对于我这个刚毕业的人来说,我的第一份工作的饭碗就是C语言给的,关于乔布斯去 ...
- Python之父退休,C语言之父与世长辞,各大编程语言创始人现状盘点
作者 | 年素清 编辑 | 伍杏玲 来源 | 程序人生(ID:coder_life) 从世界上第一台计算机(ENIAC) 于1946年2月在美国诞生至今的七十多年里,涌现出了许多优秀的计算机编程语言. ...
- C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日
本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 选自:CHM,作者:David C. Brock,参与:张倩.魔王 机器之心整理 他是C语言之父.1983年图灵奖得 ...
- 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...
十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...
- C语言之父,UNIX之父丹尼斯·里奇去世 享年70岁
[caption id="attachment_84" align="alignleft" width="278" caption=&quo ...
- 让乔布斯立足肩上的C语言之父
2011年,人们对乔布斯的去世记忆深刻,但这一年还有另一位本应获得同样关注的人物也与世长辞,他就是C语言之父丹尼斯·里奇(Dennis Ritchie). 不过,并非所有人都没能正确认识到里奇所曾作出 ...
- java c 语言之父_Java之父评价C语言之父:他是一位天才,c语言撑起了一切
Java之父詹姆斯·高斯林(James Gosling)曾在C语言之父丹尼斯·里奇(Dennis Ritchie)去世时发布了关于他的讨论的简短博文,大致内容如下:丹尼斯·里奇辞世的新闻如五雷轰顶.过 ...
- 「任性」的C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日...
他是C语言之父.1983年图灵奖得主,还是Unix的关键开发者.然而,他却因为「任性」没有拿到博士学位,而且当年写的博士论文一丢就是半个世纪.如今,这一神秘的博士论文终于重见天日. 很多人可能听说过 ...
- Python 之父退休,C 语言之父与世长辞,各大编程语言创始人现状大曝光!
作者 | 年素清 责编 | 伍杏玲 出品 | 程序人生(ID:coder_life) 从世界上第一台计算机(ENIAC) 于1946年2月在美国诞生至今的七十多年里,涌现出了许多优秀的计算机编程语言. ...
最新文章
- 开源用于寻找系外行星的代码
- java线程池的概念_Java线程池的基本概念以及生命周期
- 语言中knitr_R语言软件包的批量引用
- 【译】一份通俗易懂的React.js基础指南-2018
- AT4505-[AGC029F]Construction of a tree【构造题,hall定理,网络流】
- 在苹果Mac上如何查找和删除文件?
- 堆排序算法(C#实现)
- [推荐电子图书]-[jquery视频教程 初级+高级][25课程]
- 树莓派4B系统搭建(超详细版)
- 禅道数据库管理登录失败,使用/opt/zbox/auth/adduser.sh命令新开用户解决
- 帮助睡眠的产品有哪些?效果最好的睡眠产品推荐
- 获取iframe里面的数据
- macos 终端下载_如何使用终端下载macOS更新
- python数据类型与数据结构--内置数据类型
- macbook安装typescript环境added 1 package, and audited 2 packages in 26sfound 0 vulnerabilities代表成功了
- 加速研发自动驾驶卡车,戴姆勒买下Torc Robotics多数股权
- dg备库怎么逻辑导出exp/expdp?
- AC日记 - - - 30(为了相同的前缀-跳楼梯)
- 原生js制作课工场论坛发贴
- 没有灵感头发都快抓掉了!推荐几款创意网站,让大脑灵光一动!
热门文章
- 需求工程方法及技术汇总
- 计算机系统的位的描述性定义,计算机系统中,“位(bit)”的描述性定义是()
- KEIL、uVision、RealView、MDK、KEIL C51区别比较
- 秉承极简美学设计:Polestar 2 登陆中国后会威胁到谁?
- Python中jieba库的使用
- 短信接口被恶意调用,瞬间损失两万,怎么解决?
- ⑪(面试篇 2/3)、《史上最全iOS八股文面试题》2022年,金三银四我为你准备了,iOS《1000条》笔试题以及面试题(包含答案)。带面试你过关斩将,(赶紧过来背iOS八股文)
- 笔记1-----校园网进知网步骤
- docker内运行的grafana重置登录密码
- Linux下批量ping ip地址