Keep Walking (转贴去年写的BLOG)




这篇文章,其实是去年12月写的, 换了BLOG,但是舍不得丢掉,所以移过来...
从去年,到今年又改变很多了,VS2008又即将推出,时间过得真快...
  
  昨天和一位同样在信息出版界的朋友小聊了一下,不知不觉的居然天色突然变暗,果然冬天来了,尽管今年是暖冬,不过天黑得还真快。三、四个小时中谈到不少近十年信息领域的变化,趁着记忆犹新,跟大家分享一下。

  在我们那个年代,程序设计是从MS-DOS开始学起的,施威铭的“Assembly程序设计”大概是对我帮助最大的书。回想这10年,变化还真是大,十年的时间“面向对象”主宰了程序设计的走向,Design Pattern引领了程序设计师的大脑,Web应用程序经过了一段网络泡沫化的淬练之后,开始走上主流的康庄大道,儿时(真的是儿时)和我一起写程序的聂哥现在不知道到什麽地方去了(我始终佩服可以在一片360k的磁片和有限的内存里写程序的高手,聂哥如果看到这篇文章,跟我联系一下吧!)。

  在我写“Visual Basic2005程序设计与案例剖析”一书时,曾经很挣扎资料库那一章的写法,我究竟要不要把那一坨ADO.NET的类详细地介绍呢?还是用拖拉法把数据和控件binding一下就搞定?最后我选择前者而放弃后者,终究还是在书籍中稍微讨论了一下ADO.NET的架构,尽管我猜想很多读者可能会选择直接跳过那一节,而直接使用我们帮读者准备好的DbAccess类别,甚至可能某些读者因为没看到很炫的“拖拉完成式”程序设计法,以致于不选择我的书… 不过,好歹对得起自己的良心和读者的支持。(当然,“Visual Basic2005程序设计与案例剖析”一书的数据库章节仅是入门的入门,后续笔者会有更完整的数据库程序设计书籍的计划,相信不会让读者失望)

  现在在.NET的架构底下,通过VS2005要完成一套系统已经相当简单了,但是我们开始发现另一个问题,初学者慢慢地迷失在众多炫丽的控件和包装好的机制底下,无法明白究竟电脑中的程序究竟是怎么跑的,我们也发现不管是中英文书籍,介绍技巧(Skill)总是远多过于技术的方法(know- how),可能读者也会说,我管它这些东西是怎么完成的,我能写出一套系统(或完成作业)就好了啦,是没错,过去15-20年前,我们还设法将程序尽量缩小,塞在1M的内存当中,现在动辄以G计算的内存和File Swap技术,我管它写出来的程序效能和大小如何咧,反正强大的Widows和Intel CPU会帮我搞定,我常说事情没有对错,只有是否适合而已,当七年级学生这么说的时候,除了把五年级的主管气死之外,有没人能够说你怎样,某种角度来看这也真的是一项事实。

  但是就像当年学习“Assembly程序设计”一样,我至今始终没有用过“Assembly”写过什么伟大的系统(除了测试一下那时很热门的Friday病毒程序写法),但是我依旧要说,那段时间的学习是奠定日后程序设计基础功力的重要关键。

  很有趣,完全无关的一种程序设计语言,却给我最大的帮助;同样的,学习C语言的时候,则是让我对结构化程序设计、内存运作、乃至于日后为何要转换成 OOP奠定下了深厚的基础,D-Base是我学习的第一套数据库系统,Clipper则是我第一个撰写数据库产品所使用的程序设计语言,COBOL、 Pascal、Fortran乃至于日后的Delphi(我还强烈的支持了一阵子)、C++、Java、VB、C#…每一种语言多少都陪我走过了一段或长或短的时间…

  我不知道当年为何要学那些语言(我真的忘了),我只记得,我想要了解,更深入的知道电脑究竟怎么运作的,各种程序设计语言之间究竟有何差异,最后有大半的语言我没有真的拿来在工作上使用,但是,无庸置疑的,帮助确是很大。

  现在的初学者,可能很清楚知道怎么通过控件来设计程序,但是往往不知道为什么要使用控件,控件的原理为何?很可能知道(也熟悉)如何通过 DataBinding的机制把数据库栏位连结到画面上的控件,却不知道为何要这么作?如果没有这些DataBinding的机制时,要怎么连结数据库?绝大部分开发人员一定知道“面向对象程序设计”这个字,也每天在程序当中使用了对象的属性、方法,但是却不曾尝试设计过一个对象,或是继承一个类…

  更重要的是,初学者似乎对这些也不是很有兴趣!!!

  我在想,这应该不全然是初学者本身的问题,我们这些在进行教育训练和技术分享的讲师、作者,可能或多或少也得负上一点责任。这是一个讲究速食的时代,我昨天晚上开车到得来速,从买一个三号餐到吃完,大概只花了7分钟,快速,但是却没什么营养的一餐。

  我们发现,“学习”慢慢也染上这样的趋势,毕竟这是一个高度竞争的时代,时间就是金钱?不,时间已经不只是金钱,时间根本是一切的关键。很多读者提到,在.NET 2.0还没模熟的时候,微软.NET 3.0(特别是WPF)已经铺天盖地排山倒海而来(笔者会针对WPF、Ajax、Web Solutions这个主题再写一篇文章,也是当天和朋友谈了一下午的结果和感想,希望对读者们安排自己学习WPF的进度有些帮助),这些每天更新的技术,你现在打算是学?还是不学?

  Vista和Office2007已经推出,出版社第一时间推出了书籍,Office2007终于把自己调整像样了一点,人性化了很多(没用过?这篇文章就是用Word2007写的,挺顺手~),但是相信我,不少Office还在使用 Office2000呢。(对了,如果你要安装Office2007,也得先换成WindowsXP或Windows2003。如果我是用Windows 2000呢?喔,你被放弃了…)

  时间不够,同时需要完成很多事情,又得学习最新的知识,这都是IT人员的无奈(相信我,我们也很清楚,并且深受其害),同时关键技术始终掌握在别人的手上,引领趋势的也是别人,orz。

  但是,总是得生活嘛,我又不会炸鸡排或是蚵仔煎,只好在这条路上持续努力。不过哪天,如果我真的去开一家Java咖啡厅(放心,我练过 espresso),届时再请读者朋友们莅临指导,我一定在网络上放个读者专享值价券,当然,咖啡厅里面绝对也有宽频上网,每周再来个技术分享,邀请各大作者、各领域技术导师、或是读者和大家一起聊聊。

  不过在此之前,还有一段不短的辛苦路要走,我很喜欢的一个广告词是“Keep Walking”。
  
  其实,每个人都有自己的速度,不见得要跟着别人的脚步,依照自己的速度,走自己的路,才能够走的久、走的远;我常常提醒自己,人生里最终的成就往往都是留给持续走下去的人,而非短时间走的最快的人。

  很多话,短短的这篇文章写不完,下回再找时间和各位分享了。

Keep Walking ~ 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1839128


你可能感兴趣的:(Blog)