Ava
前端开发
·2023-05-17
https://wx.zsxq.com/mweb/views/weread/search.html?keyword=编程大师访谈录》 这本书访谈的人物,是上世纪80年代左右的顶尖计算机大师。 阅读至前4位,大师们都功成名就,过渡到享受人生的一个阶段。 作者访谈每位大师的问题有很多共性,其中有两个问题,我最想要表达出来。 1⃣开发程序有哪些过程,编程之前都会做些什么。 四位大师都聊到,在真正开始编程之前,一定要先构思好,想清楚每一个细节,尤其是数据结构需要构思清楚。 西蒙尼:编程的第一步是想象。就是要在脑海中对来龙去脉有极为清晰的把握。在这个初始阶段,我会使用纸和铅笔(信手涂鸦)。一旦这个结构考虑得相当严谨和明确,我便开始写代码。 兰普森:新程序就是现有程序的提炼、扩展、泛化或改良。过去,我会在纸笔上记下笔记,然后开始编程。现在我会尽量用相当精确而抽象的语言写出构思的关键部分。通常这个阶段会有大量迭代。 沃诺克:在动手做任何事情之前,我都会深思熟虑。但一旦开始做事,我就不怕把它扔到一边儿。千万不要过分迷恋一个想法,绝不要固守某样东西以致不能在不必要时把它丢掉。 基尔代尔:我遵循非常明确的、适合自己的流程。我会先画数据结构,然后花很长时间思考数据结构。在开始编程前,我会一直思考整个程序的流程。 2⃣要不要很早开始学习计算机知识,自身以前的教育对你计算机生涯的发展有怎样的帮助。 有很早就接触计算机的,也有大学、研究生、博士等再深度接触计算机的。 就他们的回答,数学、英语、写作和其他科学等基础教育是更加重要的。培养学习能力和解决问题的能力,更加重要。 我到附小进行计算机科普的课程。有很多小朋友都已经了解过编程,甚至于写代码。有两位小朋友给我的印象最深刻。 小朋友1:“我要写6000行代码给你看。”他给我的感觉更多的是拿来炫耀,这很酷,我很厉害,我知道得很多。他给我实际讲解代码时,是原封不动的,把老师讲过的话背给我听。他几乎每节课都不认真听,觉得我讲的他都会了,或者挑衅我,觉得我讲得不厉害。 小朋友2:我上了三次课,分别是计算机的发展(画计算机的图形,想要什么计算机就画什么计算机)、二进制(画回家路线,用二进制编码)、循环(loop)和选择(if if-else)。他几乎每节课都能按照我的思路,完整地完成每个任务,而且每个任务都有自己的思考和理解。他画的计算机,都考虑接收器和发射信号器,用二进制编码好之后把这些数据用逗号排好,我就顺其自然地讲解用队列储存数据。第三节课,又能用第二节课学到的东西,思考循环。 我对这个小朋友确实是非常佩服。 这也是我身在上海,一个重视教育且很卷的城市,对教育的一点点思考吧。培养思维,是比提前学习知识更重要的事情。 chatght的到来,更让我意识到,以前那种灌输式学习,是很可能、很容易被淘汰的。因为这些,chatght都能很轻松地做到。重要的是,如何使用工具解决问题。 #阅读#
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
下载 APP