PKPM从发迹至今,也十年有余了。跟当初的PKPM比,还是有一定的进步的。但是,如果横向跟国外软件比,PKPM已经被远远甩在了后面。

     PKPM新版本做成这样子,错误百出,频频升级,已然已是鸡肋,几成千夫所指。这样的软件,在中国竟然有这么大的用户群,做到了专业老大的地步,实在是世界软件史的奇迹。

     从我们局外人来看,就能推断出PKPM的管理很成问题。我也是写过软件的,从DOS时代一路走来,不敢说是行家里手,但至少,我看软件的角度跟一般使用者一般操作人员相比,还是要稍微深入一些。
   
     软件开发,特别是团队开发,重中之重,讲求的是 软件工程 ——细到代码风格、文档要求、开发团队成员的沟通、学习、培训、激励、以及对客户的技术支持等,中到软件开发进度规划,软件发布规划等,大到软件产品的质量保证和质量监控、产品线中长期规划,国内市场规划、国际市场规划、宣传规划等等。

    以上这些方面,PKPM哪些地方做的比较出色?我们用户能看到的,就是没有计划的升级,补丁,道歉信;我们参考的,就是语焉不详的参考手册、技术条件,敢问PKPM众开发人员,见过SAP、ETABS、STAAD/PRO,GTSTRUDL,MIDAS等的说明书和参考手册吗?见过人家国外软件提供的自学进阶资料吗? PKPM有没有版本的概念?几天一个新版本?到底测试了没有?是啊,用你们的软件算错了,楼塌了,你们不负法律责任,可也不要把这当遮羞布啊!有点敬业精神好不好?人家MORGAIN一个小构件计算软件,还带了自己的详细的电子帮助,人家如果发现了什么错误,还在自己的主页上公布,提示大家注意。你们PKPM敢把这些bugs公布在网上吗?呵呵,如果公布,怕是罄竹难书,不知道要占用多大的硬盘呢:)。总是听说,“这一版改正了上一版的很多错误”,拜托,具体点好不好,到底哪里错了,到时候,进了大牢俺也好喊冤,给全国制造点人工降雪。还有,“这一版”是不是又产生了很多新的错误,给再下一版留下伏笔呢?

    上面,我只是从一个普通结构工程师的角度来剖析PKPM。如果我们探讨的再深入些,从代码级来分析,那么,可以猜测,PKPM里有一堆堆的垃圾代码。做过软件开发的都知道,高级语言代码是给人看的,机器码是给机器看的,这个世界上,给机器看的代码不难写,难得是写给人看的代码,而且是给一群人(程序员)看的代码。既然是团队,就难免人来人往,难免要交流要沟通。如果“书同文,车同轨”而且没有歧义还好办,麻烦的就是大家都有自己的方言,又死活不去学对方的方言。PKPM新版本出了很多问题,显然是他们的代码没有做好文档。程序这东西可是牵一发而动全身啊。考虑稍微不周到,将是错误百出啊。特别是那个FORTRAN 时代的编码风格,呵呵,那个难维护啊。

    如果PKPM依然如故,那么他们已经就是滑到焦油坑的边缘的猛犸了,庞然大物的挣扎,最是可怕和痛苦。也许,5年到10年之内,大家就再也不会在这个软件上费口舌了。我也希望PKPM能走好,但是,从焦油坑中拯救猛犸,远比拯救一只小兔子困难。新规范对PKPM是大蛋糕还是一杯自酿的苦酒,天知道。
