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

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

大家好,又见面了,我是你们的朋友全栈君。

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

 

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

 

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

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

  1. 有极强的内力修为

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

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

 

我们下面来逐一剖析。


640?wx_fmt=png

有极强的内力修为

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

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

a.     PV操作

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

c.     互斥

d.    通信分为同步和互斥

e.     LRU

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

640?wx_fmt=png

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

 

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

《深入理解计算机系统》

640?wx_fmt=png

《Operating System Three Easy Pieces》

640?wx_fmt=png

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


640?wx_fmt=png

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

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

乔峰、郭靖

降龙十八掌

张无忌

九阳神功

小龙女

玉女心经

洪七公、黄蓉

打狗棒

杨过

黯然销魂掌

张三丰

太极拳剑

 

640?wx_fmt=png

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

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

640?wx_fmt=png

对多种神功均有一定了解

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

 

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

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

640?wx_fmt=png

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

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

 

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

 

640?wx_fmt=png

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

 

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

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

(打赏的童鞋请在打赏的时候留言让在下知道是谁并感恩)

640?wx_fmt=png

查看”Linux阅码场”精华技术文章请移步:

Linux阅码场精华文章汇总

扫描二维码关注“Linux阅码场” 

640?wx_fmt=png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/127281.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 小程序开发文档

    小程序开发文档

  • CSS自定义鼠标样式[通俗易懂]

    CSS自定义鼠标样式[通俗易懂]效果图原理cursor属性:cursor属性规定要显示的光标的类型(形状)。该属性定义了鼠标指针放在一个元素边界范围内时所用的光标形状。使用url,可自定义鼠标图标。cursor:url(‘https://blog-static.cnblogs.com/files/lucas–liu/cat6.ico’),default;自定义图标注意点尺寸最好选择不大于于32*32像素的Opera9.3和Safari3不支持url值图片最好用绝对路径浏览器兼容性不一

  • ReadProcessMemory会被检测到吗?_仅完成部分readprocess如何解决

    ReadProcessMemory会被检测到吗?_仅完成部分readprocess如何解决ReadProcessMemory从特定进程的内存里读取数据。被读取的整个位置应该是可读的否则操作会失败。BOOLWINAPIReadProcessMemory(__in  HANDLEhProcess,__in  LPCVOIDlpBaseAddress,__out LPVOIDlpBuffer,__in  SIZE_TnSize

  • MATLAB读取nc文件_如何转换mp3文件格式

    MATLAB读取nc文件_如何转换mp3文件格式因为课题处理30年的降雨和蒸发的遥感资料(.NC格式),而想要在Arcgis中处理要求的是raster格式的,所以需要批量转化为tif文件,所以在此分享自己改编之后的代码,可以简洁明了的实现这个过程:版本:MATLAB_2018bclc;clear;%%批读取NC文件的准备工作datadir=’G:\Global_P_ET\MSWEP_V2.2\’;%指定批量数据所在的文件夹…

    2022年10月23日
  • 卡方检验spss步骤_数据分析–学统计&SPSS操作

    卡方检验spss步骤_数据分析–学统计&SPSS操作笔记内容来源:拉勾教育数据分析实战训练营我是一个在教育留学行业8年的老兵,受疫情的影响留学行业受挫严重,让我也不得不积极寻找新的职业出路。虽然我本身是留学行业,但对数据分析一直有浓厚的兴趣,日常工作中也会做一些数据的复盘分析项目。加上我在留学行业对于各专业的通透了解,自2016年起,在各国新兴的专业–商业分析、数据科学都是基于大数据分析的专业,受到留学生的火爆欢迎,可见各行各业对于数据分析的人才…

  • hi3516dv300芯片手册_hi3518ev300

    hi3516dv300芯片手册_hi3518ev300基于Hi3516DV300的嵌入式入门演练(上)基于Hi3516DV300的嵌入式入门演练(下)文章目录信息5常见外设操作5.1USB无线网卡5.1.1在内核中开启驱动支持5.1.2准备驱动需使用到的固件文件5.1.3使用wpa_supplicant连接到热点5.1.4使用hostapd将网卡作为AP5.2TF卡的挂载5.2.1手动挂载5.2.2使用mdev自动挂载设备5.2.3使用udev自动挂载设备6扩展演练6.1使用Buildroot构建根文件系统6.2理解设备树6.3

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号