濟南軟件開發(fā)的程序觀

2015-08-31 08:59:56

      我們很早就認識到,高級語言是機器語言的抽象,結(jié)構(gòu)圖是對高級語言的抽象,而自然語言是對結(jié)構(gòu)圖的抽象。這是很好理解的,也符合我們的思維習慣。可是倒過來看,逆向思維一下,會有更驚人的發(fā)現(xiàn)。濟南軟件開發(fā)提示您注意,它們不正是我們"做"一個軟件標準的流程嗎? 機器代碼 --〉高級語言實現(xiàn) --〉結(jié)構(gòu)圖 -〉自然語言 
       有了從高到低的抽象層次,就需要逐步地象下樓梯一樣一層層往下。然而下的過程是危險的,也是值得研究的。什么是這個過程中最重要的,我覺得是保持一致性,起碼是概念的一致性。系統(tǒng)中沒有保障的因素已經(jīng)很多,如果中間存在任何稍大的不一致,就必須重復進行大量的工作,就好像已從20樓走到2樓,突然發(fā)現(xiàn)忘了穿鞋,還得回到20樓一樣令人同情。假設我們已經(jīng)順利地到了2樓,剩下的工作將容易許多,高級語言到機器代碼的一致性目前已經(jīng)得到很好的保障,這個成就讓軟件業(yè)的生產(chǎn)率提高了很多?墒沁@對我們現(xiàn)今的軟件開發(fā)并沒有實質(zhì)性的幫助,濟南軟件開發(fā)認為,這是因為,在當前整個軟件開發(fā)周期中,這個過程只占了少量的精力和時間,沒有一個高級語言程序員會關(guān)注自己代碼的反匯編結(jié)果。類似的還有開發(fā)工具等相當次要的因素。所以,問題仍然很嚴重。

       可以說,它們表達的都是同一個東西,只是抽象的層次不同而已。抽象層次越高,所需要處理的基本抽象思考要素也就越多。但是,涉及到的具體實現(xiàn)細節(jié)反而越少。一句話,我們的軟件活動大都是從高度抽象到底層抽象,這個演化過程是客觀規(guī)律,隨著軟件工程水平的提高,從此岸到彼岸的直接跨越就變得非常不合理。

         危機不可避免地存在著,關(guān)注它們不代表我是悲觀主義者和所有不能由人類完全控制卻可以供人類充分研究并利用的自然科學一樣,軟件工程學必然有客觀的規(guī)律。矛盾總是存在的,因為那些一致性不可能100%的滿足,但我們可以不斷校正,運用合理的方法學使之接近理想狀態(tài),即不斷地進步。在這方面,中國人又一次落后了,大學里教條似的軟件工程學,企業(yè)界對于新技術(shù)的偏執(zhí)和對設計、管理的忽視,怎么可能從根本上提高我們極低的軟件水平。