- 最后登录
- 2020-11-17
- 注册时间
- 2003-2-8
- 威望
- -56
- 金钱
- 13290
- 贡献
- 78
- 阅读权限
- 150
- 积分
- 13312
- 日志
- 0
- 记录
- 0
- 帖子
- 3285
- 主题
- 583
- 精华
- 2
- 好友
- 9
   
该用户从未签到  - 注册时间
- 2003-2-8
- 最后登录
- 2020-11-17
- 积分
- 13312
- 精华
- 2
- 主题
- 583
- 帖子
- 3285
|
RE:[转帖]一个IT人的十年回顾
实践第一3 r d: R0 h4 g% a
2002年下半年,我和一个朋友去了北京郊区的一家杂志社,看到的情形让我震惊:在信息产业最发达的北京,这家杂志社还用人工查对杂志订单和款单,看着那按省来登记的几大本厚厚的客户登记本,工作人员需要手工来在其中查找相应的信息。这样的工作效率,这样的行业信息化水平!北京如此,全国又如何?% `7 K) M: } u4 a. ^# X
从这件事上,我看到了中国软件业的另一方面。一方面我们没有核心技术,另一方面,已有的技术又根本没推广没用好。追踪世界先进水平,对于我等这种水平的人来说,确实勉为其难,但将已有的技术用于解决实际问题,却是我们可以做的。如果中国各行各业都真正能通过进行信息化而提高生产效益,那中国不就从根本上强大起来了吗(象印度,IT一枝独秀,其他行业没有起色,我称之为跛足的国家,绝不能成为世界强国)?在扎实的社会基础之上,软件业不就有了更大的市场与发展潜力?中国许多行业的信息化水平非常低,而且中国地域广大,发展非常不平衡,有些地方信息化水平甚至为0!努力推动行业信息化,是我们这一代软件开发者的责任!而追赶国外先进水平,恐怕就不是一代两代程序员可以达到目标的,需要长期的努力。作为一名软件开发者,只能脚踏实地,哪怕你只做一个小小的MIS产品,也要尽力把它做好来。 7 J- ]1 v/ A* g6 H' V
于是,我开始了期刊发行系统的开发,这完全是自发的,没有任何资金投入,只有一种热情在支撑。我开始选择C++ Builder开发,做了几个月,完成了第一个版本,但我发现,我找不到足够水平的C++程序员进行合作开发,而且整个一个EXE文件,在体系结构设计上虽采用了分层分块的设计方案,但却是源代码级别的,要拆分成COM组件难度太大,不是一个人能完成的,于是中途流产。
$ G# n5 T1 k" E: V 2003年3月,我开始系统地学习.net,我吃惊地发现,我原来想在C++中实现的许多功能,比如对象串行化为XML,在.net中已有现成的类可用,.net更把OO的功用发挥到了极致,它的混合语言开发,它的反射机制,它的新的自识别的软件组件,以及强大好用的开发环境VS.net,都让我惊叹微软对开发者遇到的困难的深入把握,相比用C++开发,至少可以提高1/3的开发效率。于是一个新的想法产生了,我要把以前的产品用.net重写,利用.net强大的组件模型,将设计模式理论推广应用到组件级别,通过XML和反射机制建立一套可动态装配的软件生产流水线,实现象Dell直销PC那样的软件动态装配直销。只要建立好灵活可不断重构的系统架构,配以对业务领域的深入分析,逐步建立功能强大的业务组件仓库,就可以实现软件系统的动态装配。说干就干,我用VB,net重写了原先用C++编写的系统,将原先的一个EXE变为十几个DLL,而且这些DLL还会随着发展而不断地分裂,也有可能重新组合,利用Refractoring(重构)不断进化,最终形成一整套完备的行业软件组件库。做软件关键因素是变化,只有适应变化的系统才是有生命力的。' y, e Z! ?$ L: v- r0 N6 x
我用两个月的时间大体上弄清了.net平台下的主要类库,然后又用两个月的时间再次重新实现了期刊发行系统的C++版本的全部功能,到8月份我写这篇文章之时,第一个产品里程碑已经完成。同样的,除了需求是由另一个合作者去搜集的之外,几乎又是全部由我一个人包揽了所有的系统设计及编码工作! 3 S$ d$ C# |0 F5 V) Y. V1 V' A
毫无疑问,我自觉得新系统要比老系统可维护性强得多,真正实现了彻底的全组件化系统开发,计划再有一个月的界面美化,改正Bug,引用多线程提高运行效率,优化系统结构,就可以提供给用户试用了。市场如何,难说难测。, E( G; \, C8 Q( J" C! d& i, A* ~
在开发过程中,我再次感到巨大的挑战,不光是技术上的,更是管理上的。人才是我最头痛的问题,没有一流的人才,哪来一流的产品?我们找不到足够水平的程序员一起合作(牛人哪屑于做这样一个小儿科的产品?)我们要走的路还很长。也许我们开发的产品是失败的,但我从来就没指望能用这赚钱,我只是尽一个软件开发者的责任而己,成败已不重要!人生不尝试,怎能体现人活着的价值? |
|