开发人的大局观
---希望每个立志成为系统分析员的程序员看一看
就象ken_qian所说的,“出了国门,大家都在变。”短短半年间,自己确实在观念上改变了许多。
回想起来,以前在国内自己只是一部不停运作的编程机器,整天写code,写code,写code,写code! 一旦灵感一来,就想方设法地把所想的写出来,根本就没有考虑到编程以外的事情,结果,光是写出来的souce code足用十几M,真是写得昏天黑地,日月无光!! :) 可是,到了硅谷,情形突变!自以为能在鬼老面前,炫耀一下编程的能耐,好让他们对中国人刮目相看。可惜我错了!他们根本就不屑一顾!上的课多了,与不少在世界闻名的大电脑公司任职的教授也交谈过,发现自己是多么的无知,多么的肤浅。:( 在上project management课时,已经明显体现出观念的差别。在上client/server overview时,更加突出了,整本教材(在这里这本书是专业人员必读的)没有一行code,几乎涵盖了现在所有流行的先进client/server(2/3-tiers)技术。从软件的角度分析它们的起源,发展和前途,还有各种功能相似技术的对比。整本书贯穿着一种思想,它与国内被绝大多数人奉行为至理名言的一句话-\"不管黑猫白猫,只要抓到老鼠就是好猫!\"--截然相反:“即使能抓到老鼠的黑猫白猫,也不一定是好猫!”。而这堂课的project就是做一个3-tier client/server的项目,不用写code,只是要详细写出用到的结构和技术,为什么要用这而不用那?其实就是让你对各种相近技术进行详细比较,清楚地认识各种技术的优劣!!
短短半年研究生学习,与本科时确实是天壤之别。人家认为本科只是写code的时期,给出一个项目,只要能完成就算成功了。而到了研究生阶段,就要学会分析比较,对所用技术一定要能说出个道理:“在众多技术中,为什么你要选择这个?”还要经得起别人的“穷追猛打”。举个例子:抓到老鼠的黑猫白猫,白的一天能抓10只老鼠,而黑的只能抓5只,但是白的饭量很大,是黑的两倍。黑的比白的要便宜一倍。。。那么到底谁是好猫呢?? :)
像vcc所说的“程序员最重要的是思维能力,只有想不出,没有编不出”。在如今,internet流行,和控件泛滥的年代,对于大多数程序已经不是能不能写出来的问题了。我不是什么绝顶高手,也不是一个博学多才的人,有许多编程的问题还是不懂,但狂妄的说一句,现在只要能给我钻研上几天,长的几周,就没有什么不能编不出来的。可惜这有什么用呢,充其量只是一部编程机器。只会给别人牵着走,整天做牛做马。这里培养的是具有大局观的人才,编程水平可能不高,但是活跃的思维,管理的能力和高瞻远瞩的眼界是我自愧不如的。就象BILL GATES当年若没有超凡的管理头脑,他现在可能也只是一部顶级的编程机器。
对于中国,以前没有internet,资料奇缺。我以前学C++的时候,周围的人还不知道是什么玩意!靠的就是ONLINE HELP和以后的MSDN,想问别人,也没人懂!就象我在签名档所写的“孤身走我路...”。如今,internet的流行,我认为技术已经不是一个主要问题了,不懂的,上网查询,问人,什么最新的资料,sourcecode,控件应有尽有,还怕写不出来?!作为过来人,我只是想努力地把硅谷的一丁点文化,一丁点精神带给国内的同行。君不见,我所发表的每一长篇“大论”,全都是从大局出发,从观念出发,很少涉及到具体的编程代码。我也是中国人,我深知在“有中国特色”的制度下,硅谷的文化和精神是很难实现的。但是我总认为,虽然不能在现实社会中实现,但是可以在网上,在这虚拟的世界中营造一种气氛,使大伙能体会一下这种感觉。学C的毕竟是编程的正宗,有不少高手,而且是中国计算机业的中流砥柱。所以我选择了C版作为开始。可惜我错了,大家也许受现实工作生活的压力,在网上也不能够摆脱。就如我当年一样,“只是一部不停运作的编程机器”。你们总是抱怨现实的中国怎样怎样,个人如何如何渺小。可是到了网上,到了这个自由的天地,根本没有什么。