??????程序是對(duì)數(shù)據(jù)流的處理,從這個(gè)角度來(lái)說(shuō),算法是程序的靈魂,特別是在搜索,語(yǔ)音識(shí)別等領(lǐng)域。但隨著程序規(guī)模越寫(xiě)越大,我們發(fā)現(xiàn)我們的程序越來(lái)越難維護(hù),于是出現(xiàn)了改進(jìn)的編程語(yǔ)言,設(shè)計(jì)模式,軟件工程等從技術(shù)和管理角度改進(jìn)的方案。我們照做了,如果做的好,我們看會(huì)到我們的程序越來(lái)越健壯,程序幾乎不需要增加更多的成本就可以一份一份的拷貝賣(mài)給更多的客戶,于是一幅美好的藍(lán)圖展現(xiàn)在我們面前。當(dāng)然這只是一個(gè)假設(shè),實(shí)際實(shí)施過(guò)程中因?yàn)楦鞣N各樣的原因,甚至無(wú)法將過(guò)程完成。 一個(gè)針對(duì)特定需求開(kāi)發(fā)的應(yīng)用軟件開(kāi)發(fā)完成后,很多情況下確實(shí)能滿足絕大多數(shù)客戶的需求。根據(jù)80-20原則,我們可以根據(jù)實(shí)際情況考慮是否一定要剩下20%的客戶,畢竟我們要的是實(shí)現(xiàn)利益最大化。
??????然而,在我這幾年在平臺(tái)項(xiàng)目的開(kāi)發(fā)過(guò)程中,我發(fā)現(xiàn),平臺(tái)軟件和應(yīng)用軟件有很大的不同。首先,平臺(tái)軟件是針對(duì)特定領(lǐng)域而不是針對(duì)特定應(yīng)用開(kāi)發(fā)的,這就決定了你開(kāi)發(fā)的軟件不能是一套單純的軟件,而是一些軟件開(kāi)發(fā)的基礎(chǔ)設(shè)施,有了這些設(shè)施,我們可以方便的開(kāi)發(fā)出這一領(lǐng)域,甚至交叉領(lǐng)域的應(yīng)用軟件,這要求你的基礎(chǔ)設(shè)施要是細(xì)粒度的,相對(duì)通用的。為了開(kāi)發(fā)方便,在開(kāi)發(fā)接口上,要很好的體現(xiàn)出對(duì)象邏輯結(jié)構(gòu),層次結(jié)構(gòu)。其次,平臺(tái)軟件是應(yīng)用模糊的,同樣的一個(gè)輸入,根據(jù)應(yīng)用的不同,產(chǎn)生的輸出是迥異的,這是我們無(wú)法完全預(yù)測(cè)的。你的東西要是可以訂制的,可靈活配置的,對(duì)于一個(gè)固定輸入輸出的東西還能叫一個(gè)平臺(tái)嗎。配置太麻煩也不行,不能動(dòng)輒要求開(kāi)發(fā)人員來(lái)訂制。不能要求二次開(kāi)發(fā)人員對(duì)你的東西要有深的了解,他只關(guān)心的是自己業(yè)務(wù)。比較好的做法是只有必要的時(shí)候才打開(kāi)一個(gè)缺口。在STL中,我們就能獲得很多啟示,每個(gè)concept,iterator,container,algorithm,沒(méi)有那個(gè)東西是死的,雖然是很簡(jiǎn)單的幾個(gè)東西,組織起來(lái)的威力讓人嘆為觀止.而在其中可以加入自己的東西卻又能很好的融合.?
?????????從這兩個(gè)角度來(lái)說(shuō),平臺(tái)軟件的團(tuán)隊(duì)里必須有精通該領(lǐng)域的人,在他的眼里,只要是該領(lǐng)域的需求(當(dāng)然是理論上可以解決的問(wèn)題),都能迅速轉(zhuǎn)化為一個(gè)可實(shí)施的模型.他胸中有"大略",所以能進(jìn)行高層的抽象,作的東西才有普適性.同時(shí),東西要轉(zhuǎn)化成解決方案,靠的卻是開(kāi)發(fā)人員.開(kāi)發(fā)人員能理解模型的深層意思嗎,我看很多情況下未必;即便開(kāi)發(fā)人員理解了,他能把它轉(zhuǎn)化成良好的軟硬件模型嗎?同樣是困難重重!根據(jù)我這幾年的看到的東西,我認(rèn)為我們沒(méi)有那個(gè)環(huán)節(jié)做好了,可能這也是國(guó)內(nèi)的大氣候,大家都很浮躁,沒(méi)有人從深層次思考這些問(wèn)題,因?yàn)榇蠹叶荚谙?前"看.雖然實(shí)際可能就看見(jiàn)前面三尺.?
?????????那些自以為很強(qiáng)的人或公司,其實(shí)未必有能力實(shí)現(xiàn)自己的目標(biāo),很多情況下是高估了自己的實(shí)力(包括技術(shù)水平,企業(yè)文化,創(chuàng)超力等)。雖然能做好很多項(xiàng)目,但在開(kāi)始平臺(tái)開(kāi)發(fā)項(xiàng)目之前一定要三思而行。