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


版主 (知名作家)

金蟲 (正式寫手)


| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 08工科275分求調(diào)劑 +5 | AaAa7420 2026-03-31 | 5/250 |
|
|---|---|---|---|---|
|
[考研] 材料工程085601數(shù)二英一335求調(diào)劑 +5 | 雙馬尾痞老板2 2026-03-31 | 5/250 |
|
|
[考研] 085600,321分求調(diào)劑 +7 | 大饞小子 2026-03-31 | 7/350 |
|
|
[考研] 307分求調(diào)劑 +6 | (o~o) 2026-03-31 | 6/300 |
|
|
[考研] 一志愿哈爾濱工業(yè)大學(xué)材料與化工方向336分 +13 | 辰沐5211314 2026-03-26 | 13/650 |
|
|
[考研] 一志愿211,335分,0856,求調(diào)劑院校和導(dǎo)師 +10 | 傾____蕭 2026-03-27 | 11/550 |
|
|
[考研] 一志愿浙江大學(xué)工科動力工程370,數(shù)一121,專業(yè)課135,現(xiàn)在能去哪里 +3 | 080700調(diào)劑 2026-03-30 | 4/200 |
|
|
[考研] 一志愿西電085401數(shù)一英一299求調(diào)劑 六級521 +4 | 愛吃大鴨梨 2026-03-31 | 4/200 |
|
|
[考研] 286求調(diào)劑 +5 | 丟掉懶惰 2026-03-27 | 8/400 |
|
|
[考研] 266分,求材料相關(guān)專業(yè)調(diào)劑 +10 | 哇呼哼呼哼 2026-03-30 | 12/600 |
|
|
[考研] 274求調(diào)劑 +6 | xiao愛同學(xué) 2026-03-30 | 6/300 |
|
|
[考研] 食品工程專碩一志愿中海洋309求調(diào)劑 +5 | 小張zxy張 2026-03-26 | 10/500 |
|
|
[考研] 哈爾濱工業(yè)大學(xué)材料與化工專碩378求調(diào)劑 +3 | 塔比烏斯 2026-03-30 | 3/150 |
|
|
[考研] 085601材料工程找調(diào)劑 +17 | oatmealR 2026-03-29 | 18/900 |
|
|
[考研] 348求調(diào)劑 +6 | 小懶蟲不懶了 2026-03-28 | 6/300 |
|
|
[考研] 356求調(diào)劑 +4 | gysy?s?a 2026-03-28 | 4/200 |
|
|
[考研] 085701環(huán)境工程,267求調(diào)劑 +16 | minht 2026-03-26 | 16/800 |
|
|
[考研] 一志愿211院校 344分 東北農(nóng)業(yè)大學(xué)生物學(xué)學(xué)碩,求調(diào)劑 +5 | 丶風(fēng)雪夜歸人丶 2026-03-26 | 8/400 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 網(wǎng)絡(luò)空間安全0839招調(diào)劑 +4 | w320357296 2026-03-25 | 6/300 |
|