自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

超載的程序員

開發(fā) 前端
本文的作者 Erik McClure 是一個(gè)正在華盛頓大學(xué)攻讀應(yīng)用數(shù)學(xué)的學(xué)生。

本文中幾次提到了 Donald Knuth——高德納(Donald Ervin Knuth,1938年 1 月 10 日-),出生于密爾沃基,美國(guó)著名計(jì)算機(jī)科學(xué)家,斯坦福大學(xué)計(jì)算機(jī)系榮譽(yù)退休教授。高德納教授被譽(yù)為現(xiàn)代計(jì)算機(jī)科學(xué)的鼻祖,在計(jì)算機(jī)科學(xué)及數(shù)學(xué)領(lǐng)域發(fā)表了多部具廣泛影響的論文和著作。

高德納最為人知的事跡是,他是《計(jì)算機(jī)程序設(shè)計(jì)藝術(shù)》(The Art of Computer Programming)的作者。此書是計(jì)算機(jī)科學(xué)界最受高度敬重的參考書籍之一。他創(chuàng)造了算法分析的領(lǐng)域,在數(shù)個(gè)理論計(jì)算機(jī)科學(xué)的分支做出初步貢獻(xiàn),此外還是排版軟件 TeX 和字型設(shè)計(jì)系統(tǒng) Metafont 的發(fā)明人。

 

[[61628]]

 

高德納 Donald Ervin Knuth

“注意上面這段代碼;我只是感覺它沒問題,但沒有試過。” – Donald Knuth

今天早上,在 Google 上搜索的時(shí)候,我偶然看到了一個(gè)帖子,作者聲稱:所有人都不該使用 C++ 標(biāo)準(zhǔn)庫里的 make_heap 函數(shù),因?yàn)?,幾乎沒有人是在正確的使用它。我立即在心里大罵這是多么荒謬的斷言,因?yàn)槿魏稳酥灰线^基本的算法課程,都會(huì)知道如何正確的使用make_heap。然而,這讓我開始思考,如何看待那些不知道堆(heap)為何物的程序員,更甚者,那些并不需要知道它為何物的程序員。

最終,我認(rèn)定,這兩種人,我們?nèi)匀粦?yīng)把他們稱作程序員。

當(dāng)我還是個(gè)毛頭小伙的時(shí)候,很多我聽到的關(guān)于如何正確的編程的建議其實(shí)都是非常錯(cuò)誤的。經(jīng)過這些年,我發(fā)現(xiàn),大多數(shù)這樣的這建議,其本身并沒有問題,只是缺少相應(yīng)的上下文環(huán)境。當(dāng)今的這波創(chuàng)業(yè)浪潮給人們?cè)斐闪艘粋€(gè)有趣的印象,導(dǎo)致很多的程序員都開始相信“性能不是問題”,這個(gè)就是一種充滿風(fēng)險(xiǎn)和牽涉微妙的上下文環(huán)境的建議,尤其是當(dāng)面對(duì)會(huì)出現(xiàn)意想不到的相互影響的復(fù)雜架構(gòu)時(shí)更是要警惕。這種缺乏上下文的耳耳相傳的只言片語的流行是一個(gè)很普遍的問題,而事實(shí)上,它是一個(gè)更深層問題的簡(jiǎn)單表象。

程序員這個(gè)詞涵蓋了一個(gè)異常寬泛的技術(shù)譜系和層次。從縱坐標(biāo)上講,一個(gè)程序員,從能僅僅會(huì)用 vbscript,到能為因特爾 CPU 寫編譯器、為航空公司開發(fā)系統(tǒng)運(yùn)算軟件。從橫坐標(biāo)上講,他可能是專長(zhǎng)于數(shù)據(jù)庫,或能從 CPU 指令級(jí)別調(diào)整性能,或能開發(fā)并行處理庫,或制造物理過程引擎,或做圖片處理,或創(chuàng)作 3D 模型,或?qū)懘蛴C(jī)驅(qū)動(dòng),或使用 coffeescript,HTML5,和 AJAX 來開發(fā)網(wǎng)站應(yīng)用,或使用 nginx 和 PHP 開發(fā) LAMP 架構(gòu) web 應(yīng)用,或他能編寫網(wǎng)絡(luò)應(yīng)用庫或能做人工智能科研。他們都是程序員。

這太荒唐了。

