按 ‘ 2012年12月11日 ’ 归档

程序员入伙书——下载Python并念诵程序员真言

想通过纯读书来学习任何技术,可能都行不通。我发现,即使你不编写程序,而只是把别人写好的程序亲自在键盘上敲一遍,都会有很强的感觉。默读一首诗,试图背诵它,不如念出声给自己听来得快。所以我恳请读者通过练习来掌握编程,练习需要用至少一种编程语言,我在这里推荐Python,后头的示例里,也会一直用Python来做例子。

你可以尽情忽略本篇里的“编程语言”、“Python”这些还不应该被提及的术语,它们目前一点也不重要。

对于早就是程序员的围观群众来说,我选择Python作为示范语言的理由有:

  • Python无需(看得见的)编译即可直接运行。
  • Python完全免费,拿来教学不涉及法律问题。
  • 使用Python的话,即使是初学者的程序,看起来也和牛人们写的一样悦目。(请呵呵大笑)

在Windows的机器上,下载并安装Python的步骤(其他机型需要去http://www.python.org自行发现):

  1. 点击 http://python.org/ftp/python/3.3.0/python-3.3.0.msi下载一个叫做python-3.3.0.msi的文件。把它存放在你的桌面上,或者一个你回头找得着的文件夹下。
  2. 下载完毕后,运行这个文件,接受一切默认选项,一路点Next就可以了。
  3. 安装完毕后,当你点“开始”或者“Start”按钮,再移动鼠标到“所有程序”或“All Programs”时,你会发现一个叫做“Python 3.3”的新建程序组,再移动鼠标到这里展开它,选择“IDLE (Python GUI)”,你会看到这个窗口:

当读者老爷们看到这个窗口后,我不想对大家说:“恭喜你!工具已经准备好了,现在请关掉窗口并期待明天的正式讲课。”正相反,我想请大家做一件十分重要、十分重要的事情。这个事情,就是念诵程序员真言,写下你人生中的第一个程序。让闪烁的光标伴随着你因激动而发抖的双手,在窗口提示的“>>> ”后面输入以下文字:

print('hello, world')

现在,停一下,请检查:

  • hello和world必须全都是小写字母。
  • world后面不要跟句点。
  • 逗号后面一定要跟个空格。

都确认之后,敲Enter键,你会看到窗口里有这些内容:

>>> print('hello, world')
hello, world
>>>

其中第一行print啥啥的是你敲进去的,第二行“hello, world”是程序的输出,而“>>> ”是Python期待你继续指挥它的提示符。

关于“hello, world”,传说,每个程序员必须尽早让自己的一个程序朗诵这句话,并且,除了朗诵这句话之外,这个程序什么别的事也不要做。念诵这句话必须做到每个字母、每个标点、每个空格都是精准正确的,否则,不但不能成为一个好的程序员,未来的编程工作中还会出现种种意想不到的失误(简称bug)。

现在,我可以说:恭喜你!欢迎入伙!你编写了至少一个程序,现在已经是程序员了!

程序员入伙书——序

公司里有个小女孩,在我组里工作一年半了。虽然在我组里,其实是挂靠一下。她的工作是数据录入,多是手工工作,体力上很辛苦,工资也委实不高。但她很敬业很努力,也时常做超越自己的事情。

我这个组里的其他人都是程序员,她坐在里头,耳濡目染地有了一些思路。每每有事,她还是很想用自动化的方法解决的。有这么一个机会,一个同事用Excel写了个数据发送程序,里面放了些用于统计及查错的公式,这还没涉及编程呢,已经引起她浓厚的兴趣。后来她还真的自己捣鼓出来一个检查数据是否已经完备的VBA,别管她请了多少人帮忙吧,总算是她自己推进的,更重要的是她做成了。我注解一下,在大公司里,做一件不同于常规业务职责的事,是很不容易的。

曾经有封信,从好吃懒做的印度同事发来的,信里问的是个技术问题,当时北京已经下了班,他们就把信发给了巴黎技术组的当班经理,不料这小姑娘当时在北京的办公室还没下班,就手把这个“技术问题”解决了。印度大窘,后来常常受到我们的挤兑:你们就不能多学点?你瞧瞧我们的小姑娘,也不是科班出身,才毕业一年多点,都不用技术员们帮忙就搞定了!

我觉得呢,很多事情,例如写程序,有些人说学不会,那是有两个原因:一、没兴趣;二、没法让他感兴趣。如果第一个原因是第二个原因引起的,或许还可以从表达手段上努力一下,拉他们入伙。像我刚才说到的这位小姑娘呢,她是感兴趣却还没有完全找到感觉,平时说话也总让人觉得糊里糊涂的。但我觉得,这个“糊里糊涂”只是非码农的经典思路而已,只要能上道,就可以改变。以我的表达水平,把她雕琢成程序员还是有希望的。人到我这里时一张白纸,如果被我画上画,而且还画得不错,拿出去能升值,是我最大的成就。

所以我准备写个编程教材系列,把只会使用“电脑”(对不起,我只称“计算机”)打字上网玩游戏的非科班人士变成程序员。不要指望读了这个系列能成为计算机科学家,因为我还不是。我也不想把这个教材称为傻瓜书,因为大家不傻。我本着平等的原则,称之为“程序员入伙书”吧。