俺在本科的时候是学过一些计算力学的,也自学过一些高级语言,可惜没学过C.研究生的时候学过信息系统设计与分析。猛一听觉的这些都没有什么联系,可是,这些怯怯是我要分析pkpm这个中国式垃圾组合软件的关键。
    (1)想象中的开发方式:pkpm的拥有巨大用户群的原因,不单单是我们这些可怜的设计者不得不将就,也是它的这个十分由背景的开发者,中国科学院,厉害吧。可是相信博士生,硕士生们都很清楚,中国学院项目的开发过程,遇到垃圾导师,那基本上就是学生自己完成,遇到好导师,学生也要在导师的指导下完成相当一部分工作(中国的学院开发成本控制的方法)。
    所以很容易想象,我们使用的这个各方面都巨大(容量,代码,用户,收费,开发及使用时间)的软件的开发过程。由中科院专门研究人员和硕博导师为主导,由一批又一批的学生完成编写,输入。所以以至于这个东西自从诞生的那一天起,就只是往上面添加功能模块,纠正某些模块,然后就是把这些花色各式的模块(c,fortran,谁知道还有啥)凑在一起,真正意义上来讲,这个用了10几20年的东西从来没有本质上的做个代码重写,或优化,所谓的升级,只是同一版本.1,.2,.3....
    而这些程序块越凑越多的结果,对开发者来说,就是不得不加快程序错误的更正以及其他程序块的协调一致性,对于用户来说,就是经常出现的错误对话框,以及严格的操作顺序,还有最经典的是往返于win32和dos界面的程序中。

但愿我以上猜测错误。
作为一个软件系统的开发,系统的分析,设计是开发前的方案,计划。如果没有这一步,上来就编写核心,而后增加模块,如果是一个建筑工程,难以想象这样一个没有图纸而不定修改的工程。
一个软件的一个新版本,必定是做了重大的改进,因为它已经没法在上一版本的基础上修改了,所以对新功能或是就错误作了整体的调整,以致它们工作协调,所以说是个新版本了。然而pkpm的所谓新版本很难给人以这样的印象。
再比较一下其他软件,就拿sap来说,从80年代到现在,每十年就是一个版本,每个新版本均为核心的改进和程序的整体开发,所以从结构来说就清晰明确。

(2)中国的跨行业人才们!(让人汗),记得大学的时候看了一个上海交大(还是复旦)的大哥开发的国家获奖小软件,可以做基本方体,球体渲染输出,当时一个方体的渲染就我的k62在死机状态挣扎半小时,可是我用当时的3dmax4做同样的工作,大概也就1分钟左右。当然这样的比较有些过分,但是,就这些看上去没有利益的边沿学科(和基础学科)来说,这就说明了点什么。我们先不说中国有几个大学开了像图形数学这样的学科,就算开了,又是什么教学质量,条件。记得当时我们上计算力学,用的是我们老师自己印制的小册子当课本,老师还颇为感动的说,你们就算不好好学,这本书留着以后有用,丢了就买也买不到了。
    现在大家谈经济,谈市场,有些行政领导(还有一些“有能力”的老师)整天坐着小车跑项目挣钱,可是学校挣了钱,目的是什么?难道是挣更多的钱?这个俺们乡下放牛的小狗子也知道,难道你们这些教授,导师只有这个程度的认知而已?
所以pkpm不止是一个让很多人不得不将就的一个东西,也是让国人脸红的一个东西。瞧瞧,这就是中科院的水平,中国最高水平。难道要做个力学分析,结构设计的软件,他就跟其它的软件不一样(包括面貌(用户界面),程序结构),或是做的像个软件了,他就有一堆毛病〉。
(3)关键是态度:
   赵本山的一个“忽悠”,真正道出在经济快速发展下,人们的心态问题。东西(质量)不是关键,忽悠才是关键,这样才会来钱,来快钱。
   真正的升级,真正的全部更新,不只是技术的问题,还有成本投入的问题。而且,这种不停的东拼西补,可以就做“升级”,然后就可以要钱了。来回一算,那个划得来,就很清楚了。
   要知道,换个规范也可以要钱呀!
   所以像我们这些给别人设计房子的,只能用d版了。
  
   说这么多,俺不是针对某个软件,针对某些开发者。而是要说,我们需要一个国产的(符合国内情况),计算准确(而不是为了结构有保证往多里加材料),像个真正的软件(用户界面友好,程序人性化,专业化,各模块协调一致运作等)的软件。我相信,这是大多数使用者的心声。