关于国产科学软件的思考(转)
轉自 http://blog.pfan.cn/eMath/24264.html?
作者 愛數學 http://blog.pfan.cn/eMath
原文如下:
?? 這一段一直在問自己這個問題:“在我們常用的科學計算軟件當中,有多少國產的?”,在記憶里面搜索了很久,似乎真正能夠數得上“常用”或者“聽過名字”的,一個是叫作FEPG的有限元源碼生成器,這幾年不時在一些論壇上見過他們的廣告;另外一個是CTEX套裝軟件,作科學排版的,聽說是中科院的人參與了一些工作。此外,實在想不起來還有什么。當然不排除學校課題組自產自用的軟件,但斷言我們沒有發展出象matlab/mathematica/maple/lapack等這樣一批影響科技發展的科學工具也是不失偏頗的。
??? 科學計算軟件的匱乏反應了中國軟件開發能力和科技應用水平的不足。國內對科學計算軟件的需求是很大的,但令人擔憂的是,幾乎整個市場都被國外的軟件占據了。有限元的論壇上,言必稱的是ANSYS, Fluent, Abaqus...,電路模擬的論壇上,熙熙攘攘的是HFSS, ADS, microwave office,...,,計算化學的討論中,<edit>Gaussian</edit>, NWChem, ADF占據了大面積的篇幅,而我參與了很久的數學工具的討論中,幾乎也充滿了matlab, mathematica, tecplot和IDL的大名。我們很少有機會看到大家熱烈地討論一個自創的軟件,或者計劃編寫、合寫這樣的軟件。造成這種情況的原因很多,最重要的有下面幾條:
??? 1. 盜版軟件太容易獲得。國外很多科學軟件,包括一些開源的、免費的軟件都是被商用軟件“逼”出來的,由于企業、科研單位需要某種科學計算功能,而商用軟件的licensing費用太高,導致企業或者科研院所自行編寫適合自己的軟件,并且軟件或者以商業化,或者以免費的形式發布出來滿足社會上類似的需求。而在中國,幾元一張的盜版光盤上,幾千、幾萬美元的科學軟件一應具有,再加上科研、商業的誠信制度還沒有完全建立,盜版軟件成為很多人的首選,大家非但不以使用“盜版”軟件為恥,反而堂而皇之使用他們來發表文章,開發產品(當然,慚愧的是,幾年前的我也處于這種思想境界)。甚至,有人聲稱這是“拿來主義”。殊不只,這只是大家為了不正當地使用別人的勞動編出來的冠冕堂皇的借口。除了“拿來主義”,魯迅先生還有另外一句名言也被盜版趨之若鶩者引為經典,就是“竊書不算偷”,認為由于“學問”這個詞匯本身的純潔性就可以抹煞”偷“這樣一種行為的可鄙性。甚至很多人聲稱,中國使用了全世界最好的軟件。但具有諷刺意義的是,我們用了最好的軟件,我們作出的東西是不是最好的。這說明了什么呢?使用盜版軟件就像公費醫療時,可以免費地拿到抗生素來吃。一旦公費醫療沒有了,而長期吃抗生素導致身體抵抗能力嚴重下降,稍微患上一點感冒就會要命,
??? 2. 寫軟件能力強的人,科學計算背景不足;科學背景能力強的人,計算機應用能力不足。高校當中,計算機好的,一般都去到企業編寫界面、數據庫、網絡開發,然后順理成章地到IT去發展、賺錢,他們并不關心偏微分方程怎么解,高斯積分在奇異點處怎么算,如何求解稀疏帶狀矩陣等等這類科學問題。而專業學得好的人當中,計算機基礎好的,能夠編寫高質量代碼和程序的人,少之又少,大多數人還停留在詢問matlab中如何設置計算精度(實際上只是顯示精度)、安裝matlab后啟動總是有一個matlabserver.exe運行這樣一類低級問題的階段。他們哪怕有自己的一套理論或者算法,也很少有人會想過如何把代碼模塊化,怎樣發布,使用什么樣的license,如何管理代碼的版本這樣一些軟件開發的問題。在國外,很多科學、工程課程的作業都是需要用計算機來完成的,寫代碼,寫報告,作講演,經過幾年的訓練下來,畢業的學生對操作系統的基本操作、科技軟件的簡單使用都具備了基本概念,也至少掌握了一兩門計算機語言,這樣,在今后的科研道路上,就會使用這些計算機工具來開發新的計算功能。而我們國內這個方面的訓練還是遠遠不夠。
??? 3. 科研創新精神不夠,沒有ambition。Stanford的幾個學生就可以把google從一個idea做成一個舉世矚目的全球公司,而一個VT的碩士生能搞出一個數一數二的數學知識庫PlanetMath,matlab是Cleve Moler在U. New Mexico教學時設計的,mathematica是Wolfram在研究復雜系統中逐漸開發出來的,Lapack的作者Anderson, Bai等人也是在U. of Tennessee在linpack/eispack的基礎上開發出來的,這樣的例子舉不勝舉。但為什么我們的高校中這樣的例子卻不多呢?
現狀是不容我們樂觀的,我們需要作一些事情,或者我們呼吁科技主管部門來作一點事情來改變它,我們需要有數學和計算機背景的人來參與開發科學軟件,提高科技力量中計算機工具的使用能力從而提高科研效率,我們要鼓勵一切形式的科學軟件開發工作(在滿足軟件版權和使用許可的前提下),包括商用的、免費的、開源的,并號召學術論壇、學術網站等交流渠道為這樣一種(協同式)開發提供便利。大家群策群力,討論一下我們最需要哪些科學計算功能,按照算法和程序難度制定一些開發計劃,大家既可以當成課外愛好,或者當成適當規模的project參與到這種開發當中,學生社團、科研單位也可以通過經費申請為這樣的project提供經濟支持。
從初期的發展來看,提倡開源或者免費的軟件是有意的,因為一則在開發初期,軟件水平畢竟還是無法跟國外發展很多年的大型的商用軟件比較,而一些寫得好的開放的軟件代碼可以為今后其他軟件的開發提供基礎和模塊,孕育出一大批好的軟件來。但我們需要注意從現在開始培養版權意識,要選擇合適的使用許可的形式,使得科學軟件能夠在法律的保護下健康發展。
??? 當然,上面只是一個倡議,我自己的數學水平和計算機編程水平都很一般,沒有經過正規的編程訓練。但我還是希望上面的這些的想法能夠給大家一些啟示,特別是國內的在校大學生和研究生,大家能動手寫一些東西,或者聯合起來完成一、兩個好的科學軟件開發工程。我這一段比較忙,但一直有一個想法,就是寫一個類matlab或類matcom的C++庫,這個庫將在CLAPACK的基礎上添加一個wrapper,提供matlab/matcom中常用的計算函數和矩陣操作,這樣利用LAPACK提供的強大的數學計算功能,和wrapper提供的易用的接口,為今后開發其他計算軟件作一個基礎。除了這個計劃,我手頭上還有幾個其他程序,包括網格生成、排版、繪圖等,雖然都是小程序,但我想今后用適當的方式發布出來,大家一則可以免費的使用,或者以合適的方式參與到軟件的擴展和改進中來。
希望今后在科學軟件中看到越來越多的讓我們自豪的Made in China的標記,到那時,我們才具備了科技強國的實力。
轉載于:https://www.cnblogs.com/xiexiaokui/archive/2010/05/10/1731569.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的关于国产科学软件的思考(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GIS集成技术之二:数据集成
- 下一篇: 如何在 iPhone 12 上使用 Ap