我不知道怎么成为世界上最好的程序员,但是我们可以向史上最伟大的程序员学习,从这些程序员们汲取一些教训。

丹尼斯·里奇那里得到的经验教训

UNIX本质上是一个简单的操作系统,但是你必须是一个天才才能理解它的简单性——丹尼斯·里奇

在你上大学并获得计算机学位之前,丹尼斯·里奇正在设法在麻省理工学院找到一份工作。

那时候计算机实验室门槛不像现在这么高,只要你有耐心,愿意和房子差不多大小的计算机一起工作,都会受到欢迎。

虽然如此,但对于一个像丹尼斯·里奇这样非科班的人来说,想创建诸如UNIX和C语言并不是一件简单的事。

下面是丹尼斯·里奇的一些成就:

● 发明了C语言,并和肯·汤普逊共同创建了UNIX操作系统。

● 1983年,获得计算机协会的图灵奖

● 1990年,与肯·汤普逊共同获得了电气和电子工程师协会IEEE Richard W. Hamming奖章

● 1997年,成为计算机历史博物馆研究员

● 1999年,获得克林顿总统颁发的国家技术勋章

那么,丹尼斯·里奇是如何完成开发C语言和UNIX的工作的?他又是如何学习编程的呢?

丹尼斯·里奇被称为“C语言之父”,据说他是一个温和、善良和谦逊的人,而且是一个狂热的极客,但他一开始并不是一个极客。

里奇出生在纽约,在新泽西州的花园城市长大。他有一个安稳的童年,学习成绩也很好。后来他到哈佛大学学习,顺利拿到学士学位,并在那里以肄业生资格学习物理,以研究生资格学习应用数学。

计算机是怎么进入里奇的生活的呢?

要点1:如果你想擅于编程,必须保持好奇心

我既不聪明,也没有特别的天赋。我只是非常好奇——爱因斯坦

里奇还是一名学生的时候,曾经听过一场关于univac如何运作的讲座。UNIVAC I(通用自动计算机I)是美国生产的第一台商用计算机。

它长这个样子:

说真的,真的有什么样子的好奇心,能让一个人坐下来,去享受一场关于这个东西的讲座呢?很明显,答案就是那种能成为伟大程序员的人。

在那次讲座后,里奇便开始进一步研究计算机是如何工作的。俗话说:“好奇心害死猫”。这句话我们都知道,但你不是那只猫,所以请保持保持好奇心。

▌要点2:听过不等于做过

我不想专注于某个特定的项目,我只想和有很多经验和想法的人在一起。所以,我开始通过各种各样的项目,来学习我的专业。——丹尼斯·里奇

让很多项目成为你好奇心的产物,把你的好奇心转化成不同的项目——就像里奇一样,这样帮助你走好你的职业道路。

▌要点3:和那些比你好,比你有经验的人在一起

之所以这样做,有一个显而易见的原因,你将以更快的速度学习,而且不会感到难度太大。据说丹尼斯·里奇在这方面也做得很好。

如果你不能接近那些你认为比你好,比你有经验的人,那么你就把互联网作为你的朋友。在你感觉比较不错的平台上,阅读他们的博客文章,观看他们的视频,或者语音。

只要做到“留在”他们身边。

▌要点4:解决问题

真正有趣的,不是编程本身,而是你能让编程去完成你想要做的事情。——丹尼斯·里奇

在里奇生活的那个年代,一台电脑就占满一间房子,所有电脑都是如此,而且它们的操作系统很难使用。里奇知道,小型电脑已经在开发中,所以他打算立项,去研究如何解决这些问题。

这就是里奇对编程的看法。编程可以做什么,可以解决什么问题,以及他会对人们产生什么影响。

如果一个问题让你很烦,不要无视它。如果你认为这个问题被很多人无视了,那么你要解决它。制造一些东西,想做就做。

还有特别注意一点,在你解决问题之前,不应该瞻前顾后。

当一件事情很重要时,即便机会很不好,你也要去做

举几个例子:

☄  Electron JS是一种用JavaScript来构建桌面应用程序的技术,它的出现是因为GitHub团队的一部分人想要用Web技术构建一个编辑器。

☄  Redux,Javascript应用程序的可预测状态容器是由Dan Abramov构建的,因为他想用最少的API创建一个状态管理库,但行为是完全可预测的——这是他的说法。

☄  Quincy Larson和其他一些人构建了Freecodecamp平台,以解决在开放源码社区中教授web技术的问题。

他们发现了一个问题,然后解决了它。

最后,总结一下从C语言之父丹尼斯·里奇那里得到的收获:

● 保持好奇心,并不断的深入学习知识,虽然我们不可能什么都知道。

● 掌握基本原理。掌握原理,才是真正掌握技能。

● 解决问题。如果你认为有些事情可以做得更好,那就去做,你的生活会变得更好。

● 参加很多不同的项目

● 多和比你更厉害的,更有经验和想法的人一起工作、学习。

对于热爱编程的人来说,有一群一起学习的小伙伴很重要!如果你感兴趣或者有需求的话,笔者有一个编程零基础入门学习交流俱乐部,还有学习视频文件,欢迎初学者和正在进阶中的小伙伴们!

