2020-02-16

“你在 2 个小时里完成的事,我们 3 个人要做两天。”21

世纪早期,我的大学室友在一个电子产品零售商店工作。商店

偶尔会收到一份电子表格,其中包含竞争对手的数千种产品的

价格。由 3 个员工组成的团队,会将这个电子表格打印在一叠

厚厚的纸上,然后 3 个人分一下。针对每个产品价格,他们会

查看自己商店的价格,并记录竞争对手价格较低的所有产品。

这通常会花几天的时间。

“如果你有打印件的原始文件,我会写一个程序来做这件事。”我的室友告诉他

们,当时他看到他们坐在地板上,周围都是散落堆叠的纸张。

几个小时后,他写了一个简短的程序,从文件读取竞争对手的价格,在商店的

数据库中找到该产品,并记录竞争对手是否更便宜。他当时还是编程新手,花了许

多时间在一本编程书籍中查看文档。实际上程序只花了几秒钟运行。我的室友和他

的同事们那天享受了超长的午餐。

这就是计算机编程的威力。计算机就像瑞士军刀,可以用来完成数不清的任务。

许多人花上数小时点击鼠标和敲打键盘,执行重复的任务,却没有意识到,如果他

们给机器正确的指令,机器就能在几秒钟内完成他们的工作。


软件是我们今天使用的许多工具的核心:几乎每个人都使用社交网络来进行交

流,许多人的手机中都有连接因特网的计算机,大多数办公室工作都涉及操作计算

机来完成工作。因此,对编程人才的需求暴涨。无数的图书、交互式网络教程和开

发者新兵训练营,承诺将有雄心壮志的初学者变成软件工程师,获得 6 位数的薪水。

就它本身来说,这本书不会让你变成一个职业软件开发者,就像几节吉他课程

不会让你变成一名摇滚巨星。但如果你是办公室职员、管理者、学术研究者,或使

用计算机来工作或娱乐的任何人,你将学到编程的基本知识,这样就能将下面这样

一些简单的任务自动化:

 移动并重命名几千个文件,将它们分类,放入文件夹;

 填写在线表单,不需要打字;

 在网站更新时,从网站下载文件或复制文本;

 让计算机向客户发出短信通知;

 更新或格式化 Excel 电子表格;

 检查电子邮件并发出预先写好的回复。

对人来说,这些任务简单,但很花时间。它们通常很琐碎、很特殊,没有现成

的软件可以完成。有一点编程知识,就可以让计算机为你完成这些任务。

什么是编程

在电视剧和电影中,常常看到程序员在闪光的屏幕上迅速地输入密码般的一串 1

和 0,但现代编程没有这么神秘。编程只是输入指令让计算机来执行。这些指令可

能运算一些数字,修改文本,在文件中查找信息,或通过因特网与其他计算机通信。

所有程序都使用基本指令作为构件块。下面是一些常用的指令,用自然语言的

形式来表示:

“做这个,然后做那个。”

“如果这个条件为真,执行这个动作,否则,执行那个动作。”

“按照指定次数执行这个动作。”

“一直做这个,直到条件为真。”

也可以组合这些构件块,实现更复杂的决定。例如,这里有一些编程指令,称

为源代码,是用 Python 编程语言编写的一个简单程序。从头开始,Python 软件执

行每行代码(有些代码只有在特定条件为真时执行,否则 Python 会执行另外一些代

码),直到到达底部。

 passwordFile = open('SecretPasswordFile.txt')

 secretPassword = passwordFile.read()

 print('Enter your password.')

typedPassword = input()

 if typedPassword == secretPassword:

 print('Access granted')

 if typedPassword == '12345':

 print('That password is one that an idiot puts on their luggage.')

else:

 print('Access denied')

你可能对编程一无所知,但读了上面的代码,也许就能够合理地猜测它做的事。

首先,打开了文件 SecretPasswordFile.txt,读取了其中的密码。然后,提示用户

(通过键盘)输入一个密码。比较这两个密码,如果它们一样,程序就在屏幕上

打印 Access granted。接下来,程序检查密码是否为 12345,提示说这可能并不

是最好的密码。如果密码不一样,程序就在屏幕上打印 Access denied。

什么是 Python

Python 指的是 Python 编程语言(包括语法规则,用于编写被认为是有效的

Python 代码),以及 Python 解释器软件,它读取源代码(用 python 语言编写),并

执行其中的指令。Python 解释器可以从 http://python.org/免费下载,有针对 Linux、

OS X 和 Windows 的版本。

Python 的名字来自于英国超现实主义喜剧团体,而不是来自于蛇。Python 程序

员被亲切地称为 Pythonistas。Monty Python 和与蛇相关的引用常常出现在 Python 的

指南和文档中。

程序员不需要知道太多数学

我听到的关于学习编程的最常见的顾虑,就是人们认为这需要很多数学知识。

其实,大多数编程需要的数学知识不超过基本算数。实际上,善于编程与善于解决

数独问题没有太大差别。

要解决数独问题,数字 1 到 9 必须填入 9×9 的棋盘上每一行、每一列,以及每

个 3×3 的内部方块。通过推导和起始数字的逻辑,你会找到一个答案。例如,在图 1

的数独问题中,既然 5 出现在了左上角,它就不能出现在顶行、最左列,或左上角

3×3 方块中的其他位置。每次解决一行、一列或一个方块,将为剩下的部分提供更

多的数字线索。

仅仅因为数独使用了数字,并不意味着必须精通数学才能求出答案。编程也是

这样。就像解决数独问题一样,编程需要将一个问题分解为单个的、详细的步骤。

类似地,在调试程序时(即寻找和修复错误),你会耐心地观察程序在做什么,找

出缺陷的原因。像所有技能一样,编程越多,你就掌握得越好。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容