博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
本杰明·富兰克林会怎样学习编程?
阅读量:6186 次
发布时间:2019-06-21

本文共 1205 字,大约阅读时间需要 4 分钟。

优秀的编程方法是极难教的。编程书籍大抵都是这样开头的:“这是X方法的例子,还有下面这个例子”。教教基础是容易的,因为基础知识也就那么多。难 就难在,要教明白每种选择带来的结果。一般我们会建议多写代码,慢慢提高水平。这是必要但非充分条件。要想学的更好,我们还要判断应该写哪些代码,以及如 何改善这些代码。

我们接下来转向与编程紧密相关的领域——写作,寻求改善技艺的灵感。从很多方面看,编程就像是写作。二者的核心关注点,都是以容易沟通的形式表达自 己的思想。我们会发现二者都很困难,因为我们的思想是高度密集交错的,而文本又是极其地线性化。利用文本,我们有无数中表达思想的方法,这使得学习写作的 艺术,以及编程的艺术,变得很困难。

幸运地是,本杰明·富兰克林记录下了他锻炼写作技巧的方法。我们只需要查看Amazon网站上传记畅销书单,就会发现富兰克林的写作水平之高超。数百年后,他的自传仍位居畅销书之列。如果这都证明不了他的写作能力,我不知道到底还有什么可以证明。

本杰明在少年时期就找到了练习的方法,并且一直刻苦地按这种方法练习写作。下面是他的自传中相关介绍的摘录。

大约在这时候,我偶然看到了一本《旁观者》的零本,是第三册。在这以前,我从未曾看见过这个刊物。我买了这本散册,反复读了几遍,十分中意,我认为文章写得好极了,如果可能的话,我想模仿它的风格。

因此我从中选了几篇文章,简要地摘录下了每一句的大意,接着把它们搁置几天。然后不看原书,用我自己想得起来的合适辞句,把每一个句子尽量完整地表 达出来,又凑成整篇的文章,使它表达得像以前一样地完整。最后,我把我自己写的《旁观者》与原文比较,发现了一些我的错误,作了修正。

但是我发现我的词汇贫乏,或是说我不能很快地想起适当的词来用。我想,假如我以前没有放弃写诗的话,那时候我的词汇一定会丰富得多了,因为经常不断 地有机会寻找具有同样意义而有不同长度的词去适合诗的韵律,或是不同音素的词去凑韵脚,会迫使我不断地搜索具有不同形式的同义词,这将有助于我记忆这些不 同的词并使我掌握它们。因此,我把其中的一些故事改写成了诗,过了一些时候,当我差不多已经遗忘了原来的散文的时候,我又把它们重新还原。有时候我也把我 摘录的思想搞乱了,经过几个星期以后,设法把它们用最好的次序排列起来,然后再把它们写成完整的句子,组合成文章。这样做,是为了教我如何整理思想的方法

本杰明·富兰克林式编程练习模式

  1. 找一个你特别喜欢的程序,阅读它的代码。

  2. 记录下每个主要组件的角色、输入和输出。

  3. 记录下每个组件之间是如何交互的。

  4. 重写这个程序。

  5. 把你的代码与源代码进行比较。

  6. 记录下你要在哪方面改进,并学习相应的知识。

不要只是一味地写程序。通过学习伟大的程序,并尝试模仿这些程序,将会极大地提升你的能力。

如果你觉得本文介绍的方法有用,请与朋友分享!每一次分享,都是一份关爱!

来源:51CTO

转载地址:http://sxlda.baihongyu.com/

你可能感兴趣的文章
设计模式之模板方法模式(Template Method)
查看>>
Open XML应用安全(1)宏安全
查看>>
STM32与FPGA通信写数据出错问题解决方法
查看>>
WebComponent魔法堂:深究Custom Element 之 标准构建
查看>>
HTTP Status 500 - /online.jsp (line: 495, column: 2) File [/foot.jsp] not found
查看>>
安卓机操控PC机 四款远程控制软件横评
查看>>
dsoframer控件的学习
查看>>
ecshop移动端支付宝支付对接
查看>>
[nRF51822] 10、基础实验代码解析大全 · 实验15 - RTC
查看>>
QT信号与槽
查看>>
.Net魔法堂:提取注释生成API文档
查看>>
sizzle编译函数
查看>>
Lind.DDD.Authorization用户授权介绍
查看>>
安装cnpm替代默认的npm
查看>>
[Eclipse]GEF入门系列(序)
查看>>
[阅读笔记]Go语言并发之美
查看>>
【转】让Chrome化身成为摸鱼神器,利用Chorme运行布卡漫画以及其他安卓APK应用教程...
查看>>
[LeetCode] Min Stack 最小栈
查看>>
apicloud,aliyunlive,测试成功
查看>>
HDU 3785 寻找大富翁
查看>>