国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
程序基于精確的數(shù)學(xué)

 

 

 

了解AlexSTL

Alex Stepanov STL(標(biāo)準(zhǔn)模板庫)之父,并因此而榮獲第一屆Dr. Dobb‘s 程序設(shè)計(jì)杰出獎(jiǎng),現(xiàn)在是Adobe公司首席科學(xué)家。他曾是康柏電腦公司的副總裁和首席科學(xué)家,AT&T實(shí)驗(yàn)室副總裁和首席架構(gòu)師,SGI服務(wù)和超級(jí)計(jì)算機(jī)業(yè)務(wù)首席技術(shù)官。

背景:Dr. Dobb‘s程序設(shè)計(jì)杰出獎(jiǎng)

1991 年起,每年《Dr. Dobb‘s Journal》都會(huì)將榮譽(yù)給予那些對(duì)軟件開發(fā)的發(fā)展做出了重要貢獻(xiàn)的人。這就是著名的Dr. Dobb‘s 程序設(shè)計(jì)杰出獎(jiǎng) (Excellence in Programming Award)   
  
 
Alex Stepanov先生

什么是STL呢?STL就是Standard Template Library(標(biāo)準(zhǔn)模板庫)的簡稱,它是由Alexander StepanovMeng Lee在惠普實(shí)驗(yàn)室工作時(shí)所開發(fā)出來的?,F(xiàn)在雖說它主要出現(xiàn)在C++中,但在被引入C++之前,AlexDavid  Musser已對(duì)該技術(shù)進(jìn)行了很長一段時(shí)間的研究。STL是多年來編程應(yīng)用中常用組件的集合,STL的貢獻(xiàn)是將各組件和接口泛化及標(biāo)準(zhǔn)化。這樣可以極大地提高編程效率,STL現(xiàn)在是C++的一部分,任何C++平臺(tái)都包含著它。

 

 

中國.數(shù)學(xué).未來

對(duì)于STL之父Stepanov先生來說,他更像一位數(shù)學(xué)家,而他的經(jīng)歷也說明了這一點(diǎn)。和在上個(gè)月我們采訪的C++之父一起,這次他是第一次來到中國,而他對(duì)古代中國和中國數(shù)學(xué)家的了解,更是讓人佩服;當(dāng)然,更有他對(duì)中國程序員們的祝愿!除了祝愿,還有大師的點(diǎn)滴看法,畢竟不能只說好聽的!——真正的朋友都是這么做的。

Stepanov先生告訴記者計(jì)算機(jī)科學(xué)是建立在數(shù)學(xué)之上的精確的學(xué)科,他說:“程序設(shè)計(jì)就像同未理順的復(fù)雜性問題打的一場戰(zhàn)斗,既然要打這場戰(zhàn)斗,而數(shù)學(xué)首當(dāng)其沖,幾個(gè)世紀(jì)以來,數(shù)學(xué)的作用正在于此。如果將現(xiàn)在生動(dòng)的數(shù)學(xué)體系作為實(shí)驗(yàn)證據(jù),對(duì)于解決人類遇到的復(fù)雜性問題,數(shù)學(xué)還是最有效的。”

當(dāng)我們問他對(duì)中國和中國的程序員的認(rèn)識(shí)時(shí),他的回答還是和數(shù)學(xué)相關(guān)。他告訴記者:中國是一個(gè)偉大的國家。曾有過許多偉大的數(shù)學(xué)家:秦九韶的《數(shù)書九章》就是古代數(shù)學(xué)中的經(jīng)典;《孫子兵法》中已包含現(xiàn)代西方稱之為中國余數(shù)定理的內(nèi)容?,F(xiàn)代中國也產(chǎn)生過許多真正的偉大的數(shù)學(xué)家,如關(guān)于哥德巴赫猜想(Goldbach conjecture)所做出杰出貢獻(xiàn)的陳景潤先生。

Stepanov先生的編程信條是:程序設(shè)計(jì)是基于精確的數(shù)學(xué)訓(xùn)練的。他的建議更是淺顯而簡潔:好好學(xué)數(shù)學(xué),好好學(xué)計(jì)算機(jī),好好學(xué)英語。

         

Alex和中國電腦愛好者共勉:繼續(xù)學(xué)習(xí)!

談到未來時(shí),他雖然并沒有明確回答什么,但對(duì)美好未來的憧憬,還是和大家的期待一樣。關(guān)于將來要用的計(jì)算機(jī)語言,他也有自己的答案。他說:C++和Java會(huì)在近幾年得到最大廣泛的應(yīng)用,我更期望最終會(huì)有某些新的、更完美的語言出現(xiàn)。

 

