12306是一個(gè)很糟的網(wǎng)站,反應(yīng)速度慢,錯(cuò)誤率高,安全性差。隨著它的代碼被公開在網(wǎng)絡(luò)上,關(guān)于這個(gè)網(wǎng)站是《程序員低級(jí)錯(cuò)誤大全》的調(diào)侃隨即出現(xiàn)。這里且不討論這個(gè)網(wǎng)站到底有多么糟糕,也無(wú)意說(shuō)它能夠贏得招標(biāo)這個(gè)事實(shí)背后是不是有什么別的問(wèn)題。
我們下面講個(gè)故事,和12306的故事類似,我們從里面可以看出一些問(wèn)題:
國(guó)內(nèi)某大能源集團(tuán)曾有一個(gè)1.5億的企業(yè)信息化方案,用IBM 90年代陳舊系統(tǒng)框架。投資中60%被硬件賺走,大部分是IBM等公司的服務(wù)器。技術(shù)授權(quán)又占20%,還有其它軟件有10%-15%。產(chǎn)品效果類似12306,不過(guò)因?yàn)樵摷瘓F(tuán)內(nèi)部訪問(wèn)流量沒有12306這么夸張,所以也就捏著鼻子用了。這么一個(gè)不算復(fù)雜的應(yīng)用,居然用70名開發(fā)人員,足足干了快兩年。算下來(lái)平均每個(gè)員工的收入也就每年5萬(wàn)塊錢。
這樣的開發(fā)狀況,是國(guó)內(nèi)大型企業(yè)內(nèi)部信息化方案實(shí)施的一個(gè)普遍情況。
考慮到12306售票系統(tǒng)涉及到比上面提到的信息化項(xiàng)目復(fù)雜得多的軟硬件應(yīng)用,要服務(wù)的人群更加龐大等等因素,金額達(dá)到3.3億,按照國(guó)內(nèi)業(yè)界的話來(lái)說(shuō):不是多了,而是少了。其中已經(jīng)沒有養(yǎng)活一只“碩鼠”的余地。
開發(fā)上面所說(shuō)項(xiàng)目的公司,管理、策劃、客戶源都是清華出來(lái)的。這些人非常喜歡用IBM那些90年代的架構(gòu)做東西,而IBM從那時(shí)到現(xiàn)在實(shí)際已經(jīng)沒有新的軟件做出來(lái)。其中7成的錢IBM等公司賺走,實(shí)施公司拿一點(diǎn)人工費(fèi)。
這里就要提到,IBM和微軟常年與中國(guó)的許多重點(diǎn)大學(xué)進(jìn)行“合作”,向這些大學(xué)支付大筆資金,讓他們只教自己的軟件框架。而大學(xué)為了提高“就業(yè)率”,也很高興推薦自己的 學(xué)生去這些大公司。而在國(guó)外的大學(xué),一般是不教微軟的框架的。主要教學(xué)內(nèi)容是數(shù)理邏輯和編程邏輯。這樣的學(xué)生可以自行學(xué)習(xí)任何軟件框架,這是國(guó)內(nèi)的大學(xué)生目前所欠缺的。
近段時(shí)間“中國(guó)的超級(jí)工程”電視片很火,如果我們看一下12306的相關(guān)數(shù)據(jù),就會(huì)發(fā)現(xiàn)這個(gè)項(xiàng)目,本應(yīng)成為又一個(gè)讓中國(guó)人自豪的“超級(jí)工程”的。
據(jù)網(wǎng)友統(tǒng)計(jì),截至1月5日,互聯(lián)網(wǎng)權(quán)威流量排名機(jī)構(gòu)Alexa顯示,元旦一周,12306網(wǎng)站的“一周平均排名”為339,日均IP為194萬(wàn)。而國(guó)內(nèi)航空網(wǎng)絡(luò)售票網(wǎng)站“travelsky.com”的“一周平均排名”為11340,日均IP為8萬(wàn)多。相比之下,火車票的需求為機(jī)票的25倍左右。
和普通的電子商務(wù)網(wǎng)站相比,12306的另一個(gè)關(guān)鍵的設(shè)計(jì)難題還在于其訪問(wèn)高峰是在每天固定時(shí)間投放客票后的極短的時(shí)間內(nèi)爆發(fā)式增長(zhǎng)的,對(duì)于網(wǎng)絡(luò)流量提出了嚴(yán)峻的考驗(yàn)。
把這樣一個(gè)系統(tǒng)做好,無(wú)疑需要強(qiáng)大的工程能力,做出一個(gè)軟硬件方面都達(dá)到 水平的網(wǎng)站設(shè)計(jì)的。
然而最終12306網(wǎng)站卻以現(xiàn)在的形象出現(xiàn)。
我們暫不考慮傳聞中的高層人事變動(dòng)帶來(lái)的影響,從技術(shù)的角度說(shuō),到底出了什么問(wèn)題?
如果我們用建筑來(lái)打比方的話,鐵道部掏了3.3億,說(shuō)他們要造一個(gè)容納全國(guó)乘客同時(shí)看比賽的運(yùn)動(dòng)場(chǎng)。合理的選擇是造一個(gè)“鳥巢”,主體用鋼結(jié)構(gòu),內(nèi)部設(shè)計(jì)按照21世紀(jì)的標(biāo)準(zhǔn)確保觀眾有序入場(chǎng)退場(chǎng),要設(shè)計(jì)廁所和服務(wù)設(shè)施等等。然而承建的公司卻是一家小施工隊(duì),他們只有很少的技術(shù)人員,而且缺乏經(jīng)驗(yàn)。由于不會(huì)用先進(jìn)的工程機(jī)械,招了一大群剛剛進(jìn)城打工的農(nóng)民來(lái)當(dāng)力工,然后拿出一張上世紀(jì)90年代的河北廊坊體育場(chǎng)的圖紙。把主體結(jié)構(gòu)改成木制,同時(shí)把規(guī)模放大十倍。經(jīng)過(guò)漫長(zhǎng)的施工,他們終于完成了一個(gè)搖搖欲墜、丑陋又巨大建筑物。最終這個(gè)沒有經(jīng)過(guò)測(cè)試的體育場(chǎng)在大批觀眾入場(chǎng)后轟然崩塌。
類似的情況,在國(guó)內(nèi)的網(wǎng)絡(luò)和軟件領(lǐng)域?qū)乙姴货r。
同樣的情況也曾出現(xiàn)在高考查分網(wǎng)站上。國(guó)內(nèi)的銀行網(wǎng)站至今不能支持非windows操作系統(tǒng)電腦的網(wǎng)上銀行業(yè)務(wù)。它們的投資,大多也不比12306少。
有人要開始質(zhì)疑紀(jì)檢監(jiān)察部門不作為。然而在軟件行業(yè)內(nèi),卻對(duì)這種情況覺得“很正常”。
原因是什么?
一個(gè)讓人很難相信的數(shù)字,在中國(guó)進(jìn)行做網(wǎng)絡(luò)開發(fā),達(dá)到與國(guó)外同類軟件相似性能,需要10倍的人力成本。中國(guó)程序員的收入明明才和普通產(chǎn)業(yè)工人差不多,為什么會(huì)出現(xiàn)這個(gè)10倍的成本呢?
軟件業(yè)內(nèi)人士指出,首先在于技術(shù)結(jié)構(gòu)落后。
兩個(gè)美國(guó)的周工資5000美元的程序員能夠在2天內(nèi)完成的工作,到了國(guó)內(nèi)就需要40個(gè)拿4000人民幣月工資的程序員干一個(gè)月,從生產(chǎn)效率上說(shuō),相當(dāng)于人家開著鏟車,而我們還在揮舞鏟子?偝杀竞嫌(jì),美國(guó)人需要1萬(wàn)3千元人民幣,中國(guó)程序員總共拿了16萬(wàn)元人民幣。從成本上來(lái)說(shuō),達(dá)到同樣的效果,人力成本國(guó)內(nèi)是國(guó)外的10倍還多。
國(guó)內(nèi)的軟件行業(yè)的通行標(biāo)準(zhǔn)相當(dāng)于美國(guó)的90年代水平,以微軟,IBM等公司的框架為基礎(chǔ)進(jìn)行開發(fā),這就要向這些大公司繳納高額的費(fèi)用來(lái)獲得他們的授權(quán)和技術(shù)支持。這些10多年前的軟件代碼執(zhí)行效率以今天眼光來(lái)看非常低下,并且非常復(fù)雜,也只有這些大公司自己玩的明白,國(guó)內(nèi)公司不可能掌握它們的核心技術(shù)。
這就是說(shuō),國(guó)內(nèi)的軟件業(yè)實(shí)際上是用上世紀(jì)的簡(jiǎn)易房的圖紙修修補(bǔ)補(bǔ)來(lái)設(shè)計(jì)今天的摩天大廈的,而且它們多數(shù)還不掌握建筑學(xué)的基本知識(shí),所以出現(xiàn)任何紕漏都不奇怪。
導(dǎo)致國(guó)內(nèi)軟件公司現(xiàn)狀的原因是國(guó)內(nèi)的開發(fā)者本身水平總體較低,大部分國(guó)內(nèi)軟件公司的開發(fā)者都是俗稱“碼農(nóng)”的一批人,他們多只學(xué)過(guò)大公司軟件框架的知識(shí)和一些電腦語(yǔ)言基礎(chǔ),由于沒有學(xué)過(guò)數(shù)學(xué)算法邏輯和編程邏輯基礎(chǔ),所以學(xué)習(xí)新軟件的能力很差。國(guó)際上,合格的程序員80%的知識(shí)和能力是依靠自學(xué)的。
我們還是用形象的語(yǔ)言來(lái)解釋下這種情況。
國(guó)際標(biāo)準(zhǔn)的程序工程師應(yīng)該是會(huì)自己炒菜的廚師,然后通過(guò)在飯店里自己掌勺逐漸提高水平,最后成為能獨(dú)當(dāng)一面的主廚,而國(guó)內(nèi)的“碼農(nóng)”僅僅是簡(jiǎn)單的重復(fù)勞動(dòng),就相當(dāng)于麥當(dāng)勞里打工的學(xué)生,工作很辛苦,薪水很低,但是永遠(yuǎn)學(xué)不會(huì)如何炒菜。
一個(gè)更不合理的現(xiàn)象出現(xiàn)在那些被認(rèn)為是“精英”階層的 大學(xué)軟件工程的碩士,博士們,他們中很多人都在大學(xué)中微軟IBM等大公司組織的招聘會(huì)上被選中。盡管給他們的工資不低,但是他們實(shí)際承擔(dān)的往往只是軟件測(cè)試和外包程序開發(fā)等流水線工作。這類低級(jí)的工作和還不錯(cuò)的收入很快就會(huì)消磨掉這些精英的進(jìn)取心和獨(dú)立開發(fā)能力。
這就導(dǎo)致中國(guó)的軟件行業(yè)人力資源的“金字塔”是倒置的。
頂尖的精英人才在外國(guó)大公司里從事應(yīng)該由大量的低端人才從事的流水線作業(yè),而設(shè)計(jì)工作交給了那些沒有能力做好設(shè)計(jì)的“技術(shù)工人”。為了完成開發(fā)工作,軟件公司往往用大量的“碼農(nóng)”采用人海戰(zhàn)術(shù)。
這就是國(guó)內(nèi)軟件產(chǎn)業(yè)充斥缺乏開發(fā)能力,試圖依靠數(shù)量龐大的非熟練工人取代工程師和技術(shù)人員的“山寨”軟件公司的原因。
那么這就引出我們必須要問(wèn)的下一個(gè)問(wèn)題。
我們知道,一個(gè)正常的市場(chǎng)上,這種無(wú)法提供合格產(chǎn)品的公司,或者開發(fā)成本十倍于正常水平的畸形公司根本就不應(yīng)該能夠生存。但在國(guó)內(nèi)市場(chǎng)上他們繼續(xù)生存著,盡管并不滋潤(rùn)。
原因很簡(jiǎn)單,中國(guó)的軟件市場(chǎng),不正常。
眾所周為了國(guó)家安全的原因,我國(guó)對(duì)國(guó)外的很多軟件封閉了網(wǎng)絡(luò)應(yīng)用。于是,那些競(jìng)爭(zhēng)力強(qiáng)大的國(guó)外“大鱷”無(wú)法進(jìn)軍國(guó)內(nèi)。一些壟斷大公司在國(guó)外早已因?yàn)?1世紀(jì)初開始興起的免費(fèi)開源軟件的風(fēng)潮退出了商用軟件市場(chǎng),但它們卻可以在國(guó)內(nèi)培養(yǎng)一批“徒子徒孫”,他們只會(huì)使用這些壟斷公司的的軟件框架,壟斷公司因此可以在國(guó)內(nèi)大量吸金。正如我們前面第一個(gè)例子中提到的,在世界范圍內(nèi)已經(jīng)不做軟件的IBM公司,依然能在中國(guó)賣出他們90年代的老軟件。順便,由于老軟件的執(zhí)行效率低,他們又可以賣出高價(jià)值的服務(wù)器。再加上相關(guān)的授權(quán),許可證,最終導(dǎo)致全系統(tǒng)成本加在一起要比國(guó)外的類似功能的商用軟件高出十幾倍甚至幾十倍。
言而總之,外國(guó)壟斷公司,利用中國(guó)的封閉市場(chǎng)環(huán)境,通過(guò)資助中國(guó)的教育機(jī)構(gòu),讓中國(guó)的普通開發(fā)者只是一群效率低下,只會(huì)使用這些壟斷公司提供的模塊化開發(fā)工具的“碼農(nóng)”;把高端人才用高薪誘騙到自己旗下,讓他們從事扼殺創(chuàng)造力的簡(jiǎn)單工作。中國(guó)的各路軟件公司,猶如民國(guó)初年被各路帝國(guó)主義所控制的軍閥們一樣在中國(guó)這塊戰(zhàn)場(chǎng)上混戰(zhàn)不已。而真正撈到大錢的,是這些外國(guó)壟斷公司。所有中國(guó)人在這場(chǎng)陰謀中,都是輸家。
在這種條件下,我們就可以理解為何12306這類的網(wǎng)站會(huì)屢屢出現(xiàn)了,因?yàn)閲?guó)內(nèi)的軟件開發(fā)市場(chǎng),基本上只有這類公司可以選擇。
國(guó)內(nèi)的銀行業(yè)早年設(shè)立網(wǎng)絡(luò)銀行的時(shí)候多用微軟的開發(fā)語(yǔ)言,當(dāng)時(shí)中國(guó)的軟件環(huán)境還是盜版為主,所以看起來(lái)似乎這個(gè)語(yǔ)言沒有成本。并且有“微軟崇拜癥”的中國(guó)軟件公司最為熟悉。但是這為將來(lái)有一天微軟的“收網(wǎng)”留下了隱患。事實(shí)上微軟目前還忙著在中國(guó)進(jìn)行個(gè)人電腦裝機(jī)市場(chǎng)的正版化環(huán)境營(yíng)造。誰(shuí)也不知道他們什么時(shí)候會(huì)開始轉(zhuǎn)向政府金融行業(yè)。銀行并非不知道這個(gè)問(wèn)題。而且,這個(gè)古老的框架的安全性方面也是有隱患的。由于銀行業(yè)的特殊性,他們不能停機(jī),目前只能捏著鼻子繼續(xù)。
國(guó)內(nèi)目前已經(jīng)有少部分網(wǎng)站開始努力擺脫大公司的束縛,比如 的電商京東網(wǎng)。他們?cè)谌ツ暝庥?ldquo;購(gòu)買死循環(huán)”錯(cuò)誤事件之前用的也是微軟的開發(fā)語(yǔ)言,然而發(fā)生錯(cuò)誤后,在京東自己無(wú)法解決的情況下,為了保住京東,微軟先后派出四批工程師,依然無(wú)法完全解決錯(cuò)誤。最后京東終于決定全面轉(zhuǎn)向開源軟件。但沒有完全走出困局,因?yàn)樗在上面提到的這種模式中掙扎,不過(guò)是從虎口到狼窟而已。也就是說(shuō)模式不轉(zhuǎn)變,不能解決問(wèn)題,即便京東雇傭了數(shù)以千計(jì)的開發(fā)人員也無(wú)法破局。
而一開始就采用國(guó)際開發(fā)標(biāo)準(zhǔn)的淘寶體系,不但從沒有遇到國(guó)這方面的困難,還能向軟件界反過(guò)來(lái)免費(fèi)提供他們自己開發(fā)的開源軟件框架。就更不要說(shuō)國(guó)際電商龍頭的亞馬遜因?yàn)樘^(guò)重視技術(shù)開發(fā),以至于應(yīng)對(duì)并發(fā)等問(wèn)題能力過(guò)于 ,反而富余大量服務(wù)器資源,反而又成就了其成為全球最大的云服務(wù)提供商的例子了。這是路線正確的結(jié)果。
惡劣的是,中國(guó)的市場(chǎng)由于封閉而又“富營(yíng)養(yǎng)化”,就好像發(fā)生赤潮的海區(qū),無(wú)數(shù)的低級(jí)生物的繁殖反而導(dǎo)致魚類因?yàn)樗腥毖醵勘粣炈馈?/p>
漂亮整潔的辦公樓和穿戴整齊的員工不能代表軟件公司的技術(shù)先進(jìn),在光鮮的外表下,國(guó)內(nèi)的軟件公司大多是吱嘎作響到處漏油的中古手工工場(chǎng)。而國(guó)外的大公司還在拿他們過(guò)時(shí)的技術(shù)推銷,尤其是推銷到教育體系中。產(chǎn)生了惡性循環(huán)。國(guó)外公司希望國(guó)內(nèi)處于封閉落后,消耗大型硬件資源的現(xiàn)狀中。
在這種狀況下,中國(guó)軟件業(yè)要終結(jié)目前這種惡性循環(huán)的怪圈,有兩種方向。
一是產(chǎn)業(yè)繼續(xù)這樣下去,但這種落后的技術(shù)狀態(tài)遲早總要有玩不下去的時(shí)候的。等比12306更加惡劣的情況出現(xiàn),就是開發(fā)成本達(dá)到連國(guó)內(nèi)財(cái)大氣粗如民航,鐵路,石油,電商公司都承受不了,同時(shí)用戶根本無(wú)法正常使用的情況遲早要出現(xiàn)。那時(shí),中國(guó)的軟件業(yè)將迎來(lái)一次全面的崩潰,隨之而來(lái)的將是全面洗牌。這時(shí)候,那些隱身幕后的國(guó)外壟斷公司將會(huì)走上前臺(tái),開始進(jìn)行收割,向那些陶醉于“廉價(jià)”盜版軟件的中國(guó)企業(yè)和機(jī)構(gòu)揮舞起收割的鐮刀。同時(shí)國(guó)內(nèi)軟件業(yè)天下大亂。不是像國(guó)外21世紀(jì)初開源軟件崛起一樣出現(xiàn)一次革命性的進(jìn)步,就是如同今日的國(guó)足一樣徹底沉淪,那時(shí)也許我們的政府也不得不向國(guó)外軟件廠商開放國(guó)門允許他們進(jìn)入國(guó)內(nèi)市場(chǎng)。那時(shí),缺乏掌握新技術(shù)能力的國(guó)內(nèi)軟件公司將會(huì)在這些無(wú)法抵抗的對(duì)手面前一敗涂地,國(guó)內(nèi)“碼農(nóng)”將會(huì)和90年代下崗工人一樣集體失業(yè)。
當(dāng)然,還有一種可能的未來(lái),就是國(guó)內(nèi)出現(xiàn)一批真正獨(dú)立的軟件企業(yè),依托一些有遠(yuǎn)見,懂技術(shù)的軟件工程師,好像20世紀(jì)20,30年代從江西到延安的火種一樣,在中國(guó)大地上,最終燃起軟件行業(yè)燒盡今日不合理秩序的熊熊烈火。(川北在線綜合)
投稿郵箱:chuanbeiol@163.com 詳情請(qǐng)?jiān)L問(wèn)川北在線:http://dstuf.com/