PKPM從發(fā)跡至今,也十年有余了。跟當(dāng)初的PKPM比,還是有一定的進(jìn)步的。但是,如果橫向跟國外軟件比,PKPM已經(jīng)被遠(yuǎn)遠(yuǎn)甩在了后面。
PKPM新版本做成這樣子,錯誤百出,頻頻升級,已然已是雞肋,幾成千夫所指。這樣的軟件,在中國竟然有這么大的用戶群,做到了專業(yè)老大的地步,實(shí)在是世界軟件史的奇跡。
從我們局外人來看,就能推斷出PKPM的管理很成問題。我也是寫過軟件的,從DOS時代一路走來,不敢說是行家里手,但至少,我看軟件的角度跟一般使用者一般操作人員相比,還是要稍微深入一些。
軟件開發(fā),特別是團(tuán)隊開發(fā),重中之重,講求的是 軟件工程 ——細(xì)到代碼風(fēng)格、文檔要求、開發(fā)團(tuán)隊成員的溝通、學(xué)習(xí)、培訓(xùn)、激勵、以及對客戶的技術(shù)支持等,中到軟件開發(fā)進(jìn)度規(guī)劃,軟件發(fā)布規(guī)劃等,大到軟件產(chǎn)品的質(zhì)量保證和質(zhì)量監(jiān)控、產(chǎn)品線中長期規(guī)劃,國內(nèi)市場規(guī)劃、國際市場規(guī)劃、宣傳規(guī)劃等等。
以上這些方面,PKPM哪些地方做的比較出色?我們用戶能看到的,就是沒有計劃的升級,補(bǔ)丁,道歉信;我們參考的,就是語焉不詳?shù)膮⒖际謨浴⒓夹g(shù)條件,敢問PKPM眾開發(fā)人員,見過SAP、ETABS、STAAD/PRO,GTSTRUDL,MIDAS等的說明書和參考手冊嗎?見過人家國外軟件提供的自學(xué)進(jìn)階資料嗎? PKPM有沒有版本的概念?幾天一個新版本?到底測試了沒有?是啊,用你們的軟件算錯了,樓塌了,你們不負(fù)法律責(zé)任,可也不要把這當(dāng)遮羞布啊!有點(diǎn)敬業(yè)精神好不好?人家MORGAIN一個小構(gòu)件計算軟件,還帶了自己的詳細(xì)的電子幫助,人家如果發(fā)現(xiàn)了什么錯誤,還在自己的主頁上公布,提示大家注意。你們PKPM敢把這些bugs公布在網(wǎng)上嗎?呵呵,如果公布,怕是罄竹難書,不知道要占用多大的硬盤呢:)。總是聽說,“這一版改正了上一版的很多錯誤”,拜托,具體點(diǎn)好不好,到底哪里錯了,到時候,進(jìn)了大牢俺也好喊冤,給全國制造點(diǎn)人工降雪。還有,“這一版”是不是又產(chǎn)生了很多新的錯誤,給再下一版留下伏筆呢?
上面,我只是從一個普通結(jié)構(gòu)工程師的角度來剖析PKPM。如果我們探討的再深入些,從代碼級來分析,那么,可以猜測,PKPM里有一堆堆的垃圾代碼。做過軟件開發(fā)的都知道,高級語言代碼是給人看的,機(jī)器碼是給機(jī)器看的,這個世界上,給機(jī)器看的代碼不難寫,難得是寫給人看的代碼,而且是給一群人(程序員)看的代碼。既然是團(tuán)隊,就難免人來人往,難免要交流要溝通。如果“書同文,車同軌”而且沒有歧義還好辦,麻煩的就是大家都有自己的方言,又死活不去學(xué)對方的方言。PKPM新版本出了很多問題,顯然是他們的代碼沒有做好文檔。程序這東西可是牽一發(fā)而動全身啊。考慮稍微不周到,將是錯誤百出啊。特別是那個FORTRAN 時代的編碼風(fēng)格,呵呵,那個難維護(hù)啊。
如果PKPM依然如故,那么他們已經(jīng)就是滑到焦油坑的邊緣的猛犸了,龐然大物的掙扎,最是可怕和痛苦。也許,5年到10年之內(nèi),大家就再也不會在這個軟件上費(fèi)口舌了。我也希望PKPM能走好,但是,從焦油坑中拯救猛犸,遠(yuǎn)比拯救一只小兔子困難。新規(guī)范對PKPM是大蛋糕還是一杯自釀的苦酒,天知道。
俺在本科的時候是學(xué)過一些計算力學(xué)的,也自學(xué)過一些高級語言,可惜沒學(xué)過C.研究生的時候?qū)W過信息系統(tǒng)設(shè)計與分析。猛一聽覺的這些都沒有什么聯(lián)系,可是,這些怯怯是我要分析pkpm這個中國式垃圾組合軟件的關(guān)鍵。
(1)想象中的開發(fā)方式:pkpm的擁有巨大用戶群的原因,不單單是我們這些可憐的設(shè)計者不得不將就,也是它的這個十分由背景的開發(fā)者,中國科學(xué)院,厲害吧?墒窍嘈挪┦可,碩士生們都很清楚,中國學(xué)院項目的開發(fā)過程,遇到垃圾導(dǎo)師,那基本上就是學(xué)生自己完成,遇到好導(dǎo)師,學(xué)生也要在導(dǎo)師的指導(dǎo)下完成相當(dāng)一部分工作(中國的學(xué)院開發(fā)成本控制的方法)。
所以很容易想象,我們使用的這個各方面都巨大(容量,代碼,用戶,收費(fèi),開發(fā)及使用時間)的軟件的開發(fā)過程。由中科院專門研究人員和碩博導(dǎo)師為主導(dǎo),由一批又一批的學(xué)生完成編寫,輸入。所以以至于這個東西自從誕生的那一天起,就只是往上面添加功能模塊,糾正某些模塊,然后就是把這些花色各式的模塊(c,fortran,誰知道還有啥)湊在一起,真正意義上來講,這個用了10幾20年的東西從來沒有本質(zhì)上的做個代碼重寫,或優(yōu)化,所謂的升級,只是同一版本.1,.2,.3....
而這些程序塊越湊越多的結(jié)果,對開發(fā)者來說,就是不得不加快程序錯誤的更正以及其他程序塊的協(xié)調(diào)一致性,對于用戶來說,就是經(jīng)常出現(xiàn)的錯誤對話框,以及嚴(yán)格的操作順序,還有最經(jīng)典的是往返于win32和dos界面的程序中。
但愿我以上猜測錯誤。
作為一個軟件系統(tǒng)的開發(fā),系統(tǒng)的分析,設(shè)計是開發(fā)前的方案,計劃。如果沒有這一步,上來就編寫核心,而后增加模塊,如果是一個建筑工程,難以想象這樣一個沒有圖紙而不定修改的工程。
一個軟件的一個新版本,必定是做了重大的改進(jìn),因為它已經(jīng)沒法在上一版本的基礎(chǔ)上修改了,所以對新功能或是就錯誤作了整體的調(diào)整,以致它們工作協(xié)調(diào),所以說是個新版本了。然而pkpm的所謂新版本很難給人以這樣的印象。
再比較一下其他軟件,就拿sap來說,從80年代到現(xiàn)在,每十年就是一個版本,每個新版本均為核心的改進(jìn)和程序的整體開發(fā),所以從結(jié)構(gòu)來說就清晰明確。
(2)中國的跨行業(yè)人才們。ㄗ屓撕梗浀么髮W(xué)的時候看了一個上海交大(還是復(fù)旦)的大哥開發(fā)的國家獲獎小軟件,可以做基本方體,球體渲染輸出,當(dāng)時一個方體的渲染就我的k62在死機(jī)狀態(tài)掙扎半小時,可是我用當(dāng)時的3dmax4做同樣的工作,大概也就1分鐘左右。當(dāng)然這樣的比較有些過分,但是,就這些看上去沒有利益的邊沿學(xué)科(和基礎(chǔ)學(xué)科)來說,這就說明了點(diǎn)什么。我們先不說中國有幾個大學(xué)開了像圖形數(shù)學(xué)這樣的學(xué)科,就算開了,又是什么教學(xué)質(zhì)量,條件。記得當(dāng)時我們上計算力學(xué),用的是我們老師自己印制的小冊子當(dāng)課本,老師還頗為感動的說,你們就算不好好學(xué),這本書留著以后有用,丟了就買也買不到了。
現(xiàn)在大家談經(jīng)濟(jì),談市場,有些行政領(lǐng)導(dǎo)(還有一些“有能力”的老師)整天坐著小車跑項目掙錢,可是學(xué)校掙了錢,目的是什么?難道是掙更多的錢?這個俺們鄉(xiāng)下放牛的小狗子也知道,難道你們這些教授,導(dǎo)師只有這個程度的認(rèn)知而已?
所以pkpm不止是一個讓很多人不得不將就的一個東西,也是讓國人臉紅的一個東西。瞧瞧,這就是中科院的水平,中國最高水平。難道要做個力學(xué)分析,結(jié)構(gòu)設(shè)計的軟件,他就跟其它的軟件不一樣(包括面貌(用戶界面),程序結(jié)構(gòu)),或是做的像個軟件了,他就有一堆毛病〉。
(3)關(guān)鍵是態(tài)度:
趙本山的一個“忽悠”,真正道出在經(jīng)濟(jì)快速發(fā)展下,人們的心態(tài)問題。東西(質(zhì)量)不是關(guān)鍵,忽悠才是關(guān)鍵,這樣才會來錢,來快錢。
真正的升級,真正的全部更新,不只是技術(shù)的問題,還有成本投入的問題。而且,這種不停的東拼西補(bǔ),可以就做“升級”,然后就可以要錢了。來回一算,那個劃得來,就很清楚了。
要知道,換個規(guī)范也可以要錢呀!
所以像我們這些給別人設(shè)計房子的,只能用d版了。
說這么多,俺不是針對某個軟件,針對某些開發(fā)者。而是要說,我們需要一個國產(chǎn)的(符合國內(nèi)情況),計算準(zhǔn)確(而不是為了結(jié)構(gòu)有保證往多里加材料),像個真正的軟件(用戶界面友好,程序人性化,專業(yè)化,各模塊協(xié)調(diào)一致運(yùn)作等)的軟件。我相信,這是大多數(shù)使用者的心聲。