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

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

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

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

编程学习Q qun:1082......671464

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

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

虽然如此,但对于一个像丹尼斯·里奇这样非科班的人来说,想创建诸如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语言之父丹尼斯·里奇那里得到的收获:

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

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

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

● 参加很多不同的项目

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200321A0FXG700?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券