从 “C语言之父” 那里学到的一些好东西!分享给你~相关推荐

  1. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?...

    十三 发自 凹非寺 量子位 报道 | 公众号 QbitAI 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军编程语言Python. 紧接着第二天,又 ...

  2. 56岁潘石屹下定决心学Python,60多岁程序语言之父们还在敲代码,你还敢懈怠吗?

    十三 发自 凹非寺 本文经AI新媒体量子位(公众号 ID: QbitAI)授权转载,转载请联系出处 比你成功的人,比你还努力. 上周,SOHO中国董事长.地产大亨潘石屹,56岁生日当天发布微博宣布进军 ...

  3. 【历史上的今天】12 月 3 日:世界上第一条短信;Fortran 语言之父诞生;百度贴吧上线

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 12 月 3 日,在 20 年前的今天,电动平衡车(Segway)问世:电动平衡车是一种电力驱动.具 ...

  4. 学c语言要先学什么,C语言入门要先学什么,你知道怎么入手吗?

    先找一本书,我觉得具体是什么书都无所谓,然后照着书念好基础之后,把书上的每段代码都在VC++或TC平台上运行一下,看看结果 然后就是大量的看代码,抄代码,写代码 大家都推荐谭浩强的书,本人没看过,没啥 ...

  5. C语言之父 UNIX之父 Dennis M. Ritchie

    Dennis M Ritchie(丹尼斯·里奇), C语言之父,UNIX之父. C语言是使用最广泛的语言之一,可以说,C语言的诞生是现代程序语言革命的起点,是程序设计语言发展史中的一个里程碑.自C语言 ...

  6. Python之父退休,C语言之父与世长辞,各大编程语言创始人现状盘点

    作者 | 年素清 编辑 | 伍杏玲 来源 | 程序人生(ID:coder_life) 从世界上第一台计算机(ENIAC) 于1946年2月在美国诞生至今的七十多年里,涌现出了许多优秀的计算机编程语言. ...

  7. C语言之父:因拒付论文装订费错失博士学位,论文52年后重见天日

    本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载 选自:CHM,作者:David C. Brock,参与:张倩.魔王 机器之心整理 他是C语言之父.1983年图灵奖得 ...

  8. R语言计算回归模型学生化残差(Studentized Residuals)实战:如果样本学生化残差(Studentized Residuals)绝对值大于3则是离群值

    R语言计算回归模型学生化残差(Studentized Residuals)实战:如果样本学生化残差(Studentized Residuals)绝对值大于3则是离群值 目录

  9. python简单编程-编程中最简单的语言Python,这样学或许更容易

    最近微信小程序上面出了一个跳一跳的小游戏 大家有没有玩呀? 编程中最简单的语言Python,这样学或许更容易 分享之前我还是要推荐下我自己建的Python开发学习群:628979297,群里都是学Py ...

  10. 让乔布斯立足肩上的C语言之父

    2011年,人们对乔布斯的去世记忆深刻,但这一年还有另一位本应获得同样关注的人物也与世长辞,他就是C语言之父丹尼斯·里奇(Dennis Ritchie). 不过,并非所有人都没能正确认识到里奇所曾作出 ...

最新文章

  1. 调试webservice遇到“测试窗体只能用于使用基元类型作为参数的方法”的解决办法...
  2. AndroidStudio3.4.2 gradle5.1.1 apt注解解释器不执行
  3. Spring IOC 注入方式
  4. 关于Hibernate异常:只进 ResultSet 不支持请求的操作
  5. SAP 销售订单删除及如何查已删除的单
  6. Java,JavaFX的流畅设计风格滑块
  7. [转]揭开正则表达式的神秘面纱
  8. html5+css3第一次作业_“台风爷爷,让我作业飞走!”南京小学生写的诗都这么逆天了?...
  9. 会议交流 | DataFunCon 线上大会 - 知识图谱专题论坛
  10. linux java services_在Linux上将Java应用程序作为服务运行
  11. 车借给朋友好几次,满油的车每次还回来都是没油了,我觉得心里有些不舒服是我太计较吗?
  12. Django(五):后台管理平台admin
  13. 在qq2003里实现qq2000的皮肤
  14. Chango的数学Shader世界(十七)RayTrace三维分形(二)—— Julia Set造型
  15. 为什么大多公司不要培训班出来的JAVA程序员?
  16. java spring+mybatis整合实现爬虫之《今日头条》搞笑动态图片爬取
  17. 电路级静电防护设计技巧与ESD防护方法
  18. 计算机提示无法访问手机tf卡,内存卡在电脑上无法显示
  19. 小程序蓝牙获取电子秤的值【uni-app】
  20. 福禄克Fluke TiX501 高像素红外热像仪

热门文章

  1. 微博表情 文本与图片对照表
  2. 薅羊毛专业版助手,支持抖音/快手/京东/刷宝等50多个APP自动签到领红包,分享源码互相学习
  3. 2022最全知识点——RF接口自动化框架项目实战
  4. Docker 开启镜像加速 (网易和阿里)
  5. 2021MathorCup高校数学建模挑战赛——大数据竞赛的一些想法总结
  6. android 编程w3c,w3cschool手机版app下载-w3cschool-编程学院 安卓版v3.4.73-PC6安卓网
  7. java重载函数_JAVA函数的重载和重写
  8. 你想要的宏基因组-微生物组知识全在这(2020.03)
  9. pip下载 离线安装第三方包
  10. Linux安装yum过程(超详细!)