大師和成長歷程

1950年11月16日,Stepanov先生生于蘇聯(lián)莫斯科,在莫斯科大學(xué)研究數(shù)學(xué),但他從未成為一名數(shù)學(xué)家。因?yàn)樗麑?shí)在不能對(duì)Tamagawa算術(shù)、Coxeter群等一些純數(shù)學(xué)的東西感到興趣。Stepanov先生的想法很單純,他要腳踏實(shí)地干事。對(duì)他來說最幸運(yùn)的事情是,他能夠看到很多偉大的數(shù)學(xué)家是如何做學(xué)問的,也就使他更清楚地看清計(jì)算機(jī)科學(xué)中一些司空見慣的偽數(shù)學(xué)。因此,能成為一名程序員對(duì)他和計(jì)算機(jī)科學(xué)來說真是一件好事。
另兩位大師對(duì)他的影響是顯而易見的,一位是計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)教授高德納(Donald Knuth)先生, 另一位則是計(jì)算機(jī)科學(xué)大師Edsger Dijkstra。他深情地說:“前者告訴我答案,后者則引我深思。”而他對(duì)高德納先生的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》一書的推崇,也使我們找到了提高自己編程水平的殺手锏。
1984年,他成為紐約布魯克林理工大學(xué)助理教授。他說:“教授計(jì)算機(jī)科學(xué)使我受益匪淺,我要對(duì)付各種研究生課程。在此過程中,我學(xué)到了很多新東西。我還用Scheme語言開發(fā)了一個(gè)巨大的數(shù)據(jù)結(jié)構(gòu)和算法庫,這項(xiàng)工作導(dǎo)致了Ada泛型庫的誕生(這是和Dave Musser合作的)。在貝爾實(shí)驗(yàn)室短暫地研究了一段時(shí)間,設(shè)計(jì)了一個(gè)新的C++算法庫,在1998年去了位于Palo Alto的惠普實(shí)驗(yàn)室。在那兒,先花了四年時(shí)間研究存儲(chǔ)系統(tǒng) 。1993年,得到了一個(gè)回頭研究泛型編程的機(jī)會(huì)。而STL就是這次研究的結(jié)果。1995年又到了Silicon Graphics,在此,組建了一個(gè)小組繼續(xù)進(jìn)行STL的開發(fā)工作?!?o:p>

他現(xiàn)在是Adobe公司的首席科學(xué)家。Adobe是一家生產(chǎn)諸如Acrobat和Photoshop之類桌面軟件的公司。

高德納先生的《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》一書,正是Alex Stepanov先生極力推薦的一部作品,不論電郵中還是面對(duì)面時(shí),他反復(fù)強(qiáng)調(diào)這部著作是一個(gè)珍寶庫,想要什么,里面便有什么,而他在和這本書打交道的三十多年,從中受益無窮。從他對(duì)高德納先生《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》的巨大推崇上,也對(duì)他的個(gè)性有所印證。

STL故事

STL是Stepanov先生一生中濃墨重彩的一筆,而這一筆在他的描述中卻是那樣地不經(jīng)意。STL也是他個(gè)性的重要體現(xiàn),獨(dú)立思考,縝密邏輯。要了解STL之父,首先要知曉什么是STL。
有一位意大利記者曾向Stepanov先生問過此問題:STL究竟是指Standard Template Library(標(biāo)準(zhǔn)模板庫)還是 Stepanov and Lee?
Stepanov先生笑著解釋他的玩笑:哦,它真的是指Standard Template Library。我曾經(jīng)在Dr. Dobb的雜志做的那個(gè)專訪里開玩笑說,STL是指“Stepanov and Lee”,但它只是個(gè)玩笑而已。

而真正的STL實(shí)質(zhì)上包含了二者的意思。Meng Lee是他的一位無可挑剔的合作伙伴,她使Stepanov先生更專注,她在代碼和文檔上花了大量的令人筋疲力盡的時(shí)間。正是由于像Lee這樣的合作者,使得STL最終廣為世人傳播。

Stepanov 先生在互聯(lián)網(wǎng)上很低調(diào),既沒有個(gè)人主頁,也很難搜索其電郵。

STL代表什么呢?Stepanov and Lee,這不完全是個(gè)玩笑,Meng Lee架起了我們與Stepanov先生溝通的又一架橋梁。這篇采訪中滋潤著她的汗水……

 

對(duì)話STL之父Alex Stepanov

 

當(dāng)我面對(duì)面見到Alex Stepanov先生時(shí),和我面對(duì)他的像片時(shí)想像的是另一個(gè)人,從他的唯一的官方照片上, 我們不難對(duì)他有威嚴(yán)的遐想,但實(shí)際上那并非他自然的一面——幽默風(fēng)趣、平易近人才是真正的他。

