宋宝华:纪念金庸先生——程序员的武侠世界

原创 Linux阅码场 2023-06-25 00:00

编者按:前段时间我们分享过宋老师的一篇文章《宋宝华:迭代螺旋法——关于Linux学习方法的血泪建议》文章是从时间轴的方式讲了Linux内核工程师的螺旋上升的路径。这篇文章,也是讲学习方法的,作者借用不同的金庸高手来介绍了顶级程序员的三大特点。



在漫天的星河中,有这样一颗星,他朴实无华,却又熠熠生辉,照亮了无数人的人生。他就是金庸先生。随着一代大侠的驾鹤西去,“飞雪连天射白鹿,笑书神侠倚碧鸳”,成为绝响。

 

每一个少年心中,都有一个英雄梦。曾经幻想自己,长剑佩腰,浪迹江湖,十步杀一人,如闲庭信步;曾经幻想自己,青衣长袍,长萧悠远,百年等一人,诉儿女情长;曾经幻想自己,堕万丈渊,偶遇奇人,习盖世武功,救民于水火。梦醒时分,心碎了一地,结局只是一个猥琐大叔,面对代码与bug。忧虑着远方,焦虑着当下,侠义的心肠,英雄的梦想,都逐渐的远去。

 

但是,有人的地方就有江湖。程序员的世界,未尝不是另外一种武侠的世界。有的程序员,神功盖世,侠之大者如乔峰,以一敌百;有的程序员,似裘千丈,编程多年,不过一江湖术士;有的程序员,功名在身,却深居简出,低调隐居,如同风清扬。


我们总结金庸武侠小说里面绝顶高手的共同特征,可以发现如下特点:




  1. 有极强的内力修为

  2. 至少深入掌握一门绝世武功

  3. 对多种神功均有一定了解



 

我们下面来逐一剖析。


有极强的内力修为

令狐冲最开始在习得风清扬的独孤九剑之后,已经可以解决田伯光这样的senior engineer了。独孤九剑强调的是招式的牛逼,无招胜有招,但是,他还是有致命的弱点,那就是内功不强。令狐冲在独孤九剑大成之后,在地下室和principle engineer任我行对练的时候,任我行还是用内力震昏了他。直到令狐冲学到了《易筋经》,成功融合桃谷六仙、不戒大师分别注入的八道真气,方生大师给他输入的真气,黑白子全部内力,岳不群大部分内力后,这个时候的令狐冲,可以说是真正的独孤求败了。

这件事情对我们的启发是,内力不强,招式再多,也会限制最后在技术领域的成就。由于大学阶段计算机学习的整体缺陷,导致很多童鞋毕业数年后仍然不具备一些基本的内力

a.     PV操作

b.    信号量,初值为1的信号量通常做互斥,初值为0的信号量通常做同步

c.     互斥

d.    通信分为同步和互斥

e.     LRU

很多很多不可尽数,比如有的童鞋,在公司里面都工作几年了,还是不知道堆和栈的区别。你这个时候,练再多的招式,懂再多的语言,C/C++/Java/Python…全部都撸过一遍,也难逃程序员的终极宿命,那就是越到后期越悲凉,它的曲线类似:

因为到了35岁,这种大龄程序员,很多公司对他的定位,已经是要能够独挡一面,解决性能、架构等方面的需要突破的问题。这个时候,内力不强,计算机的基本原理都不通,就极可能在这个时间点上,技术生涯自由落体,变地非常被动。

 

我们认为,有两门基础课,对程序员练习内力尤其重要,一是微机原理,二是操作系统。微机原理让我们理解计算机是怎么工作,CPU、CACHE、内存、硬盘、外设彼此间的牵绊;操作系统让我们理解软件是怎么工作,系统的硬件资源如何被软件消耗,各个软件组件如何互动。这里我们推荐两门书:

《深入理解计算机系统》

《Operating System Three Easy Pieces》

“Linux阅码场”公众号也数次推荐了这两门书。相信有很多童鞋已经在研读。


至少深入掌握一门绝世武功

有很多童鞋,一生随波逐流,今天在这个公司干这个,明天在这个公司干那个,没有明确的兴趣点和技术成长目标,这样很难形成坚实的技术沉淀。比如你把凌波微步学一招,打狗棒学一招,降龙十八掌学一招,每个都学一招,一共学了100招,但是随便来一个会两招降龙十八掌的人就可以把你干掉。所以,任何一个顶级的程序员,必有他的成名武学,他在这个领域,成为大师。

乔峰、郭靖

降龙十八掌

张无忌

九阳神功

小龙女

玉女心经

洪七公、黄蓉

打狗棒

杨过

黯然销魂掌

张三丰

太极拳剑

 

现在的技术领域这么多,热点层出不穷,追逐热点固然不是坏事,但也可能让你筋疲力尽。其实这样无穷追逐,不如找到一个自己的兴趣点,比如Linux内核也罢、TensorFlow也罢、GPU多媒体也罢、Android也罢,至少你要在某个领域里面成为高手,这是吃饭的本钱,也是行走江湖的筹码。就是说,只要想到某个技术领域,就能想到你名字;想到你名字,就能想到这个技术领域。