我們的世界正在被軟件吞噬。在將來,編程將會(huì)和數(shù)學(xué)和語文一樣成為基礎(chǔ)課程。我們將會(huì)有四個(gè)R——Reading (閱讀), ‘Riting, ‘Rithematic (數(shù)學(xué)), 和 Recursion (遞歸算法)。到時(shí),如果再說某某人是一個(gè)程序員將會(huì)是一句廢話,因?yàn)槌^ 10% 的人口將會(huì)具有一定水平的編程能力。“程序員”這個(gè)詞涵蓋了如此多的內(nèi)容,如果你稱自己為程序員,就好象稱自己為“科學(xué)家”而不是“物理科學(xué)家”。我們能有其他稱呼嗎?有人試圖做了這方面的嘗試,指出一個(gè)程序員和一個(gè)計(jì)算機(jī)科學(xué)家直接的不同之處,但說的毫無價(jià)值,根本無法區(qū)分我和一個(gè)從大學(xué)畢業(yè)的人工智能博士生之間的區(qū)別。他懂得多維數(shù)學(xué)分析,用函數(shù)式語言計(jì)算,這些是我不通過數(shù)年的研究是無法理解的。而我能夠?qū)懗鏊俣瘸斓?,靈巧的 C++ 或 HLSL 匯編程序,能變戲法似的處理和變換矩陣,在屏幕上繪出漂亮的圖像。我說的這兩種情況都是出于完全不同的原因下的極其復(fù)雜的工作,他不能完成我的,我不能完成他的。一種操作對(duì)一個(gè)人很熟練,對(duì)另外一個(gè)人卻是困難的。但我們都是程序員。只是在我們各自的領(lǐng)域里的程序員,我們是圖像計(jì)算程序員或人工智能程序員或[xxx]程序員。

你知道我們?yōu)槭裁磿?huì)有這樣毫無目標(biāo)的語言論戰(zhàn)和毫無意義的關(guān)于哪一種語言更好用的爭(zhēng)論嗎?你知道為什么人們——除非在自己的小圈子里當(dāng)“XX 方法”對(duì)所有人表示同一個(gè)意思的時(shí)候——永遠(yuǎn)不能在這些問題是達(dá)成共識(shí)的原因嗎?因?yàn)槲覀冑x予了自己過多的內(nèi)容。我們把自己看成了由數(shù)個(gè)程序員組成——每個(gè)都專長(zhǎng)于某項(xiàng)東西,我們錯(cuò)誤的認(rèn)為我們的觀點(diǎn)能夠適用于我們的專長(zhǎng)之外的領(lǐng)域。我們是工業(yè)工程師卻試圖想告訴化學(xué)家如何進(jìn)行他們的試驗(yàn)。我們是建筑師卻試圖想告訴英語專業(yè)的學(xué)生如何創(chuàng)作一篇論文——只是因?yàn)槲覀兌加昧舜罅康募垙垺?/p>

這種態(tài)度深深的根植于計(jì)算機(jī)科技界的核心深處。計(jì)算機(jī)科學(xué)的主要目的是用一些基本數(shù)據(jù)結(jié)構(gòu)來幫人們完成以前需要人做的所有事情。如果你認(rèn)為這完全是編程的事,那你就錯(cuò)了,這是不可能的。我們忘了,這些數(shù)據(jù)結(jié)構(gòu)只是我們?cè)谏衿娴臄?shù)據(jù)計(jì)算領(lǐng)域需要的,我們忽略了,對(duì)于不同的實(shí)現(xiàn),需要對(duì)完全不同領(lǐng)域的編程,針對(duì)的是完全不同的用戶。Donald Knuth 深知理論和實(shí)現(xiàn)之間的不同之處——我們需要認(rèn)真的理解這些關(guān)于理論和特定實(shí)現(xiàn)的忠告之間的區(qū)別。

如今,你已經(jīng)不能因?yàn)橐粋€(gè)人是程序員,你就可以隨意讓他開發(fā)任何東西。說一個(gè)程序員在開發(fā)軟件,就好像是說一個(gè)科學(xué)家在做科學(xué)研究。不同之處是,植物學(xué)科學(xué)家是不會(huì)去設(shè)計(jì)核反應(yīng)堆的。

原文:http://www.aqee.net/programmer-is-an-overgeneralization/

【編輯推薦】

  1. 選擇跟程序員約會(huì)的10個(gè)理由
  2. 從程序員到第四次創(chuàng)業(yè)的生活
  3. 是什么讓程序員想死的心都有了?
  4. 是什么成就了卓越的程序員?
  5. 寫代碼如坐禪:你是哪一類程序員?
責(zé)任編輯:陳貽新 來源: 外刊IT評(píng)論
相關(guān)推薦

2013-08-20 09:33:59

程序員

2011-05-13 14:34:02

程序員

2012-03-06 09:22:46

程序員

2017-11-14 21:30:15

2012-11-22 14:00:26

程序員

2012-06-23 17:21:18

程序員

2009-05-21 15:58:12

程序員工作經(jīng)驗(yàn)職場(chǎng)

2013-04-15 10:55:09

程序員

2012-11-08 09:49:30

C++Java程序員

2009-12-14 09:29:00

程序員

2010-08-27 10:34:51

程序員

2012-02-14 09:13:51

程序員

2015-09-24 08:43:13

程序員未來

2015-05-26 09:17:34

程序員泛泛涉獵

2015-04-10 19:37:34

程序員

2022-03-16 11:10:19

程序員社區(qū)技術(shù)

2013-07-12 10:58:16

程序員

2011-05-30 14:50:56

程序員

2016-10-27 09:54:16

程序員云計(jì)算網(wǎng)絡(luò)

2014-03-27 11:10:46

程序員老程序員
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)