个人技术生涯的感悟(1)

今天女友发来一个淘宝的连接,进入之后,原来是这些年来淘宝购物的总结,从06年1月11日的第一次购物开始,几个重要的时间勾划出来,组成了一些重要的事件,蛮有意思的。这几天在院子里面看到.net之争,突然想起来,自己技术生涯也是面临很多选择的,于是乎突然想写一些自己这些年来技术的生涯经历以及感悟。

10年前,由于高考发挥时常,到了一所垃圾学校,我们只是学校赚钱的工具,学校没有任何资质和教学的实力(两年前现在学校已经被禁止招生了)。我记得大学挂的唯一一门学科,竟然是计算机文化基础,还是大一上学期。相当失败啊,现在都不晓得为啥挂了,考的都开始window98,dos相关的知识。

大一下学期我们开设了C语言,经典的谭浩强写的教程。当时不知道为什么,可能自己从小就喜欢逻辑学和数学吧,相当喜欢编程课,那个时候对编程的理解就是打印hello word,可以排序,可以做逻辑运算,记得最复杂的就是C语言里面的指针了。

这个时候寝室来了一位新同学,从上一届留级下来的(比较衰),也是喜欢搞编程,就和他一起学*,听他说有C++,比C语言牛逼,当时不知道什么是面向对象,就直接拿一本书来看(C++编程思想),很多看不懂,于是就死记硬背。

这段时间对编程的理解还是停留在学*语法,处理字符串,搞简单的数据结构阶段,这也是我第一次比较迷茫的时候。为什么迷茫,因为不知道学完了这一些能干什么?我想肯定有和我一样的过来人,那个时候对编程的理解貌似就是在命令行里面输入数据,然后经过一系列的运算,然后在命令行在显示出来结果。

这个时候我在思考,编程到底是什么样的工作,为啥我学*了将*一个学期的编程,只能在命令行里面运行程序。那么软件到底是怎么做出来的,怎么才能运行的软件,有界面的软件。现在回想起来,我们的教材里面从来就是教我们语法以及基本的编程思想,但是从来却没有以一个简单的软件为例子,叫我们怎么去设计一个简单的软件。那个时候比较灰心,觉得看完了这两本书,感觉一点收获都没有,想做一个简单的图形界面都不会,那个时候对编程产生的动摇。

其实现在才明白,为什么大学那个时候会产生迷茫。其实这也反映出来我们大学计算机教学存在的问题,大学教育更偏重理论基础,而实践应用基本上是没有的,这个完全是靠自己。而个人认为,对于软件教育行业来说,应该以实践为主,而不是天天做一些程序考题,由哪些理论派出各种奇技淫巧的变态考题来决定你的成绩。很多时候,都是基础 –> 实践 –>理论 –>时间,而大学的流程就是 基础–>理论—>理论

最* 大家争论的.net 门槛高低的问题,我觉得说真的,如果当初遇到.net这样的语言(03年.net已经出来了,但是学校信息封闭,我们只能依靠教程获取知识 ),能够快速的做一个图形化工具和页面,我可能毫不犹豫的投入到.net ,毕竟这个马上就能够写出一个简单的图形化界面,哪怕只是一个简单的hello word,我也会兴奋不己。门槛低说真的,对于初学者来说是一件好事情,如果初学者学完了一本书还不知道如何写一个很简单的图形界面程序,他的挫败感很强,会放弃这个行业。所以个人觉得大学应该开设VB这样的语言,然后教大家使用IDE,这样对于整个IT行业会有很大帮助。自身能力的高低其实完全和语言门槛的高低一点关系都没有。

现在想想,当初不教以C语言和C++语言做图形界面,也许是迫不得已的。C和C++做图形界面是平台相关的,windows平台和linux平台使用的库函数可能完全不一样,并且开发工具也不一样,而图形界面需要接触大量的平台相关的SDK,对于初学者来说,非常难以接受。我当初自己学过VC++,很多复杂的Window函数以及原理对于一个初学者来说非常难以理解,再加上MVC模式,就更加复杂了。到现在,我也很少做C/S相关的开发。

所以编程的入门 最重要的是是否快速的做一个有图形界面的东西。很多人都被拦在这一道门槛下。这就是为什么一班的培训机构都会以做网站开发为主,因为做web最能够快速做出一个图形化的交互界面。当初自己也是因为能够使用html做出一个网站走上了程序员的世界,以后才慢慢了解程序设计的。