Stepanov先生和C++之父Bjarne Stroustrup 先生是很好的朋友,Bjarne的推薦對(duì)我們的采訪起了重要的推動(dòng)作用,他告訴我:Stepanov先生經(jīng)常有一些有趣的和重要的東西要說。

Stepanov先生有著非常嚴(yán)重的個(gè)人魅力,他的言辭激進(jìn),甚至讓人想到“猛烈”“尖銳”等字眼,這可能也正是他對(duì)計(jì)算機(jī)內(nèi)涵的深刻體會(huì)和精深的數(shù)學(xué)涵養(yǎng)所致——他的眼里容不得半粒沙子。

他給我們的忠告很簡潔:“好好學(xué)數(shù)學(xué),好好學(xué)計(jì)算機(jī),好好學(xué)英語?!?/span> 

 溯源STL

問:您認(rèn)為編程的好的方法是什么?對(duì)于編程來說,一種工具是不是必需的?
Alex:我認(rèn)為學(xué)習(xí)多種不同的編程語言是非常重要的。我用過Algol-60, Common Lisp, Scheme, Ada, C, C++, Java,和多種匯編語言。然而,也不能僅僅局限于程序語言,它僅僅是種表達(dá)算法和數(shù)據(jù)結(jié)構(gòu)的工具——并且是種有缺陷的工具。一如Niklaus Wirth有句精辟見解:程序=算法+數(shù)據(jù)結(jié)構(gòu)。
 
問:您認(rèn)為計(jì)算機(jī)語言和人類的語言有什么區(qū)別?
Alex:沒有人嘗試過用計(jì)算機(jī)語言寫出詩歌來。計(jì)算機(jī)語言發(fā)展到能允許我們解決一些真正美好的現(xiàn)實(shí)生活中的東西,還有很長的路要走。

STLOO

 
追根溯源,STL起源于什么?意大利記者的提問對(duì)我們將有所幫助。
問:STL一開始被設(shè)想為今天這個(gè)樣子嗎?即所謂的C++標(biāo)準(zhǔn)庫,或者,它是從別的什么項(xiàng)目來的?告訴我們一些關(guān)于STL的歷史好嗎?
 答: 1976年,又要說回到蘇聯(lián)了,我因?yàn)槌陨~片得了嚴(yán)重的食物中毒而住院,在精神恍惚中,我忽然意識(shí)到并發(fā)的加法計(jì)算能力是基于加法是結(jié)合性的[譯注:我對(duì)這句 話的理解是:比如說a + b + c = a + ( b + c) = ( a + b) + c]。(因此,STL可以說是細(xì)菌傳染的結(jié)果J)同時(shí),我意識(shí)到并發(fā)的減法運(yùn)算是和半群結(jié)構(gòu)類型有關(guān)聯(lián)的,這就是最基本的重點(diǎn):算法是定義于代數(shù)結(jié)構(gòu)基礎(chǔ)之上的。我又花了一些年頭,意識(shí)到必須在正規(guī)公理上加入復(fù)雜性必要條件以擴(kuò)展結(jié)構(gòu)的概念,接著又花了15年之久才完成全面的架構(gòu)。(我直到現(xiàn)在都不能確定我是否成功地讓我朋友小圈子之外的任何人理解了這一點(diǎn))。我相信迭代器理論是計(jì)算科學(xué)的中心就象環(huán)或Banach區(qū)間理論是數(shù)學(xué)的中心一樣。每次當(dāng)我找到一個(gè)算法時(shí),我都要努力去尋求它所定義的結(jié)構(gòu)基礎(chǔ)。我想做的就是泛化地描述算法,并樂此不疲。我可以花一個(gè)月時(shí)間去精確地描述一個(gè)眾所周知的算法的泛化表示。迄今為止,在向人們解釋我這種行為的重要性方面,我是異乎尋常的失敗。然而,不知何故,這種行為的結(jié)果─STL卻是如此成功。
