泰国treechada:十年悟道,变与不变

来源:百度文库 编辑:中财网 时间:2024/05/05 21:58:16
十年悟道,变与不变        我想如果不是恰逢ITPUB十周年的征文活动,我仍没意识到自己已经在IT的路上走过了十载光阴;如果征文主题不是十年悟道,我仍不会审视自己这IT十年到底有何所悟有何所得。“十年悟道”,这四个字足以让我汗流浃背,不管是从时间上还是求道上。话说“专注一个方向,五年成专家,十年成权威”,又有言“十年磨一剑”。而自己离这些似乎太远,太远...以至于当我看到论坛其他同行的IT悟道,我竟是诚惶诚恐自己的那点感悟是否会贻笑大方。然而十年对于自己终究是一个充满敬畏的时光,即便是无所成终究是经历过,总该有点话说,也该说点什么的--- 虽然不是权威,也不具备什么参考价值;但至少可以为ITPUB是十周年庆典添一份热情不是?

      十年IT风雨路,几多变化几多愁。不说CPU从单核变多核,硬盘从数G到数百G,显示器从CRT14寸到LCD17寸,硬件的升级换代是日新月异;不说系统从win97到win7,浏览器从IE5到IE9,IDE从VS2003到VS2010,软件的更新交替是目不暇接;单说IT人每天离不开的互联网便足见IT这十年是多么的丰富多彩,风云变幻:易趣的没落,淘宝的崛起;微软的保守,谷歌的创新;Facebook的火热,团购的兴起;博客的淡出,微博的诞生;单向展示的web1.0到互动交流的web2.0;水平门户到垂直门户...我想如果非得用一个字来概括IT这十年那就是“变”(如果用两个字那就是“巨变” ^_^)。是的,我们不住的感慨IT不住的变化,我们似乎总在追逐着IT的变化,每一次硬件的升级,软件的更新,新技术的出现,新概念的产生,都让我们疲于奔跑,让我们愁于应对:是学还是不学,是用还是不用。以至于IT的“变化”似乎让IT同行与“忧愁”结成了亲家.不住的追随技术的变化,却发觉总落后于变化;刚学会html4,html5出来了;刚转到塞班平台,安卓流行了;昨天还在用linq2sql今天就听说微软不再支持了;昨天才让网站适应火狐,今天又要兼容chrome。于是我们在IT的快速变化之中纠结,学,精力有限;不学,害怕落伍。,我们每天都逼着自己学习各种新技术,深怕一个不注意便被淘汰。这似乎是IT人难以摆脱的怪圈,然而真的只能跟随变化,被技术的变化牵着走的宿命么?

       软件领域一直流传着这么句话:“唯一不变的是‘变化’”。其实扩大到整个IT也是适用的。我想即便是放大到整个社会都是也是共通的。这个世界无时无刻都是在不断变化着的,其实我们应该感谢变化,有变化才会机会不是?既然变是不可避免,那么恐惧或者逃避变化似乎解决不了问题的。其实如果我们能暂时抛开技术,跳出自己的专业领域,用心的想想“变化”,正视“变化”,或许我们能够恍然而悟。

       任何东西不是凭空产生或者变化的,它的诞生或变化肯定是基于某种需求或者由于某种原因,也肯定是基于之前的某种已经存在的事物。换句话说一切新的事物,都可以追溯到其本源,一切新的变化,都可以找到其本因。很多时候,看似频繁或者形态各异的变化,其实都仅仅是流于表面的变化,其本质并未发生根本的变化。所以对于IT的变化,通常只需三个问题,那就是:1.它变了是什么,2.它是怎么变的,3.它为什么要变 。诸如:微软的asp.net, 是asp的升级;将html控件封装成服务器端,将winform的拖拉式控件方式首次应用到了webform;是为了更好的统一开发平台,方便传统的桌面开发者转移到web开发...如此等等。等到经历过几起变化之后,就会隐约发觉似乎所有的变化都类似,即便是不同的领域,不同的层次,不同的角度。他们仅仅是外在的表象不一,其变化的原因都是基于某种“应用的需求”,都是在已有的基础上增加组合删除而成。当变化变得有规律起来,则最终发觉:IT变的是工具,而不变的是思想。  
   
       拿开发人员最头痛的程序设计语言之变来说吧。如今新的程序语言可谓是层出不穷,即便是同一门语言也在不断的更新版本,让很多新人总在纠结学哪门语言好,网站上关于咨询学习那种语言的帖子多不胜数,论坛上关于语言之间的口水大战更是永远的火热话题,屡见不鲜。其实这些都是被表象的变化蒙蔽的表现。其实程序语言同人类语言一样的仅仅是一个工具,不同的语言仅仅是对同一样功能做不同的翻译罢了,譬如大部分开发人员的第一个程序 “Hello,World”,是不是不同的程序设计语言都可以实现?仅仅是语法不同而已。诚然,每一个语言都有自己适用的领域,可能完成这一种功能用这个语言方便些,那种功能用另外一种更简单些,这跟我们吃饭用筷子,喝汤用汤勺其实是一样的道理。看看IT这十年间,语言(工具)在不断更新迭代。原来流行的 vb,pascal,asp现在基本不见;曾经风靡的java现在光彩也日渐暗淡;而php,ruby 等新秀崛起。是以争论语言的孰优孰劣是无甚意义的,而我们很多同仁不住的追逐新的语言,疲于徘徊与不同语言之间也是不可取的,因为你追逐的工具很可能因为需求而被淘汰!由此推及跟随表象的变化注定是事倍功半,甚至劳而无功的。因为未能抓住程序的本质。未能抓住其中的不变! 不变的是什么? 是程序设计思想。是那个简单的公式: 程序 = 数据结构 + 算法,是分析和解决问题的能力。不管新诞生了多少种语言,不管升级了多少个版本,都还是基于 顺序,选择,循环三种基本的流程,都还是面向对象抑或面向过程。都还是那些数据结构及算法。还是在用不同的语言同样的思想实现程序的功能,进行着软件的开发。诸如原来开发网页用asp,现在用php,用ruby,用asp.net,而网页的本质还是html。

       然而即便知道从事IT之道重要的思想,变化皆是源于思想;要想真正理解与认同是需要一个过程的。就像很多道理小时候父母告诉我们时是不以为然,非得长大经历过才深有体会一样。至少对于我来说这其中是走了很弯路,倘若步入IT之道时便能以此为准则,我想这个过程可以更短些。以这十载的教训来说从事IT之道首先便是要明确计算机这门学科学的就是“分析和解决问题的能力”,所有的IT技术领域的知识都仅仅是为此而服务的工具。以此思想为指导,在IT不断细分的行业和分工的发展变化下,选择一个适合自己并感兴趣的领域集中精力,毋需怀疑自己的选择也不要摇摆不定,因为不管是web开发,还是嵌入式,不管是数据库领域,还是信息系统领域;只要深入了一项最终都是触类旁通,一法通万法通的,即便是这个领域从所谓的前途来看暂时不佳,也是“三十年河东,三十年河西”的问题。何况最终领会的思想和方法是适用于其他领域的。倘若能够坚持,那五年成专家,十年成权威自然是毋庸置疑了。

       然而即便在IT的路上走过数年后能领悟到这一点,即便成为了技术专家甚至权威,也仅仅是个开始。因为这只能表明会使用了技术这个工具。不管多能把握这个工具的变化,不管会多少种工具都仅仅表明是个不错的技工,跟木匠,工匠没什么大的区别;君不见IT精英到IT民工的变化是多么的快速?不见公司里最不受待见的是技术人员?别沮丧,也别以为在泼冷水;我其实想问的是为什么会这样?因为技术也只是个工具,它对于一个产品,一个项目,一个企业来说仅仅是很小的一部分;工具用得再好,不代表能创造好的作品,因为技术其根本是为应用而服务的,而应用又是为人类服务的,就算是精通C++,能用汇编写程序,却不见得能做出符合“需求”的产品不是?思想,技术之外的业务思想则显得更重要了---技术只是实现需求的一种工具罢了。然而就算创造好了作品,也还不算完,因为它不代表能创造相应的价值!我们学语言是为了编程,学编程是为了开发,学开发是为了做软件,做软件是为了解决用户的问题,然而做得再好的软件如果不能让用户使用终究能算作无用的工具,那么本质在于什么? 思想,
如何能把技术变成价值的思想. 如此想想,就算把技术玩到极致,如果不能将其转换价值,也还就是个好工具罢了。

       然而即便在IT的路上走过数年后能领悟到这一点,即便技术带来了财富甚至名声,也远远不是终点。当历尽千辛万苦成了专家,又再千辛万苦用技术获得了可观的物质财富后,再回首从事IT这条路上失去了什么,放弃了什么,为其的付出是值还是不值... 而这些或许又要去追寻最初的梦想了。是的,最初的梦想...

       谨以此文恭祝ITPUB十周年庆典活动圆满成功,越来越具有价值!IT同仁皆梦想成真。