干了多年的编程工作,开发过的程序可谓汗牛充栋,可是编程到底是一个什么工作呢?
之前一直以为程序开发是个钱多事多的辛苦活,但是春节期间帮妻子写了一个排考场的小程序后,突然有些了新的感悟。
具体内容再之前的文章中提到过了《Python 如何自动完成A4标签排版打印功能》,简单说就是高考改革了,每个孩子考试的科目都不一样了,这给排考场的老师造成了巨大麻烦。后来她找的正在简书上写如何挣美金的我。 请点击,免费订阅《学Swift挣美元》专栏
这个问题对俺们搬砖码农来说的确不是个事儿,我这初级程序员水平用python几个小时就搞定了。
开学后,妻子去学校打印时很多老师都感到很神奇。几百学生竟然个性化的分配到对应的考场,要是人工干可能要2天的时间,而且还不能保证不出错。她们主任知道后给她发了个66.6的红包。
我首先告诉她,这个小程序要找公司定制666也拿不下来。然后她问我是如何实现的,我想了想用人类可以理解的语言告诉她:
其实非常简单,就是找几百个筐,每个框对于一个学生,然后一条一条的读考场数据。我不管孩子们考什么科目,我就是读一条,然后把信息纸条扔到对应的筐里。由于我是超人,我不思考,不抱怨,一眨眼就完成了。
后来她真是听懂了,原来这么简单啊。可是现实世界,我上哪去找几百个筐啊,而且上千条的数据,我一个一个放到几百个筐了,想想都头疼。
没想到她都这番话,竟然点醒了我。
我突然明白了现实世界和计算机世界是两个平行宇宙,他们之间是可以存在一一对应关系的,不过两个世界的事情是完全相反的。在一个世界里难上登天的事情,在另外一个世界里却一眨眼就能完成。
那程序员的工作是什么呢?
我们程序员就是那个能够思考的虫洞,我们负责将现实世界的需求翻译到计算机世界中,翻译过程难度很大,我们必须要时刻清楚计算机世界的法则和边界。
上面就是我自己的一点不成熟的思考。