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

优秀的编程方法是极难教的。编程书籍大抵都是这样开头的:“这是X方法的例子,还有下面这个例子”。教教基础是容易的,因为基础知识也就那么多。难

就难在,要教明白每种选择带来的结果。一般我们会建议多写代码,慢慢提高水平。这是必要但非充分条件。要想学的更好,我们还要判断应该写哪些代码,以及如
何改善这些代码。

我们接下来转向与编程紧密相关的领域——写作,寻求改善技艺的灵感。从很多方面看,编程就像是写作。二者的核心关注点,都是以容易沟通的形式表达自

己的思想。我们会发现二者都很困难,因为我们的思想是高度密集交错的,而文本又是极其地线性化。利用文本,我们有无数中表达思想的方法,这使得学习写作的
艺术,以及编程的艺术,变得很困难。

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

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

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

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

但是我发现我的词汇贫乏,或是说我不能很快地想起适当的词来用。我想,假如我以前没有放弃写诗的话,那时候我的词汇一定会丰富得多了,因为经常不断

地有机会寻找具有同样意义而有不同长度的词去适合诗的韵律,或是不同音素的词去凑韵脚,会迫使我不断地搜索具有不同形式的同义词,这将有助于我记忆这些不

同的词并使我掌握它们。因此,我把其中的一些故事改写成了诗,过了一些时候,当我差不多已经遗忘了原来的散文的时候,我又把它们重新还原。有时候我也把我

摘录的思想搞乱了,经过几个星期以后,设法把它们用最好的次序排列起来,然后再把它们写成完整的句子,组合成文章。这样做,是为了教我如何整理思想的方法

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

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

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

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

来源:51CTO

时间: 2024-11-28 23:01:44

本杰明·富兰克林会怎样学习编程?的相关文章

对学习编程的一些粗浅看法

大概是因为这个网站叫编程入门网的缘故,网站信箱经常收到编程学习方面的问题.感觉总这样回信也不是办法,所以才有了这篇文章.文章置顶到首页后每个人都能看到,这大概是一个一劳永逸的方法. 说明一下:本人不是专家,手也不高,以下所说的只是我对网友常见问题的个人看法,仅供参考.如果能为别人提供一点点帮助,那么我会感到荣幸之至. 一.编程好学吗?多长时间才能学会编程? 这个因人而宜.通常情况下,从实现第一个"Hello World",到比较熟练的编写代码,这个过程可能比学习其它的计算机技术要长一些

用Codecademy学习编程 简单又有趣

为了学习编制程序,很多人买了一堆相关书籍,并参加了很多网络课程,甚至花了几百块钱买了一套教学光碟,到头来还是不会编程,非常不值. Codecademy是一个刚推出的网站,它为用户提供了一种学习编程的新方式.它是一种基于网络的互动编程教程,手把手帮助用户了解JavaScript的一些基本原理,更重要的是,使用Codecademy学习编程充满了趣味性. Codecademy的注册过程非常特别:无需注册就可以直接使用,最起码一开始时这样.用户一旦进入Codecademy.com页面就能轻松完成编程的第

学习编程的顺序步骤是什么

  学习编程的顺序步骤是什么?学习编程不仅需要坚持,强大的逻辑思维外,还要有完善的学习编程的方法,下文小乐哥给大家带来学习编程的方法详解,对于编程初学者相信会有很大的帮助! 学习编程必经的七个阶段.如下: 第1阶段 机会你很开心,你一直想学这个新的内容,比如说某编程语言,无论是规划还是环境所迫,总之你终于有这个机会学习了. 第2阶段 没有根据地乐观谷歌搜索--挑选一两个自己感兴趣的教程,买资料和书,然后开始MOOC(大规模在线开放教程).教程很有趣,甚至还有在线REPL,可以让你玩耍,你觉得你正

免费学习编程的10个好工具

这个连小孩子都知道开发App的时代,编程是一项必学功能,没必要拿着枯燥的书本在那里死啃,而是即刻动手才能学得快.所以我们要来看看这些免费编程资源. 1. Code/Racer Code/Racer是一个在线编程游戏,会强迫你快速编程,在编程游戏中,Code/Racer所属Treehouse团队拥有超过650个教学视屏,当你完成某个课程的话,就会获得相应的徽章. 2. MIT OpenCourseWare 因为它开放了课程内容,所以每个人都可以从这个机构学到东西.这对于背负着沉重贷款的学生来说是非

底层实现-学习编程是先剖析本质再组合学高级的;还是要用到时再直接针对性的学高级的

问题描述 学习编程是先剖析本质再组合学高级的:还是要用到时再直接针对性的学高级的 学习编程是先剖析本质再组合学高级的:还是要用到时再直接针对性的学高级的 解决方案 先学基础,基础整扎实!张无忌没有九阳神功的功底,怎么可能短时间炼成乾坤大挪移呢?!把乾坤大挪移心法给宋青书,他基本功不行,也练不成的. 解决方案二: 一般程序猿是酱紫的:先基础,再高级coding,coding,coding,思考,重构,coding,coding,coding 搞研究的可能精力更多放在研究本质神马上 解决方案三: 如

想要深入学习编程,求推荐语言-目的是算法实现和数据分析

问题描述 想要深入学习编程,求推荐语言-目的是算法实现和数据分析 目前懂得Python, Vb.Net, R的基本知识,并稍微懂得一些C# 实验室大概要向数据处理方面靠一靠,主要涉及的是地理数据库(关系数据库) 最基本需要是实现功能,例如spatial data clusering啊,定制的决策树啊一类的,也有可能涉及到批处理和其他的底层地理数据库处理. 以后可能有一定图形界面的需求. 我应该主要深入学习哪一门语言比较合适我的需求? 或者有什么其他的语言推荐吗 解决方案 推荐python,现在p

在线学习编程网站收集

下面收集一些个人觉得比较好的在线学习编程网站.当然用google搜索下,会有很多推荐. update 2015-11-11 收集到几个做题网站 http://www.codewars.com/  Codewars http://codeforces.com/        codeforces https://www.hackerrank.com/    HackerRank https://projecteuler.net/archives   Project Euler http://www

非科班出身的人学习编程不负责任指南

为何要写这样一篇文章 来我们这个实验室里读研的学生可能自从来到这里的第一天就觉得自己的命运很苦逼.他们读本科时主修的是机械设计.制造以及自动化之类的专业,毕业时 的简历上也顶多是写写擅长 MS Word.PowerPoint.UGNX.AutoCAD 之类的应用软件.他们有限的学习生涯里,怎么也不会想到来到这里竟然要首先重新学习 C 语言,然后还要学 C++,接下来还要学习 Python 或 Lua 什么的,而且竟然还不让用 Windows,只能用连个 QQ 都没有并且经常出故障的 Linux-

【父亲节故事】32岁入门学习编程的父亲给我的启示

导读:每天总有很多读者在后台留言给文摘:"我现在学编程晚吗?","我已经快30岁了,还能学写程序吗?","学编程难吗,要怎么开始呢?"在父亲节这样一个特殊的日子里,我们带来了一个有关父亲与编程的故事,也许能解答你们的疑问,也祝愿天下的父亲们节日快乐: 2003年,一个刚从电子厂辞职.只有初中文化水平的父亲从二手市场买回一台486二手电脑,开始学习编程.从C语言到C#,从在图书馆偷抄代码片段到教会儿子并行开发.一个在32岁才开始学习程序开发的70后