軟體是藝術科學的結合
Jason Gorman對剛剛成立的SEMAT組織有自己的思考,SEMAT是軟體工程方法和理論Software Engineering Method and Theory,試圖統一目前混亂的軟體工程領域。作者認為任何將軟體只和工程 "engineering"和"科學"掛鉤的說法都是有失偏頗的,作者認為:軟體應該是科學和藝術的結合。
原文:Software Is Both Art & Science. Can We Move On Now?
這個觀點我相當認可,正是因為對軟體開發這個事物基本定位存在爭論,所以才誕生各種混亂,而試圖統一這種混亂的SEMAT組織如果對這個基本問題都沒有定論,相信其權威性是缺乏認同的,雖然都是由一些大牌推動的,最後又成為學術院牆中看上去很美的蠟槍頭了。
如果軟體是藝術科學結合,那麼軟體工程專業就不應該只能是理科生報考,也許文理分科是造成國內軟體陽痿的罪魁禍首。同時,這些以科學思維強姦軟體,並且獲得所謂成功地位以後,再反覆加深對這種誤解,這應該是目前中國軟體行業最大的畸形。
為什麼我認同軟體是藝術和科學結合,原文因為本人水平有限,沒有完全理解,但是從個人經驗來看,軟體很多方面都散發著依賴個人感覺和素質的地方,比如重構中的壞味道,雖然我們可以靠一些工具找出BUG,但是誤報漏報還是經常出現,而如果你有深刻設計模式背景,有很強的OO經驗,你對壞味道的辨別能力就比別人強,別人聞不到的你可以發現,你甚至可以依靠職業直覺發現一些潛在設計問題。
我們知道軟體分析設計是一個創造性工作,而創造性是不可以被科學的,創造性是科學發展的動力,但不屬於科學範疇;同樣,軟體設計是一個追求巧妙設計的過程,大道至簡,如何去繁複簡呢?需求是那麼複雜,如何抽象呢?除了演算法數學之道以外,還有一個巧妙之道。
我們經常講“數學之美”, 而美屬於藝術範疇,數學屬於科學範疇,最後,數學科學不也是在追求藝術中一種美的極致嗎?
軟體應該是科學和藝術的結合,它應該是哲學,至少是一種方法論,如果不能從這個角度來認識軟體,恐怕就會發生盲人摸象的笑話,做了一輩子軟體,居然軟體是什麼都無法準確定位,這應該是一種恥辱吧。
轉貼一句,對於軟體開發同樣需要:止而後有定,定而後能靜,靜而後能安,安而後能慮,慮而後能得!
相關:
原文:Software Is Both Art & Science. Can We Move On Now?
這個觀點我相當認可,正是因為對軟體開發這個事物基本定位存在爭論,所以才誕生各種混亂,而試圖統一這種混亂的SEMAT組織如果對這個基本問題都沒有定論,相信其權威性是缺乏認同的,雖然都是由一些大牌推動的,最後又成為學術院牆中看上去很美的蠟槍頭了。
如果軟體是藝術科學結合,那麼軟體工程專業就不應該只能是理科生報考,也許文理分科是造成國內軟體陽痿的罪魁禍首。同時,這些以科學思維強姦軟體,並且獲得所謂成功地位以後,再反覆加深對這種誤解,這應該是目前中國軟體行業最大的畸形。
為什麼我認同軟體是藝術和科學結合,原文因為本人水平有限,沒有完全理解,但是從個人經驗來看,軟體很多方面都散發著依賴個人感覺和素質的地方,比如重構中的壞味道,雖然我們可以靠一些工具找出BUG,但是誤報漏報還是經常出現,而如果你有深刻設計模式背景,有很強的OO經驗,你對壞味道的辨別能力就比別人強,別人聞不到的你可以發現,你甚至可以依靠職業直覺發現一些潛在設計問題。
我們知道軟體分析設計是一個創造性工作,而創造性是不可以被科學的,創造性是科學發展的動力,但不屬於科學範疇;同樣,軟體設計是一個追求巧妙設計的過程,大道至簡,如何去繁複簡呢?需求是那麼複雜,如何抽象呢?除了演算法數學之道以外,還有一個巧妙之道。
我們經常講“數學之美”, 而美屬於藝術範疇,數學屬於科學範疇,最後,數學科學不也是在追求藝術中一種美的極致嗎?
軟體應該是科學和藝術的結合,它應該是哲學,至少是一種方法論,如果不能從這個角度來認識軟體,恐怕就會發生盲人摸象的笑話,做了一輩子軟體,居然軟體是什麼都無法準確定位,這應該是一種恥辱吧。
轉貼一句,對於軟體開發同樣需要:止而後有定,定而後能靜,靜而後能安,安而後能慮,慮而後能得!
相關:
[該貼被admin於2010-04-27 09:18修改過]
相關文章
- 微軟Craig Mundie:軟體更多的是藝術而非科學微軟AI
- 軟體是一門藝術
- 鮑勃大叔認為軟體不同於數學,軟體是科學,科學與數學是有區別的
- 軟體藝術 (轉)
- 軟體框架設計的藝術----讀書總結框架
- 《修改軟體的藝術》亞馬遜書評亞馬遜
- 軟體的複雜性:命名的藝術
- 電子檔案整理有科學和藝術?
- 《oracle效能優化科學與藝術》的讀後感Oracle優化
- 《軟體故事》:軟體和程式設計藝術的興起程式設計
- 「修改軟體的藝術」 讀書筆記筆記
- 開源科學工程技術軟體系列文章
- 如何藝術且科學的設計遭遇戰的節奏與排序排序
- 組合語言的藝術(轉)組合語言
- 軟體工藝運動的目標是什麼?
- 修改軟體的藝術閱讀筆記及思考筆記
- [軟體工藝]
- 我是否適合學習軟體開發技術?
- 失落的C語言結構體封裝藝術C語言結構體封裝
- 軟體工程:墨菲定律,潛在問題管理的藝術軟體工程
- Art Text 4 for Mac(藝術字設計軟體)Mac
- SOLIDWORKS工藝軟體 慧德敏學Solid
- 技術與藝術的結合,HMS Core讓手機主題趣味叢生
- Wolfram Mathematica 13(科學計算軟體)
- 要“軟體工藝”還是要“足夠用的設計”
- 軟體即數學的意思是?
- CRM軟體助力企業科學決策
- 科學視覺化軟體系列文章視覺化
- 幽默:可組合性是軟體的複利
- 自然語言處理的基本概念--結合spacy軟體的學習自然語言處理
- 深入理解Django:中介軟體與訊號處理的藝術Django
- 藝術與Web:形體Web
- (資料科學學習手札98)純Python繪製滿滿藝術感的山脊地圖資料科學Python地圖
- 建立互動式數字藝術科學和數學專案不可缺少的KID PIX 5
- 科學組合,系統學習
- 缺陷軟體:大資料驅動科學的致命傷?大資料
- 雲技術是軟體技術,並非硬體技術
- [技術討論]搞軟體工程的問題——笨笨主義和實踐性科學軟體工程