[技術討論]搞軟體工程的問題——笨笨主義和實踐性科學

qingrun發表於2008-03-22

請不要把實踐性科學當作理論性學科來教授,那樣就是誤人子弟!

事件陳述

某日,有位大學老師宣稱自己是搞軟體工程的!我很驚訝,大家都知道,帶有工程兩個字的學科,都是實踐性科學,而不是純粹理論推演就能得到的,沒有實踐哪兒來的工程二字?可是,就有人認為自己沒有經驗也能搞軟體工程,這樣的老師,難道不是誤人子弟麼?
宣告:該群主應該可能成為一個稱職的軟體工程老師(不能說一定能成為好老師,因為實踐上的經驗是必需自己體驗才能深刻的——我大學時候遇到過一個很厲害的教授講課,《鑄造原理》這麼枯燥的課程,每個人聽到名字就想睡覺的課程,他居然能講得讓我聽出興趣來,當時佩服的我是五體投地,能讓枯燥的課程吸引人這才是好老師,軟體工程本身因為其熱度,就不是一門很枯燥的課程,所以,也就不容易成為好老師了)!因為他至少有十分謙虛的心態來做事情,這就有取人之長,補己之短的效果,而不會出現因為個人偏好而衝動做事,造成不良的後果。

大家看看下面的對話吧,我隱藏了他們的QQ號碼,也算是一種保護措施吧。

Ctrl 13:06:08
我是一名老師,在這個討論組裡,你們三位也都是老師,,,而且,都是教軟體工程的。。
青潤 13:06:39
不好意思,我不是老師。
Ctrl 13:07:35
所以,我的想法是~,在群中再組建這樣子的一個討論組,一來呢,我們都是搞軟體工程的,二來呢,我們都是老師,所以,我們,我們在一起,將會有更多的有意義的,有建議性地討論。
青潤 13:08:08
我不認為中國有搞軟體工程的。
青潤 13:08:15
而且,沒有人能搞軟體工程!
青潤 13:08:32
這是一個極端錯誤的說法!
也就是這個說法,害了很多人!
Ctrl 13:08:40
青潤,你別這樣說,你的水平,我是知道的,雖然你沒有在學校裡上軟體工程的課,但是,你的理論水平和實踐經驗,卻是我們,至少在這個群裡,是無人能及的。
青潤 13:08:45
我只是個做開發的,不好意思。
Ctrl 13:08:57
哈哈,是的是的,我在說這句話的時候,我自己也感覺到了。
Ctrl 13:09:24
我的本意是~,我們都是跟軟體工程沾邊的,,呵呵
Ctrl 13:10:00
其他兩位朋友,據瞭解,也都是大學的教軟體工程的老師,
青潤 13:10:09
我不介意認識更多的人,但是,我很介意談話的具體內容。
我不是一個做理論的人,我只是一個實踐者,一個摸索者而已。
Ctrl 13:10:41
高人才能講出這樣的話。。深刻深刻。。
24722357 13:11:29
3291191 13:08:32
這是一個極端錯誤的說法!
也就是這個說法,害了很多人!
Ctrl 13:11:31
青潤,我是一個膚淺者,所以,在此先交待一下,若我等說話有不妥之處,真的請你指教。
24722357 13:11:33
此話何解?
青潤 13:11:33
不用吹捧我,我只是知道自己的分量。
另外,我目前對軟體工程整體知識領域的理解內容和大學裡教授的已經有了非常大的區別,所以,我們可能很難在某一個立足點上來進行對話。
因為大家的起源不同。
青潤 13:11:45
軟體工程,不是搞出來的。
maggie 13:11:57
你的意思是,我們教軟體工程的這些老師是做無用功,是在誤人子弟?
Ctrl 13:12:04
maggie,你來了就好,呵呵。。相信你也會很高興參與這樣的討論。
青潤 13:12:07
做開發的人,只能說自己實踐的是某個方法論,操作的是某個過程。
青潤 13:12:16
我可沒說你們是在誤人子弟。
青潤 13:12:25
不好意思,這樣的對話,對我來說沒有任何意義。
maggie 13:12:35
你這些說法似乎太絕對
Ctrl 13:12:37
我還要加進來一個人,他在法國留學,研究生專業是軟體工程,現在又在讀太陽能專業
青潤 13:12:46
如果你們有5年以上的開發經驗,再來和我談話把。
沒有經驗的人來教授軟體工程,純屬胡扯。
maggie 13:13:06
你到底見過多少的軟體實踐?
Ctrl 13:13:06
哈哈,青潤在這方面,絕對有實力。
青潤 13:13:11
我的說法不絕對,而且是事實!
不信,你就隨便吧。


事件分析

其實在上面這段對話發生的時候,我很想賭氣說下面的話:

我們打個賭吧,我們就某一個軟體工程中的議題舉行講座,每個人舉行一場,看看學生和技術人員的反應以及支援情況,如果覺得一個議題可能出現偏頗,我們就乾脆把軟體工程整個活動的每一個大塊都進行一次講座,或者你先自己出路費來北京,我來租賃場地,或者我自己出路費去你學校所在地,你來租賃場地,誰輸了,就把對方支付的部分一起墊付了了事!(我2003年在北航給研究生講課的時候,全場一百多人,早上8點30到11點30,就不會有人感覺到睏乏,沒意思而打瞌睡睡覺!我不知道這個老師能做到什麼程度)。

後來想想,沒必要作這樣的爭論,意義不大!因為現在的老師,大都沒有開發過軟體,都是畢業後直接留下來的,這樣的老師來教授軟體工程怎麼可能有實踐經驗,沒有實踐經驗的軟體工程老師來教授實踐性的課程,不誤人子弟,還能做什麼?還能做的就是照本宣科,笨笨主義而已,和他們爭論,無意於事!於是,我就直接退了那個臨時群出來!

有人說他是搞工程的,我相信,工程本來就是來搞的或者稱之為做的,做工程的,比如承接土方建設,承接運輸,承接樓宇社群規劃,還有就是開發行業軟體可以稱之為搞工程軟體的,這都屬於工程範疇。
可以有搞工程軟體的,但是不應該有搞軟體工程的!
軟體工程是什麼?怎麼搞?

什麼是工程

有判斷地動用從研究、試驗和專業實踐中所獲得的數學和自然科學知識,制定各種能夠經濟地利用自然資源和自然力的方法,為人類謀福利的一項專業。

工業工程的定義很多,不同的學術機構,不同的高等院校對此都有不同的定義,本文給出了一些比較有代表意義的定義。

好了,從上面完全可以看出來,無論是工程、工程學還是軟體工程,都歸結於一點:實踐!做工程的人只能稱之為工程師,而不是教授、講師!也就是說,沒有工程實踐經驗的人,不可能真正懂得工程是做什麼的,沒有軟體開發經驗的人也不可能懂得軟體工程是做什麼的!就好像說,你沒有種過水稻,你就不可能成為袁隆平一樣!這才是工程的要求,這才是實踐的要求!

沒有袁老大那樣辛辛苦苦種地的精神和做法來實踐軟體工程,你可能領悟到什麼是真正的軟體工程麼? 

 

我將就此話題撰寫一篇專門的文字作詳細闡述。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/257598/viewspace-215928/,如需轉載,請註明出處,否則將追究法律責任。

相關文章