當軟體失去靈魂

來源:互聯網
上載者:User
 

當軟體失去靈魂

    記得有這麼一句廣告詞:“軟體以用為主”。這句廣告詞的背後傳達了時下人們對於軟體的一種普遍的認識和價值取向:軟體是而且僅是一種工具。不僅軟體的普通使用者或者進階使用者,就算是軟體供應商也對軟體持這樣一種價值觀。功用或者功能似乎成了軟體的全部。且看我們在做軟體需求的時候,重中之重就是對功能需求的完整把握。衡量一個系統或者軟體的成功與否的唯一標準就是是否全部實現了使用者的需求,實現需求所要的功能成了軟體的最高目標。這一標準作為唯一的線索,不僅在貫穿在開發的過程中,甚至貫穿了軟體的整個生命週期中。功用性的要求成了懸在開發人員和軟體公司頭頂的一把斯巴達克之劍,而其他的因素似乎成了一種可有可無的或者並不是特別重要的因素,程式員們每天就背負著這樣的十字架生活著。國外的軟體在這方面情況可能還不是很嚴重,然而國產的軟體和國產的程式員們似乎無一例外能夠逃脫這個宿命的詛咒。

       難道軟體的價值就僅僅是這些嗎?軟體是否應該有自己的靈魂呢?軟體的靈魂應該是什麼呢?當一個軟體沒有或者失去靈魂又會是什麼呢?如果軟體應該有自己的靈魂,那麼應該創造一種什麼樣的靈魂呢?如果軟體應該有自己的靈魂,那麼應該如何來體現呢?

       我想所有熱愛軟體的人都會承認其實軟體系統是有著鮮活的生命的。也許你還記得大學一本教程裡這樣的一句話:“如果電腦是軀體,那麼軟體就是軀體裡流動的血液。”正是因為有了軟體,電腦的世界裡才會如此絢爛多姿,虛擬世界才會如此引人入勝。既然軟體是有生命的,如果這個生命偏偏是沒有靈魂的,那麼這又是怎樣的一種生命呢?是鬼片裡的聽話的殭屍嗎?還是阿拉丁神燈裡受咒語驅馭的那個有著巨大法力的魔鬼呢?如果將軟體比喻成一個女人,一個非常迷人而性感的女人,(我想這個比喻對於程式員而言是合適的,中國大部分都是男性程式員,有的愛編程的人就經常將軟體比喻為自己的老婆)然而她卻沒有一點自己的思想,也就是說沒有內在美,那麼作為程式員的我們是否還會喜歡甚至癡迷的喜歡和執著的追求她呢?我想即使是埃及豔后您也不會喜歡她,也許和她發生***,你還是十分歡喜的。(我說這個比喻是受當前紅的發紫的、中央電視台百家講壇的名角易中天教授講述美學的一本書的啟發)。既然如此我想你肯定會承認軟體應該是有靈魂的,這個靈魂不是別的,就是軟體本身所體現出來的獨特的思想。不過你也可以不承認軟體應該有自己的靈魂,譬如男人都喜歡漂亮的女人,但喜歡不一定都愛女人,就如有專門玩弄女人的男人,這個世界也覺得存在專門玩弄軟體的程式員。性變態的還喜歡奸屍,在軟體的世界裡是否有這樣的程式員呢?我不知道。強姦一個沒有靈魂的軟體我想應該是在沒有多少樂趣。然而我們的程式員生活也許或多或少都陷入這樣的令人作嘔的境地裡,也許是我們覺醒的太少而渾不自知罷了。我這樣說也許有些誇張,如果招致您的雞蛋,我想我是不會躲避的。

       且看一個典型的軟體過程,一個完全沒有精神生活的軟體過程。一個銷售人員在一番掙紮和爭鬥以後,在一群支援和決策人員的群策群力之下,某個公司終於在眾多的投標者中脫穎而出了,項目拿到了,合約簽訂了,第一筆啟動資金到帳了,軟體開始在一個本不該死的企業裡實施了,公司上下一片喜悅,項目負責人馬上確定了,項目小組馬上成立了,系統分析人員馬上趕赴企業開始進行需求調研了,需求報告很快寫好了,概要設計馬上寫好了,詳細設計馬上搞定了(或者就在原來的設計上改改就好了),任務迅速分配下去,程式員們馬上就如上了發條的時鐘開始coding了,軟體終於如期寫完了(國內的軟體項目好像從來沒有這樣的事),試運行結束了,項目結束了,最後一筆款打回了,又可以開慶功宴了。這就是我們的生活。沒有人會去想一個軟體或者一個項目應該有什麼樣的靈魂,我們只需要製造一堆肉交付給使用者就可以了。也許有人會說軟體開發的過程中實在太忙,根本沒有時間去想這件事情,譬如一個患了性饑渴的男人或者女人,眼裡只有白花花的一團,根本就沒有時間去想她或者他是否有內在美一樣。

       前幾天在部落格園看到幾篇文章,討論中國人不重視技術的問題,從某個側面來說他們如盧彥先生、Sir Torrylee講的都很有道理,甚至很有見地,然而我總覺得觀念決定生活,而境界決定品質。我們的程式員是很重視技術的,然而這個技術我覺得應該打個引號,在我的理解中這個技術應該是技巧,我常常聽人說解決了某個問題是如何如何的興奮,如何如何的具有快感,彷彿一邊寫程式一邊手淫一樣,對於技巧的追求確實是可以給我們以某種快感,然而現在讓我回憶起當年的這樣的快樂,我覺得簡直就是在對軟體意淫。對於所謂技術的追求充其量不過是對奇巧淫技的追求。我覺得對於技術的追求應該是在創新上面,而絕對不是對現有技術的掌握上。譬如炒菜,如果你從來沒有炒過菜,突然一下可以煎魚了(比如我到現在都不會煎魚,曾經有一次煎到只剩下魚刺,以後再也不敢煎魚了),當然是可以樂不可支,然而煎魚是一件多麼古老的技術,也許將魚煎的特別應該算一門技術吧。也許正是因為對所謂技術的狂熱使我們失去了思考的興趣,而使用者的眼球有時候也往往導致我們設計軟體的偏差,如會花費大量的時間將介面做的十分華麗,表面看起來真的如一個貴婦人一樣,受水平和審美能力的限制,軟體的介面往往搞的花裡胡哨,就像一個在身上胡亂穿衣服的女孩一樣,自己也覺得很美,而旁人或許就會作嘔。軟體的表代替了軟體的裡,這是一件多麼可悲的事情。如果這個軟體由你親手設計和實現,不知道你心裡會是什麼滋味。

       我常常很羨慕國外的作者對於某個技術的享受的心情。在C++的經典的著作中,我們能發現,他們將C++技術當作一種生活,在COM技術的經典著作裡,也常常將COM技術比喻為COM生活。我很慚愧,我總在想為什麼我不能有那種享受技術的心情,為什麼我不能達到那樣的境界?日複一日,年複一年,我是在度過那樣的生活!!是在重複過去的所有生活!!有的時一個人的時候直覺一片酸心。

       那麼我們應該怎麼做呢?我提出幾點看法供大家扔雞蛋。

