谈谈编程

渐渐地,当别人问我在干嘛的时候,我会不太喜欢说实话说我在编程,因为似乎谈起编程人们总是会联想到死气沉沉,面无表情的的IT单身眼镜男。夏天一件背心,冬天一件冲锋衣,这便是他们一年的装扮了。他们心里的女神不是班花、校花之流而是Mac Book。哈,虽然并非这样,但这个观念也确实深入人心,人们对编程存在太多的误解。

在中国,你要说你是搞编程的,那好先别说了来先给我装个windows 叉P先,再把360管家、腾讯管家、百度卫士都给装上免得再中毒。你要敢说个不,人定心里嘀咕道:这傻X连这都不会,他爹学费白给他交了。而这兄弟只想一脚踹飞他,并且告诉他:哥不是修电脑的。好吧,你不会修电脑总能帮我盗个4个太阳的QQ号吧,或者帮我破解了女神的相册密码。嗯,这个…我也不行。靠,那你到底能干个啥?

不能修电脑,不能盗QQ,你编程能弄个啥?

当年初学编程是在学校开设的C语言课程设计课上,大家都觉得很难,而且不知道学这些有什么用,我也有这样的疑问。对于16进制我在学完C语言以后都还不太清楚,直到我第一次使用单片机,当我把0X01给到一个I/O口上看到有一盏灯亮了,才明白什么叫做一个bit后来才渐渐明白一个字节有多大,后来搞清楚了指针这玩意儿,再后来就走上了不归路,因为我买了一本讲C++的书。

有时候我想到底编程带给我了什么?最初给单片机编程,带给我的是朋友之间相互探讨的乐趣,当时我大一,我们好多人聚在一起做这方面的事情,有时候一个晚上都点不亮一盏灯,但却也是开心的。后来用C++编程,让我佩服那些前辈们的智慧,很多新鲜玩意儿让人很着迷。程序写的多了就会明白编程的目的是解决问题,而解决问题单靠烂熟程序语言的语法是不行的,需要有领域相关的知识,做网络编程起码要学过计算机网络,做图像处理起码得明白数字图像,否则就如同你让一个小学6年纪的孩子写一篇电磁波的实验报告一样,他会写会说任何需要的汉字,但是缺乏这方面的知识。

所以,学习编程不单单是学习语言的用法,还要学习附带的知识。这正是第一处能给人巨大收获的地方,通过一枚指针引出了内存方面的问题,当你需要提高程序效率的时候,引出了高速缓存、虚拟存储器等问题。总之,这一路上你总是在遇见问题并解决问题,最后发现问题越来越多。这个时候你明白了,图书馆TP打头的书你是永远也看不完的,你不可能学完无数前辈们用几十年研究出的成果,于是你纠结了,你到底该何去何从。

有的时候,你们发现多多知道一些东西,你的视野就会宽一些,当然这不特指编程相关的东西。当你懂得设计的时候,走在街上你才会注意到那些广告和海报设计,并并学习其中的创新。当你懂得某种外语的时候,你的面前会打开另一扇门。有些东西,你不能说出来它能给你带来什么,但可能着一天他能带来重大帮助。

随着年级的升高,好像需要编程的机会也多了起来,课程设计需要编程,课堂作业语言编程,实验课上需要编程。但是据我观察好像很多人对比并不感冒,似乎觉得很难,或者很无趣。无论如何,我觉得当今时代对程序的抵触心理越低越有帮助。我曾在图书馆看见一个女生在处理一个Excel表格,他花了至少20分钟在做同一件事情——复制一列然后粘贴到它的下一列,而这些事实上只需要一行公式就自动处理完了。这样的例子很多,都表明稍微懂得一点编程思想就可以很快的解决一些事情。

有人说编程好难,自己没有天赋,而还有人说编程就是多练,不需要天赋。我觉得还是爱因斯坦那就话好奇心最重要。当你有了好奇心,一切都好办。对于编程,我觉得他就如同写作文一般,就像我现在学这些字一样,就是通过一些符号一些字母把自己的思想表达出来,觉得编程难是因为字还没有认全所以写的时候会有麻烦,觉得没有天赋写不好这是因为经历太少文采不足以写出好文章,对于编程就是经验不够不足以写出好代码。而这两者的解决方法都是多练习。

说到这里,好像有点教唆别人去学习编程的嫌疑。并不是希望人人都成为软件工程师,毕竟有其他重要的工作需要人们去做。这里只是想说明,编程是一个值得关注的话题,也是一个值得参与的工作,当你能把它们用到实际工作、生活中的时候,会发现它的确解决了不少问题。有的气候,你并没有意识到它帮助了你,但是它确实在起作用。

最后,编程带给我的另一个积极影响是它能让我做到整体性学习,对于许多学科它们都从属与计算机或者软件领域在学习这些方面的新知识的时候,总能联想到旧的或者其他学科的知识,各个小的知识渐渐地形成一个体系,这样便于理解也容易记忆。或者说可以理解记忆,所以当我听说有人在背代码以应对C++考试的时候,我很惊讶。

编程也能做一些很有意思的事情比如做出这样一个很奇葩的网页。如果你希望看看我为这张网页编了多少代码,你可以右键点击查看源代码。

当然,编程也给我带来了不小的消极影响,那就是:独坐电脑前,活该你单身。

#编程

想要添加评论? 点击此处给作者发送邮件。 mail