| 5 | 1/1 | 返回列表 |
| 查看: 2697 | 回復: 22 | |||
| 當前主題已經(jīng)存檔。 | |||
| 當前只顯示滿足指定條件的回帖,點擊這里查看本話題的所有回帖 | |||
[交流]
【原創(chuàng)】科學軟件編程:現(xiàn)在該學什么?
|
|||
|
先介紹兩本書。 第一本,是胡江堂主編的《我是一只IT小小鳥》。 這本書其實是一群IT業(yè)的年輕人對自己求學和找工作的經(jīng)歷回顧與總結(jié),對于在讀的、剛畢業(yè)的大學生和研究生,都很有參考價值。雖然說作者都是IT業(yè)的,對其他行業(yè)其實也類似。真希望能有一本《我是一只化學小鳳凰》問世。 第二本,是周偉明的《多任務下的數(shù)據(jù)結(jié)構(gòu)與算法》。 當前,國際形勢是這個樣子的:硬件迅速發(fā)展、軟件紛繁復雜,濕件亟待開發(fā)。多核、多任務、多平臺......云計算、云存儲、云服務......云山霧罩。對計算機編程感興趣的大學生,應該學些什么,才能跟上這個國際形勢呢? 我的建議是:夯實C基礎、緊跟多任務。 (1)夯實C基礎 花里胡哨的編程語言種類實在太多了。不過,拐角遇到C,大家來排隊。沒有哪種語言能與C來抗衡。因此,C語言的基礎是絕對重要的。注意,我說的是C語言,不是C++,不是C#,更不是Visual C++(這是開發(fā)環(huán)境,不是編程語言)。 (2)緊跟多任務 反正目前的硬件再高級,也逃不過老馮模式的瓶頸。因此,多核、多任務是你有生之年軟件運行的主要方式,也是你編程技術的發(fā)展方向。關于這一點,可以看看韓憲平的博客(如“理解多內(nèi)核、多進程和多處理”等)。 下面轉(zhuǎn)載的,是韓憲平的《并行思考!并行編程!事關國力》一文。 Intel公司的大師James Reinders告誡程序員改變思維方式,轉(zhuǎn)向并行思考,掌握并行編程技術,他在一次演講中提到實現(xiàn)并行編程規(guī)則: think parallel并行思考 program using abstraction使用抽象方法 program tasks,not threads使用多任務而不是多線程(韓憲平注:程序員比較熟悉多線程,多線程共享同一進程的資源更容易互相侵犯) design with the option to turn off concurrency設計程序的時候關掉線程同步 avoid locks when possible盡可能避免使用鎖機制 use tools and libraries designed to help with concurrency,use scalable memory使用任務同步的工具和函數(shù)庫,使用靈活伸縮內(nèi)存(?) design to scale through increased workloads通過增加工作負載實現(xiàn)靈活性 我推測,跟摩爾定律(Moor Law)共軛的(conjugate)應該有一條“軟件危機定律”,意思說:計算機硬件總是革命性的力量,而軟件技術和行業(yè)總是落后的保守的力量。 一般來說,像Intel這樣的芯片廠商技術主管的忠告是不能忽視的。Intel說,發(fā)布多核處理器已經(jīng)有五個年頭了,現(xiàn)在雙核成了PC主流,milticore是四核、六核的也漸成大勢,many-core就是八核以上今年或者明年就要發(fā)布,但是市場還只把多核當成時尚而遠遠沒有實用,還是“銀樣蠟槍頭中看不中用”,因為程序員多數(shù)還不會并行編程讓多核的功能徹底地發(fā)揮出來,終端用戶并不知道仍然是一個核心在工作還是所有的核心都在工作。 我做過一個實驗,使用Python的并行編程技術寫的一個科學計算小程序,顯式地看到我的雙核計算機上的兩個核心在工作,指出每個核心各自完成了什么工作。 在美國軍方和政府有“戰(zhàn)略計算(Strategic Computing)”和“高級模擬計算(Advanced Simulation Computing)”范疇和規(guī)劃,用在武器設計、臨床基因組學、天氣預報等方面,就是使用多核處理器、多核多處理器和多核處理器多計算機系統(tǒng)。 并行思考就是一種系統(tǒng)思維,所以我說: 并行思考!并行編程!事關國力! [ Last edited by 余澤成 on 2010-1-8 at 15:16 ] |

版主 (知名作家)


金蟲 (正式寫手)

| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 英一數(shù)一總分334求調(diào)劑 +3 | 陳陽坤 2026-03-31 | 3/150 |
|
|---|---|---|---|---|
|
[考研] 269求調(diào)劑 +4 | 我想讀研11 2026-03-31 | 4/200 |
|
|
[考研]
|
Gymno 2026-03-30 | 6/300 |
|
|
[考研] 福建理工大學材料學院先進合金團隊招收考研調(diào)劑學生 +3 | 大華金商都 2026-03-30 | 4/200 |
|
|
[考研] 材料工程專碩求調(diào)劑 +8 | hyl3153942 2026-03-29 | 8/400 |
|
|
[考研] 279求調(diào)劑 +12 | j的立方 2026-03-29 | 12/600 |
|
|
[考研] 367求調(diào)劑 +5 | 芋泥啵! 2026-03-28 | 5/250 |
|
|
[考研] 322求調(diào)劑 +10 | 宋明欣 2026-03-27 | 10/500 |
|
|
[考研] 求調(diào)劑 +10 | 家佳佳佳佳佳 2026-03-29 | 10/500 |
|
|
[考研] 一志愿廈門大學材料工程專碩354找調(diào)劑。! +5 | 貝唄鋇鋇 2026-03-30 | 5/250 |
|
|
[考研] 286求調(diào)劑 +5 | Faune 2026-03-30 | 5/250 |
|
|
[考研] 310求調(diào)劑 +10 | 爭取九點睡 2026-03-30 | 10/500 |
|
|
[考研] 化學308分調(diào)劑 +7 | 你好明天你好 2026-03-30 | 8/400 |
|
|
[考研] 352分-085602-一志愿985 +5 | 海納百川Ly 2026-03-29 | 5/250 |
|
|
[考研] 081200-11408-276學碩求調(diào)劑 +6 | 崔wj 2026-03-26 | 6/300 |
|
|
[考研] 316求調(diào)劑 +7 | 江辭666 2026-03-26 | 7/350 |
|
|
[考研] 求調(diào)劑 +7 | 爭取九點睡 2026-03-28 | 8/400 |
|
|
[考研] 394求調(diào)劑 +3 | 好事多磨靜候佳?/a> 2026-03-26 | 5/250 |
|
|
[考研] 266分求材料化工冶金礦業(yè)等專業(yè)的調(diào)劑 +4 | 哇呼哼呼哼 2026-03-26 | 4/200 |
|
|
[考研] 07化學303求調(diào)劑 +5 | 睿08 2026-03-25 | 5/250 |
|