优秀程序员必备的“笨办法”

举报
竹叶青 发表于 2020/02/17 19:46:17 2020/02/17
【摘要】 通过完成下面这些非常简单的事情来学会一门编程语言,这也是每个程序员的必经之路。1.从头到尾完成每一个习题。2.一字不差地录入每一段程序。3.让程序运行起来。就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你每晚花一两个小时做做习题,你就可以为自己学好下一门编程语言打下良好的基础。通过本文,你学到的可能不是真正的“编程”技术,但你会学到学习一门编程语言的基本技能。这里将教会你编程新...

通过完成下面这些非常简单的事情来学会一门编程语言,这也是每个程序员的必经之路。

1.从头到尾完成每一个习题。

2.一字不差地录入每一段程序。

3.让程序运行起来。

就是这样了。刚开始这对你来说会非常难,但你需要坚持下去。如果你每晚花一两个小时做做习题,你就可以为自己学好下一门编程语言打下良好的基础。通过本文,你学到的可能不是真正的“编程”技术,但你会学到学习一门编程语言的基本技能。

这里将教会你编程新手所需的3种最重要的技能:读和写、注重细节以及发现不同。

笨办法更简单

读和写


很显然,如果你连打字都成问题的话,那你学习编程也会有问题。尤其是,如果你连程序源代码中的那些奇怪字符都打不出来的话,就更别提编程了。如果没有这些基本技能,你将连最基本的软件工作原理都难以学会。

手动录入代码范例并让它们运行起来的过程,会让你知道各种符号的名称,熟悉它们的用处,最终读懂这门编程语言。

注重细节


区分好程序员和差程序员的最重要的一个方面就是对于细节的重视程度。事实上,这是任何行业区分好坏的标准。如果缺乏对工作中每一个微小细节的注意,你的工作成果将不可避免地出现各种关键缺陷。从编程这一行来讲,你得到的结果将会是毛病多多而且难以使用的软件。

通读一字不差地录入每个例子,会训练你把精力集中到正在做的事情的细节上。

发现不同


程序员长年累月的工作会培养出一种重要的技能,那就是观察事物间不同点的能力。有经验的程序员拿着两份仅有细微不同的程序,立即就可以指出里边的不同点来。程序员甚至制造出工具来让这件事更加容易,不过我们不会用到这些工具。你要先用笨办法训练自己,然后才可以使用这些工具。

在做这些习题并且录入代码的时候,你一定会写错东西,这是不可避免的,即使有经验的程序员也会偶尔出错。你的任务是把自己写的东西和正确答案对比,把所有的不同点都修正过来。这样的过程可以让你对程序里的错误、bug以及其他问题更加敏感。

不要复制粘贴

你必须手动将每个习题录进去。复制粘贴会让这些习题变得毫无意义。这些习题的目的是训练你的双手、大脑和思维,让你有能力读代码、写代码和观察代码。如果你复制粘贴的话,就是在欺骗自己,而且这些习题的效果也会大打折扣。

使用附带的视频

视频教程可以用来帮助你学习这门语言。每个习题都有一个对应的视频,其中要么是对于习题的演示,要么是教你一些完成习题的小技巧。使用视频最好的方法就是,当你在书里边遇到困难或者完成习题后复习时去看看。这样会让你逐渐摆脱对视频教程的依赖,并培养出直接通过书籍学习的能力。只要坚持这样做,慢慢你就不需要视频教程了,不管是本书的视频还是别的视频,学编程时你都不需要了。你会具备直接通过阅读获取信息的能力。

关于坚持练习的一点提示

你在学编程时,我正在学弹吉他。我每天至少训练2小时,至少花1小时练习音阶、和弦、琶音,剩下的时间用来学习音乐理论和乐曲演奏、训练听力等。有时我一天会花8小时来学习吉他和音乐,因为我觉得这是一件有趣的事情。对我来说,要学习一样东西,最自然、最根本的方法就是去反复地练习。我知道,要学好一种技能,每日的练习是必不可少的,就算哪天的练习没啥进展(对我来说是常事),或者说学习内容实在太难,你也不必介意。只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣。