1. 首先每個人都要提高自己的情趣,提高對軟體的情趣。雖然盧彥先生等反對不要重視技術,但是我仍然要說不要太重視技術,除非你是在創造技術,我覺得我們首先要真正瞭解什麼才是真正的軟體,對於這個問題的認識的深度,我覺得是決定了我們可能達到的技術的高度。譬如大家都喜歡的比喻,首先要練好內功,然後才可以練習拳腳功夫,最後才可以達到摘葉傷人的境界。如果對軟體本身的特性都認識不清楚,就開始寫軟體,我想那也往往是花架子或者說一輩子都不可能成為武林高手。當然這個修為是需要時間的。寫在最前面是要提醒我們他的重要性。我們很多程式員包括我自己都是開始對軟體什麼都不瞭解的情況下就開始堆代碼的,寫出來的是什麼可想而知了,現在很多公司招聘程式員以後往往不會做這些方面的培訓,不去提高程式員對軟體的認識提高對軟體的把握能力,做出來的系統也就可想而知了。

2. 充分瞭解你的軟體的行業特徵。每一種軟體都會為一種行業提供一個解決方案,特別是管理系統軟體,其特徵更是十分的明顯。如果不瞭解行業的特徵,要做出符合行業的東西簡直是胡扯,然而我經常聽有的程式員說,當我做完某個系統以後我就成了那個行業的專家了,我覺得那簡直是在放屁。不管哪個行業都存在其博大精深的地方。如果做完一個系統就成了專家,那全世界的專家比不是專家的都多。

3. 充分提煉你的軟體體現出來的管理思想。目前存在很多的管理系統,比如ERP、MRP、MIS、PDM、PLM。每一種管理軟體實質上都是建立在一整套哲學觀念之上的。如果對這些管理思想沒有一個很好的認識,做出來的軟體也絕對不會深刻的體現出這些思想,可怕噩夢就是管理軟體沒有管理思想,其結果也就是一對軟體功能的堆砌,有什麼靈魂可言呢?

        愛你的軟體就給她一顆靈魂,她會因為有靈魂而更可愛!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.