当前位置:首页 > 每日看点 > 正文内容

那些编程水平很高的程序员是怎么训练出来的?

卡卷网11个月前 (01-14)每日看点173

知乎上一个高赞答案:只要照着John Carmack和Edward Kmett的这三句话,一定可以成为编程高手。

John Carmack(游戏开发大神,最早的3D游戏引擎开发者):

Write lots of code. Clone existing things as exercises. Learn deeply. Alternate trying yourself and reading literature. Be obsessive

编写大量代码。克隆现有的东西作为练习。深入学习。自己尝试和阅读文献交替进行。痴迷

Edward Kmett(函数式编程大神):

Most of my programming career has involved finding something neat, writing my own version to understand it & often throwing it away.

在我的大部分编程生涯中,我都是找到一些简洁的东西,编写自己的版本来理解它,然后经常把它扔掉。

Edward Kmett:

l program those "clones" like l read papers: change a core part; redesign it. Gain progress or understanding why it is what it is.

我给那些“克隆体”编程,就像我读论文一样:改变一个核心部分;重新设计它。获得进步或理解为什么它是这样的。

总结一下:

1.大量写代码(Write lots of code.)

就是说练习的量要大,搞题海战术。这是人尽皆知的道理,量变引起质变。无他,唯手熟尔。

2.深入学习开源代码

有两个要点:

(1)不能只看,要练。John Carmack的原话是Clone existing things as exercises.

具体怎么练呢,他没说,Edward Kmett的那两句话给出了具体的方法:

a)找的开源代码要简洁(finding something neat)。

b)编写自己的版本以加强理解(writing my own version to understand it)。

c)优先改编核心部分,重新设计它(change a core part; redesign it),过程中要尝试理解人家的代码为什么要写成这样(understanding why it is what it is)。

这正是咱们需要学习之处,我们一般学习一样东西,脑子里的关键词都是理解、吸收、消化,顶多也就是什么费曼学习法,将所学知识教给别人。总之,目的都是学会。人家是一边学习一边通过重构创新,层次境界高下立判。咱们普通人即便没有这个本事,至少也应该有这种意识,有这种冲动。

(2)要深入地学习(Learn deeply.)。不能流于表面,不能走马观花。要知道冰山下面是什么,方法背后的原理。理解它是如何产生的,它为什么是这样,它与其他知识的关联。

3.边实践边看文献(Alternate trying yourself and reading literature.)

这一点Edward Kmett也给出了具体的方法,与学开源代码一样,自己尝试重新设计论文的核心部分。

4.保持痴迷(Be obsessive)

纯粹热爱,陶醉其中,无法自拔。

全情投入,不顾其他。

不为赚钱,不为成大神,不为装叉。

就像韦神一样。

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9259.html

分享给朋友:

相关文章

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

每天5点就下班了,闲着也是闲着,有哪些副业可以推荐?

今天整理了36个搞钱APP可以先接触学习看看,然后选定一个感兴趣的方向去精进要知道机会不是一下子来临的,而一定是你前期做了很多准备每天进步一点点,就像滚雪球一样希望所以女生,能够在2024年提升自己,立下一个新的搞钱Flag吧实用APP安利...

现在手里有一万闲钱,买什么币好?

今天是2024年7月29日,看看我的持仓吧。只有几百刀的那些微持仓就不说了,以下持仓都在几千刀~几万刀不等。不构成任何投资建议,成本是多次买入的大致均摊成本$TIA 成本0$DYM 成本0 $SAGA 成本0$STRK 成本0$ETHFI...

网易云音乐里有哪些打动你的评论?

1.“如果我被强奸了,有人说我会失去贞操。”“我怎么失去贞操了呢?” “我的贞操不在我的阴道里。”“失去贞操的是强奸犯,而不是被强奸的人。”2.但要记得那年海边的烟火,我们不拘一格 ,嘲笑过生活。………网易云热评《这样就很好》3.“ 我们在...

到什么程度才叫精通 Linux?

我们医院有个大牛。有一次,我的Linux电脑下载了Microsoft office 365 不能运行。于是买了2.5升装康师傅冰红茶找到大牛,让他帮忙解决。大牛白了我一眼,让我把安装包发给他,只见他输入一个命令将安装包打开,整个屏幕都是数字...

如何判断 Java 工程师的基础知识是否扎实?

我来给你出几道大题,能答对70%,你就算基础扎实了。第一部分 Java基础(27)1. 程序本质:代码是如何被执行的?CPU、操作系统、虚拟机各司何职?2. 基础语法:从CPU角度看变量、数组、类型、运算、跳转、函数等语法3. 引用类型:同...

PHP承载百万/天 访问量需要用到什么技术?

当年做一个百万PV的商城,也不过是两台2c4g的阿里云虚机罢了(其实一台就够,另外一台主要的逼着大家一定开发的时候一定要有负载均衡和横向扩容的意识)。当时框架还是Thinkphp3.2,框架提高运行效率的开关全打开,标准的lnmp模式,单机...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。