最近有人问我为什么会学编程,突然发现对啊我为什么会学编程?我要怎么回答?

现在回想起来最初我学编程仅仅是一时头脑发热,我第一次接触计算机应该是小学4年级,那时候CS还叫半条命,我记得每个周五放学,我就会和同学去网吧玩上几把,说实话我那时候我真觉得电脑就是高级游戏机,虽然在现在看来当初半条命画面物理模拟都差到了极点,但不能否认在当时和8位机小霸王比完全不是一个量级,所以当时给我带来的震撼足以让我回家磨了我爸一年。

终于在5年级我有了自己的电脑,记得应该是奔三的CPU,256的内存,以及一张集成显卡,和40G的硬盘,今天看来的确是很喳的配置,但在当时也花掉了5000多大洋,于是我打着学习的口号,玩遍的当时我能买到的所有游戏,最后我迷恋上了RPG类型的游戏,最喜欢的应该就是暗黑破坏神,我用了1年的时间练起一个角色,自认为已经是很牛B了,但是就在这个时候网络走进了我的世界,我突然发现这个游戏不但可以一个人玩,而且还可以和别的玩家打架(当时还不知道有PK这个词),于是我兴致勃勃的登陆到网上,结果我在里面被人杀的体无完肤,没有任何还手之力,彻底打击掉我的自信心,我很奇怪为什么我玩了一年的角色,会被人杀的这么惨…… 于是我学会了问百度怎么玩暗黑,结果度娘告诉我有种东西叫金山游侠,虽然不知道原理但我知道它能让我瞬间满级,我突然对游戏失去了信心,开始好奇金山游侠是如何做到的。这时我又知道了一个职业叫”黑客“他们神秘怪异让人恐惧,他们可以进入你的电脑,制作木马,病毒。于是我立志要当一名”黑客”既然要当“黑客”网上说你首先要会”编程”。于是我开始查找一切和编程有关的资料,结果却很失望,我的生活圈当时没有一个人给我一点的帮助。

一次偶然的机会,我在超市的书店里看到一本书叫”c语言程序设计”不是大大有名的谭浩强的那本,我记不得是哪个”大神”写下了这本书,于是我很果断的买下那本书,至于我为什么选择的是C而不是C++,或者更能让你有成就感的VB,原因很简单,应为当时书店只有这一本和编程相关的书,所以”不是我选择了C而是C选择了我”至今我还很庆幸而不是JAVA或者VB。那时候应该是初二,我开始没日没夜的研究那么书,从如何安装VC6到我完整的敲出一个Hello World就用掉我一个星期的时间,我承认我很没有天赋,但这并没有打击掉我的积极性,我还是耐心的看完了正本书,背下了它的每一个示例,但我还是无法理解什么是#include,为什么要有#include,为什么程序会从main开始,我甚至天真的认为fprint就是C的关键字,因为我不知道什么是系统调用,我始终不能写出一个音乐播放器,甚至连下一步要学什么都不知道,以至于我觉得C就是一个计算器,一个复杂但是强大的计算机,我开始尝试将数学公式写成程序来计算结果,但是我发现这样会很耗时间,就这样我度过了初中,没有任何进步。

高中的时候我们发了一本计算机的书,我像发现新大陆一样的发现这本书的最后一章居然是编程,而且还是我从未见过的东西VB!当时我觉得这个好强大他可以在计算机上画出条条框框,而且它比C更加简单,我开始尝试自己做一个计算器,就以XP自带的计算器为目标,最后我写出了一个和XP一样的计算器,虽然没有XP自带的漂亮,但也极大的满足了我的自信心,我开始认为计算机程序不过如此。接着我开始尝试自己写一个音乐播放器,但很可惜我失败了,因为那本书上教的只是很初级的,没有这么高级的部分,而且因为高考的临近我没有更多的时间去研究程序,只好放弃,去参加号称人生转折点的”高考”。

不知道是运气好,还是我点背,我莫名其妙的上了大学,来到一个陌生的城市,学着我做梦都没想过的专业,和计算机没有半毛钱关系的专业,因为对专业的不感冒我开始习惯去书店,去看任何和计算机有关的书,应该说大一的这段时间是我真正质变的时期,我知道了什么是系统调用,什么是信号,什么是中断,什么是驱动,什么是程序,什么是操作系统,什么是计算机,虽然都不是很明白,但至少我知道我应该去学什么,我接触了更多的程序语言JAVA、C++、Python、SHELL。但我对这些都不是很有兴趣,我更想知道程序是如何去控制一个硬件,如何在屏幕上画出一个图像,如何让一个文件变成声音相关的底层操作,于是我开始看计算机的基本原理,从摩尔电码开始,也许你会奇怪摩尔电码和计算机有什么关系,那你就应该是好好的阅读一下这本书籍,他会给你答案,我不得不佩服国外的教育,他告诉了我想知道的一切,从摩尔电码,到电磁继电器,再到半导体,让你明白什么是计算机的逻辑,计算机如何处理数据。

接着我开始尝试自己写操作系统,我看完了于渊写的”一个操作系统的实现”并开始尝试仿照他的做自己的系统,但是由于WIN操作系统的高度封装性,所以我开始尝试LINUX系统,我在电脑上安装了UBUNTU经过无数次的失败后,LINUX颠覆了我对整个计算机的定义,自己的操作系统不应该说是一个微型内核也在无限的学习LINUX的哲学,虽然开始写之前我对它报了无限的幻想,但最后还是输给了现实,我认识到,要自己写个操作系统几乎是不可能的任务,我自己写的内核仅仅是用最简单最原始的算法,勉强让它运行起来,所以我最后选择了放弃,开始投入到对linux的学习,虽然最总没能实现自己的操作系统,但那段时间我还是学会了很多。我知道了C是如何调用汇编,是如何控制硬件的,什么是驱动,以及为什么C的地位无法取代,我也开始认识到自己的渺小,我甚至不敢说自己会用电脑,所以为了证明点什么,我参加了全国第34次计算机等级考试,结果我满分通过了二级C语言,虽然让我高兴了很长一段时间,但我还是认识到了C的局限性,虽然很强大但是对于UI的开发,C显得过于笨拙,正好Google Android的崛起,我开始尝试android的开发,由于自己写操作系统的经历,我对不能生成机器码的语言都有抵触心里,所以我只好重新开始学习JAVA。一直到现在我依然不喜欢JAVA但我不得不承认JAVA是我用的最多的语言。

现今随着毕业的临近我会时常去想,编程这条路我是否能走下去,我还能坚持多久,我会不会应不应该放弃…… 我开始害怕,害怕毕业的到来,因为我不知道答案,多年的习惯让我开始喜欢上在键盘上敲击出一行行代码的感觉,编程已经成为一种本能,让计算机在我的控制下运行,我喜欢上了google喜欢上了go语言,虽然我知道自己离自己的理想”黑客”越来越远,甚至连一个”程序员”都不算,但我还是想说我爱编程,就是这么简单……


-_-! 转载请注明出处XiTech

Tags:

发表评论

电子邮件地址不会被公开。 必填项已用*标注