Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

119 lines (91 sloc) 6.58 kb

前言:笨办法更简单

这本小书的目的是让你起步编程。虽然书名说是“笨办法”,但其实并非如此。 所谓的“笨办法”是指本书教授的方式。在这本书的帮助下,你将通过非常简单的练习学会一门编程语言。 做练习是每个程序员的必经之路:

  1. 做每一道习题
  2. 一字不差地写出每一个程序
  3. 让程序运行起来

就这样了。一开始,这可能会非常难,但是你需要坚持下去。 如果你读完了这本书,而且每天晚上花一两个小时做习题, 你可以为读下一本书打下一个坚实的基础。 你可能没法从这本书里真正学到“编程”,但是你能学到最基本的学习方法。

这本书的目的是教会你编程新手的三项最重要的技能:读和写、注重细节、发现不同。

读和写

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

把代码写下来并运行起来有助于你学习各种符号的名字并熟悉他们, 这个过程也会让你对编程语言更加熟悉。

注重细节

区分开好程序员和坏程序员的一个重要技能就是注重细节。 事实上,任何行业都依靠这个来区分好坏。 如果缺乏对于工作的每一个微小细节的注意,你的成果中将缺少许多重要的元素。 以编程来说,你得到的只会是一个充满漏洞、难以使用的程序。

通过阅读本书,并且一字不差的打出每一个例子,你将通过实践训练自己的大脑注重作品中的每一个细节。

发现不同

程序员长年累月的工作会培养出一个重要技能,那就是对于不同点的区分能力。 有经验的程序员拿着两份仅有细微不同的程序,可以立即指出里边的不同点来。 程序员甚至造出工具来让这件事更加容易,不过我们不会用到这些工具。 你要先用笨办法训练自己,等你具备一些相关能力的时候才可以使用这些工具。

当你做书中的练习、写每一行代码的时候,你一定会写错一些东西。 不要害怕,这是很正常的,甚至是极富经验的程序员也会偶尔写错。 你的任务是对比你的答案和正确答案,找出不同点并修正过来。 这样的过程可以让你对程序中的漏洞、bug和其他问题更加敏感。

不要复制粘贴

你必须手动将每一个练习打出来,复制粘贴对你毫无益处。 这些练习的目的是训练你的双手、大脑,让你有能力去读写代码。 如果你只是复制粘贴,你就是在欺骗自己,练习的效果也会大打折扣。

关于坚持练习的一点提示

在你学习编程的过程中,我在学弹吉他。我每天至少练两个小时, 至少花一个小时练习音阶、和声、和琶音, 剩下的时间用来学习音乐理论和歌曲演奏以及训练听力等。 有时我一天会花 8 个小时来练习,因为我觉得这是一件有趣的事情。 对我来说,要学好一样东西,每天的练习是必不可少的。 就算这天个人状态很差,或者说学习的课题实在太难,你也不必介意, 只要坚持尝试,总有一天困难会变得容易,枯燥也会变得有趣了。

在你通过这本书学习编程的过程中要记住一点,“万事开头难”。 也许你是一个害怕失败的人,一碰到困难就想放弃; 也许你是一个缺乏自律的人,一碰到“无聊”的事情就不想上手。 也许因为有人夸你“有天分”而让你自视甚高,不愿意做这些看上去很笨拙的事情,怕有负你”神童”的称号。 也许你太过激进,把自己跟有20多年经验的编程老手相比,让自己失去了信心。

不管是什么原因,你一定要坚持下去。 如果你碰到做不出来的加分习题,或者碰到一节看不懂的习题,你可以暂时跳过去,过一阵子回来再看。 只要坚持下去,你总会弄懂的。

一开始你可能什么都看不懂。这会让你感觉很不舒服,就像学习人类语言一样。 你会发现很难记住一些单词和特殊符号的用法,而且会经常感到很迷茫, 直到有一天,忽然一下子你会觉得豁然开朗,以前不明白的东西忽然就明白了。 如果你坚持练习下去,坚持去上下求索,你最终会学会这些东西的。 也许你不会成为一个编程大师,但你至少会明白程序是怎么工作的。

如果你放弃的话,你会失去达到这个程度的机会。 你会在第一次碰到不明白的东西时(几乎是所有的东西)放弃。 如果你坚持尝试,坚持写习题,坚持尝试弄懂习题的话,你最终一定会明白里边的内容的。

如果你通读了这本书,却还是不知道编程是怎么回事,那也没关系,至少你尝试过了。 你可以说你已经尽过力但成效不佳,但至少你尝试过了。这也是一件值得你骄傲的事情。

许可协议

This book is Copyright (C) 2011 by Zed A. Shaw. You are free to distribute this book to anyone you want, so long as you do not charge anything for it, and it is not altered. You must give away the book in its entirety, or not at all. This means it's alright for you to teach a class using the book, so long as you aren't charging students for the book and you give them the whole book unmodified.

致谢

I'd like to thank a few people who helped with this edition of the book. First is my editor at Pretty Girl Editing Services who helped me edit the book and is just lovely all by herself. Then there's Greg Newman, who did the cover jacket and artwork, plus reviewed copies of the book. His artwork made the book look like a real book, and didn't mind that I totally forgot to give him credit in the first edition. I'd also like to thank Brian Shumate for doing the website landing page and other site design help, which I need a lot of help on.

Finally, I'd like to thank the hundreds of thousands of people who read the first edition and especially the ones who submitted bug reports and comments to improve the book. It really made this edition solid and I couldn't have done it without all of you. Thank you.

Jump to Line
Something went wrong with that request. Please try again.