在知乎看到了上面的问题 - 有谁是单纯地喜欢编程吗?
自己结合自己的情况写了一个答案,现在简单整理到这里。
知乎回答地址:https://www.zhihu.com/question/264288696/answer/284162359 博客文章地址:http://gudong.site/2017/12/27/why-programe-zhihu.html
小时候我是一个特别喜欢动手的人。
我来自农村,在我童年生活里,几乎没有买过玩具(主要是穷吧),如果算的话,过年时用压岁钱买的手枪算是为数不多的玩具,但我本身是一个非常爱玩的人。
我喜欢凿子,因为用它可以把木头做成各种形状还可以挖窑洞,所以自己就去捡,记得有一次找到一个厚度差不多的铁片后,自己就去磨,后来把这个凿子磨得特别好使,很锋利,几乎每天都带在身边,直到后来丢了,再到后来却再也做不出那么好的凿子了。
小时候,还特别喜欢打兔子。冬天的时候我喜欢去田埂、地沟里,草窝里找兔子。
冬天的兔子在白天会在这些地方睡觉,找到后就想把兔子打下,但是没有合适的工具。后来我想可以用弓箭,然后开始自制弓箭,就去找了竹子做弓,不知从哪看到的,说是把烧开的油沥在竹子上可以让弓有更好的柔韧性,所以自己趁着家人不在,偷偷把家里的食用油烧开,然后跑到后院去给竹子浇油。
有了弓,还需要箭。为了让箭射出去保持准确的方向,我开始仿照电视上的箭给箭尾部找羽毛,后来找了鸽子、鸡、老鹰的羽毛,后来还是选择了鸽子的羽毛。
同时为了让箭更有杀伤力,自己又找了家里用的铁叉,把叉头锯下来磨锋利,让后套在箭头。 弓箭好了,自己便去找兔子,每次兴高采烈的去找,大多数时候都找不到,或者还没找到兔子,兔子已经被我脚步声音吓跑了,很少能找到睡觉的兔子。
终于有一次在附件的小树林子里发现了一个睡觉的兔子,我试着调整各种射击的角度,最终箭还是射在了兔子旁边的毛刺上。
后来上初中时还在自家制氧气,自己用青霉素瓶在水里收集氧气,会收集好几瓶,收集好后会把老家的叔叔叫过来,给他们演示带火星的火柴复燃实验,等等..
总之小时候只要觉得好玩的东西,自己都喜欢去试试,特别喜欢从头到尾做出一个东西的感觉。
后来高中填报志愿,还是 09 年,那时计算机专业远没有现在这么火,当时我报的第一志愿并不是计算机,而是机械相关专业,当时没取上,到时滑到了当时比较冷门的计算机专业。
说到计算机,我高中几乎没有接触过,当时室友经常去网吧通宵,我第一次进网吧还是高三填报志愿时才去的。 最终我还是去了大学开始学习计算机专业,大一开始编程,一开始学 C 语言,但是整个一学期结束了,自己对编程还是没概念,觉得非常晦涩,当时学习数据结构、操作系统、计算机原理,一脸懵逼。
直到大二,情况还是没什么好转,后来我开始思考,既然自己是被选择的,况且也没有更适合自己的专业,转专业也是不是什么好选择,为什么不好好学习一下计算机编程呢,我觉得自己需要主动去了解它,而不是一直被动的等待自己对它感兴趣。
后来无意在同学那里了解到一门网络教程,教程名现在依旧记得很清楚-《C语言也能干大事》(杨中科老师出品),当时隔壁宿舍同学正在学这个,我看到这个教程中可以实现一个可视化对话框,当时很高兴,原来C语言还可以写出一个对话框,之前的学习都是在黑框框中进行的。
后来拷贝了教程开始学习,发现可以用 C 语言写界面,然后自己跟着教程做东西,当时觉得可以写一个对话框好牛逼,还可以处理点击事件,继续显示对话框,当时感觉就像是进入了另一个世界,原来编程可以是这个样子。
这完全激发了自己爱做东西的爱好,后来在寒假为了把可视化做的更好,自己便开始学习 MFC,当时还买了侯俊杰的 《深入浅出 MFC》,这是我买过的第一本技术书籍,现在还在身边,后来在那个寒假里开始学习 MFC,假期结束时自己做了一个定时开关机的小应用,非常开心。不过在 MFC 的道路上自己并没有走很远。
开学后,跟同学交流后,她直言现在(2011)MFC 已经快过时了,你应该学 Java 啊,然后一语惊醒梦中人,我开始自学 Java,还是采取了之前的套路,从网站找了视频教程开始学习 Java 语法,后来尽管不怎么写界面,但是对编程已经非常痴迷,觉得只要学习好了一门语言就可以用代码控制一切,写出任何你要要的结果。
后来自学 Java Web、包括 CSS 等前端知识,还有数据库。然后那个学期结束后的暑假,自己在学校里已经提前下载好了很多系统的教学视频,包括 MLDN 的 Oracle 数据库视频 以及 Struts2 等其他框架视频,那个假期基本就是在听视频的过程中度过的,一个假期学到的东西比一学期学的还多。
依旧记得当时用三大框架组合起来做一个 Web 应用时出现了一个问题,自己硬是死磕了三天终于把一个整合了三大框架的 web 项目跑起来了,当时开心的无以言表,还记得自己跟老妈描述我问题的傻样子。
到后来,毕业后来到北京,加入浩浩荡荡的 IT 大军。
每个人有每个人的故事,编程不是一个体力活,编程是一个富有创造力的工作,我喜欢创造的感觉,就像小时候喜欢做的凿子、弓箭。