在我写《“笨办法”学Python》《“笨办法”学Ruby》这两本书之间的时间内,我对绘画产生了兴趣。在39岁的时候喜欢上了视觉艺术,然后就跟以前学习吉他、音乐、编程的时候一样,每天学习绘画。我搜集了诸多入门教材,照着书上的去做,每天都画一些东西出来,并且享受着学习的过程。我离“艺术家”还差得远,甚至连“画得好”都谈不上,不过现在我可以说我是“会画画”的了。在学习艺术的过程中,我用的就是教你们编程的方法。只要将问题拆分成小的练习和课程,你就可以学会任何东西。只要集中精力慢慢提高,享受学习的过程,不管最终学到什么程度,你都会从中获益的。

学习编程的过程中要记住一点,就是所谓的“万事开头难”,对于有价值的事情尤其如此。也许你是一个害怕失败的人,一遇到困难就想放弃;也许你是一直没学会自律,一遇到“无聊”的事情就不想上手;也许因为有人夸你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情,怕有负你“天才”的称号;也许你太过激进,把自己跟像我这样有20多年经验的编程老手相比,让自己失去了信心。

不管是什么原因,你一定要坚持下去。如果遇到做不出来的巩固练习,或者遇到一个看不懂的习题,你可以暂时跳过去,过一阵子回来再看。编程中有一件经常发生的怪事就是,一开始你什么都不懂,这会让你感觉很不舒服,就像学习人类的语言一样,你会发现很难记住一些词和特殊符号的用法,而且会经常感到很迷茫,直到有一天,你会觉得豁然开朗,以前不明白的东西忽然就明白了。如果你坚持完成并努力理解这些习题,你最终会学会这些东西的。也许你不会成为一位编程大师,但你至少会明白编程的原理。

如果你放弃的话,你会失去达到这个程度的机会。如果你坚持尝试,坚持录入习题,坚持弄懂习题的话,你最终一定会明白里边的内容的。


以上内容节选自《“笨办法”学Python(第3版)》

《“笨办法”学Ruby(第3版)》是《“笨办法”学Python(第3版)》的姊妹篇,适合对计算机了解不多,没有学过编程,但对编程感兴趣的读者学习使用。

作者:Zed Shaw

是一名狂热的吉他手、程序员和编程书作家。他的书教世界各地的人如何写软件。他的《“笨办法”学Python》在全球有数百万的读者。他写的软件大大小小的公司都在使用。他的文章经常被众多极客圈里的人阅读和引用。他是一名活跃且有趣的作家,他会让你大笑,也会让你思考。

Zed Shaw完善了堪称世界上最好的Python学习系统。只要跟着学习,你就会和迄今为止数十万Zed教过的初学者一样获得成功!

译者:王巍巍


2010年的某一天,忽然在网上某处看到一个叫Zed A. Shaw的人在写一本Python入门书,而且这本书和别的入门书不太一样,于是就去了解了一下。虽然当时我也算是入过门了,但温故知新总是不错的。Zed的书是放在网上用Git做版本管理的,于是每更新一章我就跟着看一章。这段时间,除了巩固了一些Python知识,还亲眼见识了一本书是怎样写成的,真是收获不少。

看完后最大的一个感想就是:“原来入门书可以这么写!”

2011年年初正好我杂事较少,于是征得Zed的同意,也学着他的方式,在网上建了一个项目,目的是将这本书翻译为中文版。经过几位朋友的转发,这个项目也算得到了一定的关注度。断断续续3个月后,翻译初稿就算完成了,放在网上供大家随意阅览。也许到现在你还能找到网上流传的版本。

很可能Zed也没想到自己的书会获得这么高的关注度,有一次他在网上说:“如果我能在每个初学者身上赚一块钱,那我就差不多发财了。”后来Zed自费出版了这本书,甚至还开过线上和线下的教学课程,书的内容也在各种反馈的基础上逐步修改和完善。出第3版时,章节的深度和主题的覆盖度和当初已经差别很大了。

本文转载自异步社区

原文链接:

https://www.epubit.com/articleDetails?id=NC7E3EF907C90000149598D28159C1DF6


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。