本杰明·富兰克林会怎样学习编程?

开发 后端 前端
优秀的编程方法是极难教的。编程书籍大抵都是这样开头的:“这是X方法的例子,还有下面这个例子”。教教基础是容易的,因为基础知识也就那么多。难 就难在,要教明白每种选择带来的结果。一般我们会建议多写代码,慢慢提高水平。

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

[[156676]]

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

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

 

[[156677]]

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

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

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

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

 

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

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

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

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

  4. 重写这个程序。

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

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

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

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

责任编辑:王雪燕 来源: 编程派
相关推荐

2011-07-14 22:25:36

2015-01-05 14:32:32

2022-06-02 08:00:00

数据科学机器学习工具

2020-12-08 11:00:11

互联网编程计算机科学

2023-02-27 14:55:54

技术研究

2021-03-23 10:08:02

编程互联网数据科学

2013-08-20 09:48:59

2022-02-18 15:07:29

goroutinepanic协程

2009-05-20 14:51:55

ibmdw系统管理

2018-06-21 08:12:01

中文编程编码

2022-02-22 11:41:06

数据泄露勒索软件

2010-08-20 13:53:20

2016-10-21 09:45:20

RustFedoraJava

2014-12-31 10:02:14

Android可穿戴设备世界

2015-01-05 10:26:14

Android手机厂商

2021-01-27 13:28:55

编程语言Python

2009-07-02 11:15:31

学习JSP技术

2014-02-19 16:26:26

VDI部署

2019-12-26 12:47:10

BashLinux命令

2015-04-22 09:50:56

程序员
点赞
收藏

51CTO技术栈公众号