一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

超載的程序員

  英文原文:

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

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

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

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

高德納 Donald Ervin Knuth

高德納 Donald Ervin Knuth

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

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

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

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

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

  這太荒唐了。

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

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

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

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

it知識庫超載的程序員,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 激情欧美在线 | 久久精品国内一区二区三区 | 伊人精品在线 | 99国产精品欧美久久久久久影院 | 伊人久久大香线焦在观看 | 九九99九九精彩网站 | 国内精品小视频在线 | 正在播放亚洲一区 | 亚洲精品成人网 | 日日噜噜噜噜人人爽亚洲精品 | 国内精品视频成人一区二区 | 国产第一页久久亚洲欧美国产 | 久久久久久久国产精品 | 日本高清午夜色wwwσ | 丁香五六月婷婷 | 99国产精品一区二区 | 免费小视频网站 | 婷婷综合视频 | 色婷婷综合欧美成人 | 中文字幕一区二区三区有限公司 | 色视频大全| 激情在线播放免费视频高清 | 九色91精品国产网站 | 高清欧美在线三级视频 | 国产真实伦视频在线观看 | 四虎com | 精新精新国产自在现拍 | 手机成人在线视频 | 午夜视频在线看 | 国产美女免费 | 国产成人在线看 | 色六月丁香| 国产夜趣福利免费视频 | 久久婷婷伊人 | 91久久夜色精品国产网站 | 国产精品高清全国免费观看 | 日本加勒比在线播放 | 二区中文字幕 | 亚洲综合激情网 | 亚洲一级免费毛片 | 国产午夜视频在线 |