展会信息港展会大全

Linus TED 分享,Linux 背后的思想
来源:互联网   发布日期:2019-11-10   浏览:165次  

导读:1. Linus Torvalds Linus Torvalds 两次改变了技术,第一次是 Linux 内核,它帮助互联网的发展;第二次是 Git,全球开发者使用的源代码管理系统。在一次 TED 的采访中,Torvalds 以极其开放的态度讨论了他独特的工作方式和性格特点。Torvalds 说 ......

1. Linus Torvalds

Linus Torvalds 两次改变了技术,第一次是 Linux 内核,它帮助互联网的发展;第二次是 Git,全球开发者使用的源代码管理系统。在一次 TED 的采访中,Torvalds 以极其开放的态度讨论了他独特的工作方式和性格特点。Torvalds 说: 我不是一个空想家,我是一名工程师,我非常乐意跟梦想家在一起,他们行走四方,仰望苍穹,看着满天星辰说, 我想到那儿去。 但我是低头看路的那种人,我只想填好眼前这个坑,不让自己掉进去,这就是我。

2. 关于开源

Linus Torvalds 说:

Linux 并不是一个合作的产物,它是我一系列项目中的一个,纯粹出于自己当时的需要,部分原因是我需要得到结果,但更重要的原因是我享受编程。这段旅程的终点,在 25 年后的今天(2016),我们仍未达到。当年我只是想做一个完全属于自己的项目,我压根就没想过开源这件事。但在那之后,随着项目越来越大,你会开始想让别人知道。感觉就像 哇,快来看看我的成果!

成千上万的人想参与进来(Linux 内核项目),但很多时候,我成为了那个断点,我无法让自己跨出那一步,同上千人合作。

因此 Git 是我的第二个大项目,它存在的意义就是维护我的第一个大项目。事实上这就是我的工作方式。我编程并不是为了 ,我编程是因为好玩,但我也想做一些有意义的事情,因此我设计每一个程序仅仅是因为我自己需要。

而我喜欢开源软件的一点就是,它能让形形色色的人在一起合作。我们不必相互喜欢,有时候我们甚至互相讨厌。是真的,我们经常吵得不可开交。

科学界的开源显然是一种回归,科学最初是开源的。但之后变得越来越封闭,只存在那些昂贵的科学期刊上。开源让科学回归了,我们有了 arXiv 和开放期刊。

小编有话说:

Linux 并不是选择了开源,只是因为开源恰好是 Linux 需要的。就如 Linus Torvalds 所说: 纯粹出于自己当时的需要。

Linus Torvalds 是睿智的,做好自己能控制的。

开源不仅仅代表源代码的开放,开源更是一种工作方式,一种教育方式。因为有了开源,我们多了一种更好的合作共赢的工作方式;因为有了开源,让更多从业者和学生能够学习到更好的技术。

3. 代码的品味

Linus Torvalds 说:

有时候你可以换个角度看问题,重写代码,排除特例,完美覆盖所有情况,这就是好的代码。同时也很简单,这是最基本的原则。细节非常重要。对我来说,我愿意与之共事的人,必须有好的品位。

采访中 Linus Torvalds 对比了以下 2 个函数:

小编有话说:

大牛们总是对自己严格要求,不仅仅是要实现功能,并且要优雅的实现。下面我们来看看采访中 Linus Torvalds 对比的两段代码:

1. 不怎么漂亮的代码

Linus TED 分享,Linux 背后的思想

上面的代码,需要区分要移除的成员是否为链表的头一个成员。需要单独处理特例情况(要移除的成员为链表的头一个成员)。这个函数比较好理解,这里小编就不做更多的解释了,如有疑问,请添加小编微信交流。

2. 好的代码

Linus TED 分享,Linux 背后的思想

这个代码完全不需要单独处理特例情况,程序整体更加整洁、优雅。其实现原理为:指针变量 indirect 保存的是链表成员结构体中的 next 成员的地址(head 指针也可这样看),如下图所示:

所以变量*indirect 就相当于是前一个链表成员的 next 成员(相对于要移除的成员来说)。当找到要移除的成员后,进行如下操作即可:

Linus TED 分享,Linux 背后的思想

本文整理自 Linus 的一次 TED 分享,详情查看原视频:

https://mp.weixin.qq.com/s/qWz_8avqdWi3tVLRz5In8Q

赞助本站

人工智能实验室

相关热词:

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港