關(guān)于STL還有很多故事:STL如何成為C++標(biāo)準(zhǔn)的呢?Stepanov先生有下面的表述,表述中也有他對(duì)C++之父Bjarne Stroustrup先生的精彩描述。
問:有一件事情我一直都很驚奇—C++標(biāo)準(zhǔn)委員會(huì)那么快就采納了STL。我的意思是,這些委員會(huì)可都是以謹(jǐn)慎和保守而出名的。這一點(diǎn),你怎么解釋?
答:Bjarne Stroustrup的支持是至關(guān)重要的。如果說Bjarne想要什么東西的話,那就是他真的想把STL弄到標(biāo)準(zhǔn)里,他辦到了。他象騾子一樣固執(zhí)。甚至逼著我去改STL——我從來都不會(huì)為第二個(gè)人這么做——我也是個(gè)頑固分子。但他是我所認(rèn)識(shí)的最有主見的人,他花了一些時(shí)間去理解STL是干啥的,當(dāng)他理解之后,他決定使其成功地被大家接受。他對(duì)STL的貢獻(xiàn)還在于他支持“不止一種編程方法是‘合理的’”的觀點(diǎn)——這對(duì)立于十來年認(rèn)同“唯一”方法的無休止的爭執(zhí)和夸大——而堅(jiān)持把彈性、效率、重載、類型安全結(jié)合在模板里以致于STL成為可能。我很樂意明白地聲明Bjarne是我這一代人里卓越的語言設(shè)計(jì)家。
問:您是由于什么原因而發(fā)明了STL?發(fā)明的過程是什么樣子的?它對(duì)您的生活和研究有什么影響嗎?
Alex:STL的發(fā)明源于我多年對(duì)程序靈活性和參數(shù)化探索的結(jié)果。我對(duì)此仍不太滿意:因?yàn)镃++語言上的一些缺憾,使得我不能完全表達(dá)我要表達(dá)的意思。STL應(yīng)當(dāng)做將來要設(shè)計(jì)的庫的草稿。我不知道在我有生之年是否能看得到,但我堅(jiān)信最終會(huì)有一個(gè)關(guān)于算法和數(shù)據(jù)結(jié)構(gòu)的標(biāo)準(zhǔn)架構(gòu),說不定作為讀者的你就是這一發(fā)明人呢!
我覺得很難形容STL對(duì)我生活和研究的影響。STL并未從本質(zhì)上改變我的生活,因?yàn)槲覜]有通過它賺到任何錢。我想向我的幾個(gè)朋友展示一下正確的編程方法,而 STL正是為他們而做的。事實(shí)上將這項(xiàng)工作完成帶給我很多快樂,當(dāng)我聽說它幫助某人解決了問題時(shí),我更加快樂。當(dāng)然也有人說如果讓他們設(shè)計(jì)他們可以設(shè)計(jì)出更好的東西來,也有人對(duì)STL嗤之以鼻。這些攻擊也確實(shí)傷害到我。
STL形成對(duì)照的是OO——面向?qū)ο缶幊?。OO的思想困繞著許多程序員,OO的思想一直困繞著我,從未有人對(duì)OO表達(dá)過如此強(qiáng)烈的想法——除了Stepanov先生。我想:作為一個(gè)程序員,這種東東一定是要掌握的,但是……,請(qǐng)看下面Stepanov先生的觀點(diǎn):
 
問: 您對(duì)面向?qū)ο笫窃鯓永斫獾??它是不是一種好的可接受的編程思考方式?有沒有學(xué)習(xí)OO必須的有用的工具?
Alex我盡量避免用OO思考問題,我對(duì)他們編程的方法不感冒。在對(duì)意大利的一家期刊采訪時(shí)我曾說過:“我發(fā)現(xiàn) OOP在技術(shù)上是有問題的,它妄圖用基于單一類型的不同接口來分解世界,為了處理不同的實(shí)際問題,你需要不同種類的代數(shù)方法以橫跨不同類型的接口族;我發(fā)現(xiàn)OOP在思想上是不健全的,它聲稱一切都是一個(gè)對(duì)象。即使真的是這樣這也沒什么意思─說一切都是對(duì)象跟什么都沒說一樣;我發(fā)現(xiàn)OOP的方法論是錯(cuò)誤的,它從類開始。就好像數(shù)學(xué)要從公理開始一樣。你不是從公理開始─你是從證明開始。直到你找到了一大堆相關(guān)證據(jù)你才能歸納出公理,以公理結(jié)束。編程上存在著同樣的事實(shí):你要從有趣的算法開始。只有很好地理解了算法,你才有可能提出合理的接口以讓其他組件共同工作?!蔽以僦貜?fù)強(qiáng)調(diào)一點(diǎn):程序是描述算法和數(shù)據(jù)結(jié)構(gòu)的,而不是描述繼承性和多態(tài)

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
面向?qū)ο笫莻€(gè)騙局?!
真實(shí)的C++之父
C++ STL編程輕松入門01
計(jì)算機(jī)經(jīng)典書籍匯總
C++的學(xué)習(xí)方法及書籍推薦
C/C++從入門到進(jìn)階必修書籍
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服