各位亲爱的朋友,我作为一个文科生,对程序猿的崇敬之情,犹如长江之水,滔滔不绝!
你看电影里面有这样的镜头,一个程序员在键盘上随意的敲击几下,就可以进入某一个系统,获取绝密资料,或者改变导弹发射轨迹,甚至改变外太空当中的飞船飞行方向……
看了这样的镜头,我觉得程序猿真的是神一般的存在,太了不起了,太伟大了!弹指间,强虏灰飞烟灭!运筹于键盘之上,决胜于千里之外!
因为机缘巧合,毕业后我有幸成了一名数据录入员。这个工作,在外人眼里,也是在敲击键盘,操作电脑,别人以为我就是程序员。其实我自己知道,我只是一个打字员,做着重复单调的工作,离程序员还相差很远。
但我渴望挑战,渴望成为一名业余的程序员。
有一次,我看到一位同事在画这样的一个表格:
编号 | 姓名 | 性别 | 住址 |
100 | |||
101 | |||
102 | |||
...... |
这个表格当中“编号”这一栏,是非常有规律的,比方说第1行是100,第2行是101,第3行102,以此类推。
这样的一个表格,是这位同事经常要做的一项工作。
我一看这个表格,就在头脑里面进行了一番论证:
这个表格的编号这么有规律,
有规律的事情,是完全可以用软件来实现的,
既然如此,一定可以编个软件把表格直接打印出来,取代人工填写。
当我把这个想法告诉同事的时候,他非常高兴,就说:“小李,你来编个程序,帮我打印出来吧,如果真能打印出来,那就太好了,省了我很多的事情,这个编号,一忙起来,还经常写错!”
“好的,我一定帮你试一试”!
各位朋友,那个时候还没有Excel这样的软件。要实现这样的一个功能,必须得自己编程序,而在此之前,我从来就没有接触过编程,但是我想给自己一个挑战。于是,下班后我就跑到新华书店,买了一本Foxbase编程方面的书。
那个时候,Foxbase还是很流行的一种数据库语言。
我原以为以我的聪明才智,只要翻翻书,很快就能够编出来,哪知道事情并没有我想象的那么简单,毕竟我是一个文科生,第一次接触编程,折腾了好久,都没有成功。
有一天晚上,我又在调试程序,弄了很久还是没成功,就去睡觉了。
迷迷糊糊在睡梦中,感觉有一个人在提醒我,他说这个程序其实也不难,只要这么做就可以了:
第一,设定一个变量,和一个循环体。
第二,在循环体内,这个变量每一次循环,都增加一个1。
然后把这个变量,转换成字符型,就可以打印出来了。
第二天早晨醒来,这个梦境还是非常清晰,于是我马上按照这个思路,来重新调试一下程序,果然成功了!
我太开心了,我觉得能够编出这样的一个程序,解决实际工作当中的难题,非常有成就感!
那位同事也很感谢我,因为我节省了他大量的工作时间,他拿着我给他打印的表格,很开心、很自豪的跟其他人说:“你看,这就是小李给我打印出来的表格,你看这个编号,用电脑打出来,又漂亮,又不用手写,而且不会出错了,小李这人真不错”!
各位读者朋友,这算是我第一次用编程,解决工作当中的难题,并且获得成功,也让我高兴了很久。
后来因为各种原因,我离开了数据录入员的这个岗位,也就没有再去继续提升我的编程水平,因为我觉得,一个文科生,要在这条路上面发展,这个实在是太难了。
一直到最近,因为我一直在“得到”上学习,"得到"上有一位叫万维钢的老师,是我崇拜的偶像,他一再推荐,哪怕一个文科生,也应该学一点编程的知识。并且他强烈推荐Python这个编程语言,他说这个语言很好学,很容易入门,对于文科生来讲啊,非常好。
听他这么一说,又燃起了我对编程的渴望,于是我又自学了一下Python,编了一些小程序,在程序员眼里,这些程序叫做玩具代码。
而我每次把小程序编成功之后,喜欢在同学群里面晒一晒。我初中同学当中,有一位是博士,她很鼓励我,并且给我出了一道题目,让我编个程序,把杨辉三角打印出来。
我看到她的这个题目,又在脑海里面做了一番推演:
杨辉三角,这个一行一行的,逐行的变化,是这么有规律,这么有规律的事情,软件一定可以实现!
虽然我以前没有编过这个程序,但是我相信,只要捣鼓一下,一定能成功的!
就这样,我尝试着去编这个程序,还真被我编成功了,打印一下,给大家瞧一瞧:
看到这里,有的朋友可能会问,作为一个文科生,学编程会不会很累呢?
确实,学的过程当中,肯定有点累,需要你冥思苦想。很多时候,我也想打退堂鼓,觉得编程,又没有实际的应用价值,干嘛要自己给自己找麻烦呢?
但是当我这么折腾自己之后,有非常、非常巨大的两个收获。
第一个收获是,当编成功了之后,看见代码完美的运行,把预定的结果完美的呈现出来,这个成就感,让我非常、非常开心,这个喜悦,是金钱买不到的。从心理学上讲,这个成就感的本质,是胜任力,而胜任力是人的三大基本需求之一,另外二个需求是自主权和关联感。
所以你去看那些小朋友,他为什么喜欢去做有难度的事情呢?是因为这种胜任力的需求是人的本能。只要你经常性的自我挑战,这种胜任力带来的喜悦,会让你一直在进步。
编程给我带来的第二大收获是,在工作当中,更加务实,更加接地气了!
因为编程时,你有了一个想法,写成代码,马上就面临着运行的问题。如果这个代码没写好,运行一定是会出错的。在编程的过程当中,来不得半点的虚假。
当我写代码写得多了,这种思维习惯,自然而然的就应用在工作当中。
比方说,工作当中,当同事或者老板提出一个想法之后,我马上会想,“这个想法,在实际工作当中,怎样才能成功运行,需要多少钱,需要多少人,成功的概率是多少,还有没有更好的方案?”
每次当我做了这样深入的思考之后,再把思考的结果,和不同意见,呈现给老板的时候,老板总是非常开心,觉得我这个人做事很靠谱。
这就是编程带来的好处,其实我以前是一个想法很多,天马行空,不接地气的人。
但是自从学了编程之后,我会把想法,进行一个细化、流程化,象编程一样代入不同的参数,在头脑这个虚拟机里面运行几次。就会发现,其实我们很多的所谓的灵感,根本就不靠谱,根本就不现实,成功的概率很低。
这就是编程让我养成的思维习惯,感觉就像是上帝为我打开了另外一扇窗。
透过这一扇窗,我看到了更广阔的世界,做事更务实,对未来的人生,更有信心!
各位亲爱的朋友,感谢你的阅读,希望我的分享,也能帮你打开另一扇窗,果真如此,是你之幸,更是我之幸矣!