专栏首页C语言及其他语言本杰明·富兰克林会怎样学习编程?

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

来源:编程派

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

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

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

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

大约在这时候,我偶然看到了一本《旁观者》的零本,是第三册。在这以前,我从未曾看见过这个刊物。我买了这本散册,反复读了几遍,十分中意,我认为文章写得好极了,如果可能的话,我想模仿它的风格。 因此我从中选了几篇文章,简要地摘录下了每一句的大意,接着把它们搁置几天。然后不看原书,用我自己想得起来的合适辞句,把每一个句子尽量完整地表达出来,又凑成整篇的文章,使它表达得像以前一样地完整。最后,我把我自己写的《旁观者》与原文比较,发现了一些我的错误,作了修正。 但是我发现我的词汇贫乏,或是说我不能很快地想起适当的词来用。我想,假如我以前没有放弃写诗的话,那时候我的词汇一定会丰富得多了,因为经常不断地有机会寻找具有同样意义而有不同长度的词去适合诗的韵律,或是不同音素的词去凑韵脚,会迫使我不断地搜索具有不同形式的同义词,这将有助于我记忆这些不同的词并使我掌握它们。因此,我把其中的一些故事改写成了诗,过了一些时候,当我差不多已经遗忘了原来的散文的时候,我又把它们重新还原。有时候我也把我摘录的思想搞乱了,经过几个星期以后,设法把它们用最好的次序排列起来,然后再把它们写成完整的句子,组合成文章。这样做,是为了教我如何整理思想的方法

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

  1. 找一个你特别喜欢的程序,阅读它的代码。
  2. 记录下每个主要组件的角色、输入和输出。
  3. 记录下每个组件之间是如何交互的。
  4. 重写这个程序。
  5. 把你的代码与源代码进行比较。
  6. 记录下你要在哪方面改进,并学习相应的知识。

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

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

本文分享自微信公众号 - 编程范(dotcpp)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2015-11-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 重新敲一遍代码,胜过拷贝粘贴

    来源:腊八粥 网址:http://www.labazhou.net/2015/10/dont-copy-paste-retype/ ---- 原文地址(ori...

    编程范 源代码公司
  • 靠编程赚钱的7个方法:普通程序员最难

    来源:码农网 原标题《编程赚钱的7个方法》,IT之家编辑酌来源:码农网 几个星期前,当我收到一个自称Someone712的人发给我的一条消息时,我决定要...

    编程范 源代码公司
  • MarkDown编辑器基本使用说明

    如果这是您第一次使用MarkDown编辑器,建议先阅读这篇文章了解一下Markdown的基本使用方法。

    编程范 源代码公司
  • 程序员的日常:为了写一段代码......

    @TMM-eng:本来想周末看看代码的,结果呢,代码忘了往远程推了,在家用自己的电脑download的时候傻眼了,不是最新版本的,好嗨哦

    极乐君
  • 如何深入理解开源项目从小代码集看起聚焦请先看文档关注资源的生命周期找一个好工具建立调试环境看代码很累,要坚持

    大宽宽
  • 天天写代码,觉得自己特别苦逼?嗯,还有20年AI就来解放你

    Root 编译整理 量子位 出品 | 公众号 QbitAI “年轻人呐,别想着写代码写到老啊喂。时代在变啦!” 美国能源部橡树岭国家实验室研究委员会苦口婆心地劝...

    量子位
  • SnippetsLab - 像纳博科夫写小说一样写代码

    你可能没听过纳博科夫这个名字,但你一定听说过他的作品《洛丽塔》。这位20世纪的文学大师有着一个著名的写作习惯——使用卡片进行写作。他会在一张张卡片上写下一个又...

    若与
  • 编程的智慧特点

      编程是一种创造性的工作,是一门艺术。精通任何一门艺术,都需要很多的练习和领悟,所以这里提出的“智慧”,并不是号称一天瘦十斤的减肥药,它并不能代替你自己的勤奋...

    用户1289394
  • C语言入门小程序-猜数字

    学习编程注重实践,不少同学书看了好几章,等动手开始自己写的时候,发现还是不知从何下手。今天,我们以一个猜数字的小程序为例,带大家了解一下。

    用户6755376
  • 【编程指导】如何写出无法维护的代码

    读到一个非常有趣的文章,原文来自国外某网站,经过作者的翻译,读来非常有趣,反话正说,诙谐之中却道出了好多程序员不好的编程习惯。以下是翻译原文。 酷壳里有很多我觉...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券