根据我们的观察,拥有成名武学的程序员,到了35岁,甚至40岁后,不仅没有在江湖上被遗忘,还逐步进入了更加顶级的公司的更加顶级的技术团队,待遇之高,达到如果在微信群透露,就会让其他程序员活不下去的程度。


对多种神功均有一定了解

既要低头拉车,又要抬头看路。有成名武学,也不能故步自封。仍然要看一看别人在玩什么,这是聊天的资本,在广泛的场合,可以和更多的人好好聊天。不能低估聊天的重要性,不能聊天,尤其是不能和高级领导聊天,会限制自身的可见性。另外一个方面,知识面广,对自身技术领域可形成交织互补,因为很多技术,做到后来,发现它们会交织互融。在金庸武侠小说里,经常出现练习某种武功久久不能突破,但是在练习了另外一种武功的情况下,突然前一种武功的最后一层就练成了的例子。

 

下面我们看看顶级高手的武功配置:

张无忌融合九阳神功、乾坤大挪移、太极拳剑和圣火令神功四大盖世武功为一体,当世无敌,此外还精研医术和毒术,术绝尘寰。

虚竹为少林派弟子,学以罗汉拳和韦陀掌。意外破解珍珑棋局后,承得无涯子七十年深厚的内力,而其中也含有无涯子本身所学的北冥神功以及小无相功。获得了天山童姥传授的逍遥派天山折梅手以及天山六阳掌和生死符。在继承天山灵鹫宫后得见灵鹫宫后殿壁上无数精妙武功。

令狐冲学会了华山的剑法,宁式一剑、思过崖山洞的其他门派剑法,之后习得独孤九剑,在梅庄地牢中习得吸星大法,最后一个阶段,习得少林易筋经。

 

因此,我们总结顶级程序员的三大特点:内功强(1),某个领域深(2),多个领域广(3)。这三者之间的关系是:1是2的必要条件(如果基础不牢,不可能在某个领域深),1+2是技术生涯成功的必要条件,3是1和2的补充(3是技术路线发展的充分条件,不是必要条件)。下面图示最好到最差的技术配置:

 

因此,我们总结顶级程序员的三大特点:内功强,某个领域深,多个领域广。当然,无论武功有多高,都必须具备一个品质:那就是仁义。

 

没有仁义,武功高强如任我行、东方不败、岳不群、欧阳锋、成昆者,都不会成为任何人的榜样。


谨以此文,纪念金庸先生。


