经常会被这样的问题惊醒,我到底做过什么?所做的都有意义吗?
四年前,我仍是一个程序员,要写很多代码,要学习很多代码,能有的学的感觉很好,至少不再是只能依赖MSDN Library 解决问题。这要感谢网络。
对于Open Inventor的研究,应该源于VC4.0(8年前了),那时VC里引入了TGS的Open Inventor 库,并有一些基本介绍,知道是基于OpenGL 做3D显示的,其他的基本上看不明白,资料太少,又没有Internet,无从下手,只是留下了一些遗憾的感觉,或是一种诱惑。那一年,完成了桥梁博士现在的所有图形功能模块,而那些代码能够延用至今无任何修改,不知是由于代码稳定,还是懒惰,呵呵。
4年前,当我得知SGI将OpenInventor做为开源项目,非常兴奋,马上下载了一份,尽管代码全是基于Unix平台的,但我有信心将它移植到Windows上。OI的移植,比想象中的顺利,用了大约1个月的时间。但SoXt的移植要复杂的多,除了编程思路和程序架构,几乎没什么可用的,前后三个月的时间,天天灰头土脸。人在充满希望中度过应该是幸福的,人在没有希望中度过,应该是安逸的,人在不知有没有希望中度过,那就是煎熬。
没有书籍,没有太多资料,但是SGI的程序员们还是相当厚道,有一个比较复杂的例子,赛车的,竟然能在我移植的库上跑起来了,那一刻,我心飞扬。。。
拿着这个半成品,我们到重庆做了重庆大佛寺长江大桥的结构安全监控。非常佩服李老师,很短的时间内,将大佛寺长江大桥真实地展现在程序界面中。一年多以后,突然发现,网上的资料慢慢多起来了,这大概就是开源的魅力。然后国外有公司专门做了OI的移植,比我做的更彻底,更稳定,我没有什么遗憾,毕竟不再有那么大压力去维护,但这种付出,不知究竟是有意义,还是没有意义?
大佛寺长江大桥的安全监控,是在一片混乱中完成的。一个月的时间,要完成挠度,振动,应变,温度和索力的数据采集,显示和分析,几乎所有的代码都是从零开始编写。第一次爬主塔,坐绗车,布线,安装传感器,在不到一人高的下位机房调试数据采集设备,与合作方讨论数据交换,晚上回宾馆编程序。几乎每天编程到凌晨4、5点钟,然后8点半起床,9点专车送往现场。
在验收评审组的专家们的脚踏进监控室的那一刻,刚完成了对代码最后一次修改的编译。验收还算顺利,验收总结报告中不乏赞誉之词,后来也获得了一个交通部科技进步三等奖。但随后的几个月,所有的电缆,光缆,数据线,据说都被一盗而光,系统自然瘫痪。这个项目中,首次应用了OI,报表的大部分工作都在期间完成,完成了结构模态分析模块。不能说一无所获,但项目最终是失败的,将近200万的投入,变成了几百元的电缆回收费,我们的劳动,算是有意义,还是没意义?
报表模块的工作,主要涉及到表格的合并,各种图形模块的插入,打印等工作。但近年来,需求不断增加,而市场上商业报表模块的日渐成熟,客户要求报表与Office的兼容,原有的报表模块已经似乎变成了鸡肋。继续维护下去,有意义,还是没有意义了?
最令人头疼的是C语言脚本解释器的工作。想法当然源于当年用Delphi写的那个系统的思路,但用Delphi实现起来,要简单地多。当然C脚本对开发人员来说似乎更直观,数据类型更一致。但最终的用户能接收这样输入方式吗?桥博3.0发布一年多了,我还没有接到用户对脚本输入的技术支持需求。那我们做这样的模块,有意义,还是没有意义?
海口世纪大桥的结构安全监测相对于大佛寺要轻松很多,我们也承担了大部分的数据采集任务,系统更稳定,更成熟,三年多了,系统仍正常运转,从采集的数据来看,也非常有意义,挠度数据能真实反映出一辆重载卡车过桥所引起的挠度变化过程。结构振动数据也能争确分析出结构模态的10阶振型。但如果没有专业人员去分析,这样的数据我们去采集有意义,还是没有意义?
DXF文件的读写,相对来说是最没有技术含量的,但最烦琐,除了Autodesk的DXF规范之外,也没有太多资料可查。大量的规范之外的东西,只能通过大量比对去揣摩,去猜,一年多了,断断续续地维护,至今也没有最终完善。。。而且越做越没有激情,开发计划拖到现在,实在是疲了。
网站与论坛的建设,实在是力所不能及,有时真想做一个非常成功的网站,个人能力实在有限,无论是美工,还是编辑,我都不在行。想为土木工程师奉献点资料,哈哈,突然发现,我几乎一无所有。
4年来,所有的代码加起来,没超过60万行,平均每天40行,远低于日均300行的标准,实在是愧为程序员的称呼。
不知大家都在忙些什么?平均下来每天能写多少字?能写多少代码?欢迎交流