Linux阅码场 专业的Linux技术社区和Linux操作系统学习平台,内容涉及Linux内核,Linux内存管理,Linux进程管理,Linux文件系统和IO,Linux性能调优,Linux设备驱动以及Linux虚拟化和云计算等各方各面.
评论
  • 嘿,咱来聊聊RISC-V MCU技术哈。 这RISC-V MCU技术呢,简单来说就是基于一个叫RISC-V的指令集架构做出的微控制器技术。RISC-V这个啊,2010年的时候,是加州大学伯克利分校的研究团队弄出来的,目的就是想搞个新的、开放的指令集架构,能跟上现代计算的需要。到了2015年,专门成立了个RISC-V基金会,让这个架构更标准,也更好地推广开了。这几年啊,这个RISC-V的生态系统发展得可快了,好多公司和机构都加入了RISC-V International,还推出了不少RISC-V
    丙丁先生 2025-01-21 12:10 619浏览
  • 故障现象 一辆2007款日产天籁车,搭载VQ23发动机(气缸编号如图1所示,点火顺序为1-2-3-4-5-6),累计行驶里程约为21万km。车主反映,该车起步加速时偶尔抖动,且行驶中加速无力。 图1 VQ23发动机的气缸编号 故障诊断接车后试车,发动机怠速运转平稳,但只要换挡起步,稍微踩下一点加速踏板,就能感觉到车身明显抖动。用故障检测仪检测,发动机控制模块(ECM)无故障代码存储,且无失火数据流。用虹科Pico汽车示波器测量气缸1点火信号(COP点火信号)和曲轴位置传感器信
    虹科Pico汽车示波器 2025-01-23 10:46 75浏览
  • 现在为止,我们已经完成了Purple Pi OH主板的串口调试和部分配件的连接,接下来,让我们趁热打铁,完成剩余配件的连接!注:配件连接前请断开主板所有供电,避免敏感电路损坏!1.1 耳机接口主板有一路OTMP 标准四节耳机座J6,具备进行音频输出及录音功能,接入耳机后声音将优先从耳机输出,如下图所示:1.21.2 相机接口MIPI CSI 接口如上图所示,支持OV5648 和OV8858 摄像头模组。接入摄像头模组后,使用系统相机软件打开相机拍照和录像,如下图所示:1.3 以太网接口主板有一路
    Industio_触觉智能 2025-01-20 11:04 195浏览
  •  万万没想到!科幻电影中的人形机器人,正在一步步走进我们人类的日常生活中来了。1月17日,乐聚将第100台全尺寸人形机器人交付北汽越野车,再次吹响了人形机器人疯狂进厂打工的号角。无独有尔,银河通用机器人作为一家成立不到两年时间的创业公司,在短短一年多时间内推出革命性的第一代产品Galbot G1,这是一款轮式、双臂、身体可折叠的人形机器人,得到了美团战投、经纬创投、IDG资本等众多投资方的认可。作为一家成立仅仅只有两年多时间的企业,智元机器人也把机器人从梦想带进了现实。2024年8月1
    刘旷 2025-01-21 11:15 666浏览
  •     IPC-2581是基于ODB++标准、结合PCB行业特点而指定的PCB加工文件规范。    IPC-2581旨在替代CAM350格式,成为PCB加工行业的新的工业规范。    有一些免费软件,可以查看(不可修改)IPC-2581数据文件。这些软件典型用途是工艺校核。    1. Vu2581        出品:Downstream     
    电子知识打边炉 2025-01-22 11:12 134浏览
  • 临近春节,各方社交及应酬也变得多起来了,甚至一月份就排满了各式约见。有的是关系好的专业朋友的周末“恳谈会”,基本是关于2025年经济预判的话题,以及如何稳定工作等话题;但更多的预约是来自几个客户老板及副总裁们的见面,他们为今年的经济预判与企业发展焦虑而来。在聊天过程中,我发现今年的聊天有个很有意思的“点”,挺多人尤其关心我到底是怎么成长成现在的多领域风格的,还能掌握一些经济趋势的分析能力,到底学过哪些专业、在企业管过哪些具体事情?单单就这个一个月内,我就重复了数次“为什么”,再辅以我上次写的:《
    牛言喵语 2025-01-22 17:10 178浏览
  • 2024年是很平淡的一年,能保住饭碗就是万幸了,公司业绩不好,跳槽又不敢跳,还有一个原因就是老板对我们这些员工还是很好的,碍于人情也不能在公司困难时去雪上加霜。在工作其间遇到的大问题没有,小问题还是有不少,这里就举一两个来说一下。第一个就是,先看下下面的这个封装,你能猜出它的引脚间距是多少吗?这种排线座比较常规的是0.6mm间距(即排线是0.3mm间距)的,而这个规格也是我们用得最多的,所以我们按惯性思维来看的话,就会认为这个座子就是0.6mm间距的,这样往往就不会去细看规格书了,所以这次的运气
    wuliangu 2025-01-21 00:15 324浏览
  • 数字隔离芯片是一种实现电气隔离功能的集成电路,在工业自动化、汽车电子、光伏储能与电力通信等领域的电气系统中发挥着至关重要的作用。其不仅可令高、低压系统之间相互独立,提高低压系统的抗干扰能力,同时还可确保高、低压系统之间的安全交互,使系统稳定工作,并避免操作者遭受来自高压系统的电击伤害。典型数字隔离芯片的简化原理图值得一提的是,数字隔离芯片历经多年发展,其应用范围已十分广泛,凡涉及到在高、低压系统之间进行信号传输的场景中基本都需要应用到此种芯片。那么,电气工程师在进行电路设计时到底该如何评估选择一
    华普微HOPERF 2025-01-20 16:50 123浏览
  • 高速先生成员--黄刚这不马上就要过年了嘛,高速先生就不打算给大家上难度了,整一篇简单但很实用的文章给大伙瞧瞧好了。相信这个标题一出来,尤其对于PCB设计工程师来说,心就立马凉了半截。他们辛辛苦苦进行PCB的过孔设计,高速先生居然说设计多大的过孔他们不关心!另外估计这时候就跳出很多“挑刺”的粉丝了哈,因为翻看很多以往的文章,高速先生都表达了过孔孔径对高速性能的影响是很大的哦!咋滴,今天居然说孔径不关心了?别,别急哈,听高速先生在这篇文章中娓娓道来。首先还是要对各位设计工程师的设计表示肯定,毕竟像我
    一博科技 2025-01-21 16:17 159浏览
  • 飞凌嵌入式基于瑞芯微RK3562系列处理器打造的FET3562J-C全国产核心板,是一款专为工业自动化及消费类电子设备设计的产品,凭借其强大的功能和灵活性,自上市以来得到了各行业客户的广泛关注。本文将详细介绍如何启动并测试RK3562J处理器的MCU,通过实际操作步骤,帮助各位工程师朋友更好地了解这款芯片。1、RK3562J处理器概述RK3562J处理器采用了4*Cortex-A53@1.8GHz+Cortex-M0@200MHz架构。其中,4个Cortex-A53核心作为主要核心,负责处理复杂
    飞凌嵌入式 2025-01-24 11:21 32浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