翻譯

十年內(nèi)自學編程

彼得·諾維格

為什么大家都這么著急战秋?

走進任何一家書店,你就會看到如何 自學爪哇 24 小時內(nèi) 除了無休止的變化提供教 C讨韭, SQL脂信、Ruby、算法等在幾天或幾小時內(nèi)完成透硝。 亞馬遜高級搜索 |標題: 教學狰闪, 自己, 小時濒生, 因為: 20 發(fā)現(xiàn)了512本這樣的書前十名中埋泵,有九本是編程書籍(另一本是關于簿記的)。類似的結(jié)果來自將"自學"替換為"學習"或"小時"與"天"甜攀。

結(jié)論是秋泄,要么人大都急于學習 關于編程琐馆,或編程是不知何故非常容易 學習比什么都重要。 費雷森 等恒序。 在他們的書里點頭 如何設計程序瘦麸, 當他們說 "糟糕的編程很容易。 白癡 可以學習它 21 天, 即使他們是 傻瓜."阿布特魯斯鵝漫畫也有 他們采取.

讓我們分析一下標題是什么樣的 在 24 小時內(nèi)C++一些孩子 可能意味著:

自學: 在24小時內(nèi)滋饲,你將沒有時間寫幾個 重要的計劃,并學習你的成功和失敗 他們喊巍。 您沒有時間與經(jīng)驗豐富的程序員合作屠缭, 了解生活在一個C++。 簡而言之崭参,您 不會有時間學太多呵曹。 所以這本書只能談一個 膚淺的熟悉,不是深刻的理解何暮。正如亞歷山大·波普說的 一點學習是件危險的事情奄喂。

C++: 在24小時內(nèi),你也許能夠?qū)W習一些語法 C++(如果你已經(jīng)知道另一種語言)海洼,但你不能 學習如何使用語言跨新。 總之,如果你是坏逢,說域帐,一個 基本程序員,你可以學會寫程序的風格 基本C++語法是整,但無法了解C++是什么 其實好 (和壞) 肖揣。 那有什么意義呢? 艾倫 佩利斯 曾經(jīng)說過:"一種語言浮入,不會影響你的方式 考慮編程许饿,不值得知道"。 一個可能的點是 你必須學習一點點C++ (或更可能的東西 像 JavaScript 或處理)舵盈,因為您需要與 用于完成特定任務的現(xiàn)有工具。但你不是 學習如何編程;你正在學習完成那個任務

24 小時內(nèi): 不幸的是球化,這還不夠秽晚,作為下一個 節(jié)顯示。

十年內(nèi)自學編程

研究人員(綻放 (1985), 布萊恩和哈特 (1899), 海斯 (1989), 西蒙與大通 (1973)) 已顯示它 需要大約十年的時間筒愚,以發(fā)展專業(yè)知識赴蝇,在任何各種 領域,包括國際象棋巢掺、音樂創(chuàng)作句伶、電報 操作劲蜻,繪畫,鋼琴演奏考余,游泳先嬉,網(wǎng)球和研究 神經(jīng)心理學和拓撲學。 關鍵是 協(xié)商 實踐: 不只是一遍又一遍楚堤, 但挑戰(zhàn)自己 任務超出了你目前的能力疫蔓,嘗試一下, 分析您的性能身冬,同時和之后這樣做衅胀,并糾正 任何錯誤。 然后重復酥筝。 再重復一遍 似乎沒有 真正的捷徑:甚至莫扎特滚躯,誰是音樂神童在4歲,采取了 13年前嘿歌,他開始制作世界級的音樂掸掏。 在 另一種流派,披頭士樂隊似乎爆裂到現(xiàn)場與 一串#1和1964年埃德·沙利文秀的出場搅幅。 但他們一直在利物浦和漢堡打小俱樂部阅束, 因為 1957年,雖然他們有大規(guī)模呼吁早期茄唐,他們的第一個偉大的 關鍵的成功息裸, 辣椒中士,于1967年發(fā)行沪编。

馬爾科姆 格拉德韋爾 他推廣了這個想法呼盆, 雖然他專注于 10,000 小時蚁廓, 而不是 10 年访圃。 亨利·卡蒂埃-布雷森(1908-2004)還有另一個指標:"你的前10,000張照片是你們最差的相嵌。(他沒有 預計使用數(shù)碼相機腿时,有些人可以在一周內(nèi)達到這個目標。 真正的專業(yè)知識可能需要一生的時間: 塞繆爾·約翰遜 (1709-1784) 說:"在任何部門饭宾,卓越都可以 只通過一生的勞動獲得;它不得在 較低的價格批糟。 喬瑟 (1340 - 1400) 抱怨 "萊夫這么短, 工藝 這么久的勒恩看铆。希波克拉底 (c. 400BC) 是眾所周知的摘錄 "阿爾斯朗加徽鼎, 維塔布雷維斯",這是較長的報價"阿爾斯龍加,維塔的一部分 布雷維斯否淤, 偶爾練習悄但, 實驗周利庫蘇姆, iudicium 困難"石抡,在英語中呈現(xiàn)為"生命是短暫的檐嚣,[the]工藝 長, 機會轉(zhuǎn)瞬即逝汁雷, 實驗背信棄義净嘀, 判斷 困難。 當然侠讯,沒有一個數(shù)字可以是最終的答案:它似乎不合理 假定所有技能(例如編程挖藏、下棋、跳棋和音樂演奏) 可以都需要完全相同的時間來掌握厢漩,也不是所有的人 需要完全相同的時間膜眠。作為 教授。 K溜嗜。安德斯·愛立信 說宵膨,"在大多數(shù)領域,這是顯著多少時間炸宵,甚至最 人才需要達到最高水平辟躏。10,000 小時的數(shù)字只是讓您感覺到土全,我們談論的是每周 10 到 20 小時捎琐,有些人會認為這些人是天生的天才人才,仍然需要達到最高水平裹匙。

所以你想成為一名程序員

以下是我的編程成功秘訣:

獲取 興趣 在編程瑞凑,并做一些,因為它是有趣的概页。 確保 它一直足夠有趣籽御,這樣你才愿意投入你的十年/10,000小時惰匙。

程序. 最好的學習方式是 學習 通過做. 簡單地說技掏,技術上,"最高水平 未達到給定域中個人的性能 自動作為擴展體驗的函數(shù)项鬼,但級別 即使經(jīng)驗豐富的個人可以提高績效零截, 經(jīng)過深思熟慮的改進。 (第366位) 和"最有效的學習需要一個明確定義的任務與 適合特定個體的難度級別秃臣, 信息性反饋,以及重復和更正的機會 錯誤。(第20-21號) 這本書 實踐中的認知:日常思維奥此、數(shù)學和文化 生活 是一個有趣的 參考這個觀點弧哎。

與交談 其他程序員;閱讀其他程序。 這更重要 比任何書籍或培訓課程稚虎。

如果你想撤嫩,把在四年 大學 (或更多在 研究生院)。 這將讓您訪問一些需要 憑據(jù)蠢终,它會讓您更深入地了解該領域序攘, 但如果你不喜歡學校, 你可以 (與一些奉獻) 得到 類似的經(jīng)驗寻拂,你自己或工作程奠。無論如何,單靠書本學習不會 就足夠了祭钉。"計算機科學教育不能使任何人成為專家 程序員比研究刷子和顏料可以使 某人是專家畫家瞄沙,"埃里克·雷蒙德說,作者 新 黑客詞典.我雇傭過的最好的程序員之一 只有高中學位;他產(chǎn)生了很多 偉大 軟件慌核, 有他自己的 新聞組距境,并做了足夠的股票期權(quán)購買自己的 夜總會.

工作在 項目與 其他程序員。成為最好的程序員 在某些項目上;是其他人最差的垮卓。 當你是最好的 你可以測試你的能力垫桂,領導一個項目,并激勵 別人有你的愿景粟按。 當你是最差的诬滩,你學到什么 大師做,你學習他們不喜歡什么做(因為他們 讓你為他們做)钾怔。

工作在 項目 后 其他程序員碱呼。 了解其他人編寫的程序∽谡欤看看需要什么 了解和修復它時愚臀, 原始程序員不 周圍》考慮如何設計程序姑裂,使其更易于使用 那些會支持你的人

至少學習半打 編程語言. 包括一個 強調(diào)類抽象的語言(如Java或C++),一個 強調(diào)功能抽象(如 Lisp 或 ML 或 Haskell)男旗,一 支持句法抽象 (如 Lisp)舶斧, 一 支持聲明性規(guī)范(如 Prolog 或 C++ 模板),以及 一個強調(diào)平行性 (如克洛朱爾或去) 察皇。

請記住茴厉,有一個"計算機在"計算機科學"中泽台。知道 計算機執(zhí)行指令需要多長時間,獲取 從內(nèi)存中的字(有和沒有緩存錯過)矾缓,從磁盤讀取連續(xù)單詞查坪,并查找到磁盤上的新位置蚌成。(答案在這里。)

參與語言 標準化 努力。 可能是安西C++委員會稿壁, 或者它 可以決定您的本地編碼風格是否會有 2 或 4 個空間 縮進級別赘阀。 無論哪種方式划乖,你了解什么其他人 喜歡在語言割笙,他們感覺多么深,甚至一點點 關于他們?yōu)槭裁磿@樣翠肘。

有好感 下車 語言標準化工作作為 盡快檐束。

這一切在心中, 它值得懷疑的锯茄, 你能得到多遠厢塘, 只是 書籍學習。 在我的第一個孩子出生之前肌幽,我讀了所有的 如何 自 書晚碾,仍然覺得自己像一個無知的新手。 30個月后 當我的第二個孩子到期喂急,我回到書 復習格嘁?不。 相反廊移,我依靠我的個人經(jīng)驗糕簿,這 原來更有用,更讓人放心 對我來說比寫數(shù)千頁 由專家狡孔。

弗雷德·布魯克斯懂诗,在他的文章中 無銀彈 確定了一個三部分的計劃,找到偉大的 軟件設計師:

盡早系統(tǒng)地確定頂級設計師苗膝。

指派一位職業(yè)導師負責潛在客戶的發(fā)展殃恒,并仔細保存職業(yè)檔案。

為成長的設計師提供互動和刺激的機會辱揭。

這假定有些人已經(jīng)具備了 成為一個偉大的設計師;工作是正確地哄他們一起离唐。 艾倫 佩利斯 說得更簡潔:"每個人都可以被教導雕刻: 米開朗基羅必須被教導如何不。因此问窃,它是與 偉大的程序員"亥鬓。 佩利斯說,偉人有一些 超越他們訓練的內(nèi)部質(zhì)量域庇。 但是嵌戈,在哪里 質(zhì)量來自覆积? 是天生的嗎? 或者他們通過 勤奮咕别? 作為奧古斯特古斯托 (虛構(gòu)的廚師在 拉塔圖耶)說技健,"任何人都可以做飯,但只有無所畏懼 可以是偉大的惰拱。 我認為它更多的是愿意奉獻一個大 一個人一生審議實踐的一部分。 但也許 無畏 是一種總結(jié)的方法啊送〕ザ蹋或者,作為古斯托的批評者馋没, 安東·埃戈說:"不是每個人都能成為一個偉大的藝術家昔逗,但一個偉大的 藝術家可以從任何地方。

因此篷朵,繼續(xù)購買 Java/Ruby/Javascript/PHP 書籍;你會 可能從中得到一些利用勾怒。 但你不會改變你的生活,或者 您作為程序員在 24 小時或 21 天內(nèi)獲得真正的整體專業(yè)知識声旺。 努力在24個月內(nèi)不斷改進怎么樣笔链? 現(xiàn)在你開始找個地方了...

引用

布魯姆, 本杰明 (ed.) 培養(yǎng)青年人才腮猖,巴蘭廷鉴扫,1985年。

布魯克斯 弗雷德 無銀彈澈缺, IEEE 計算機坪创, 第 20 卷, 第 4 號姐赡, 1987 年莱预, p. 10 -19。

布萊恩项滑, W. l. – 哈特依沮, N. "關于電報語言的研究: 習慣等級的獲取。 心理學評論, 1899, 8, 345-375

海斯杖们,約翰 完整的問題解算器 勞倫斯·埃鮑姆悉抵,1989年。

蔡斯摘完, 威廉 G. 和西蒙姥饰, 赫伯特 A. "國際象棋中的感知" 認知心理學, 1973, 4, 55-81.

熔巖,約翰孝治, 實踐中的認知:日常思維列粪、數(shù)學和文化 生活审磁,劍橋大學出版社,1988年岂座。

答案

典型 PC 上各種操作的大致計時:

執(zhí)行典型指令1/1态蒂,000,000费什,000 秒 = 1 納米秒從 L1 緩存內(nèi)存獲取0.5 納米秒分支預測錯誤5 納米秒從 L2 緩存內(nèi)存獲取7 納米秒靜音鎖定/解鎖25納米秒從主內(nèi)存獲取100納米秒通過 1Gbps 網(wǎng)絡發(fā)送 2K 字節(jié)20钾恢,000 納米秒從內(nèi)存中按順序讀取 1MB250,000 納米秒從新磁盤位置獲仍е贰(查找)8瘩蚪,000,000 納米秒從磁盤按順序讀取 1MB20稿黍,000疹瘦,000 納米秒發(fā)送包我們到歐洲和回來150 毫秒 = 150,000巡球,000 納米秒

附錄:語言選擇

有幾個人問他們應該先學什么編程語言言沐。 沒有一個答案,但請考慮以下幾點:

使用你的朋友.當被問及"什么操作系統(tǒng)應該 我使用酣栈, Windows险胰, Unix, 或 Mac钉嘹? 你的朋友使用鸯乃。 從學習中獲得的優(yōu)勢 朋友將抵消操作系統(tǒng)之間的任何內(nèi)在差異,或 編程語言之間跋涣。 還要考慮你未來的朋友: 程序員社區(qū)缨睡,你將成為其中的一部分,如果你 繼續(xù)陈辱。 您選擇的語言是否擁有龐大的增長社區(qū) 還是一個小垂死的奖年? 是否有書籍、網(wǎng)站和在線論壇 得到答案沛贪? 你喜歡那些論壇里的人嗎陋守?

保持簡單. 編程語言,如C++ 和 Java 是專為專業(yè)開發(fā)由大型團隊 經(jīng)驗豐富的程序員誰關心運行時效率 他們的代碼利赋。 因此水评,這些語言具有專為這些情況設計的復雜部分。 你關心的是學習編程媚送。 你不需要這種并發(fā)癥中燥。 你想要一種被設計成易于學習和記憶的語言。 單個新程序員塘偎。

玩疗涉。 哪種方式拿霉,你寧愿學習彈鋼琴: 正常,互動的方式咱扣,你聽到每個音符绽淘,只要你點擊一個鍵, 或 "批" 模式闹伪, 你只聽到筆記后沪铭, 你完成了一整首歌? 顯然偏瓤,交互式模式使鋼琴的學習更容易伦意,也為 編程。堅持使用交互式模式的語言并使用它硼补。

鑒于這些標準,我關于第一次編程的建議 語言將是 Python 或 方案. 另一個選擇是Javascript熏矿,不是因為它為初學者設計得很好已骇, 但因為有這么多的在線教程,如 汗學院的教程. 但您的 情況可能會有所不同票编,還有其他不錯的選擇褪储。如果您的 年齡是一位數(shù),你可能更喜歡 愛 麗 絲 或 吱吱 聲 或 塊 (年齡較大的學習者也可能喜歡這些)慧域。重要 事情是鲤竹, 你選擇和開始。

附錄:書籍和其他資源

有幾個人問他們應該學什么書和網(wǎng)頁 從昔榴。 我再說一遍辛藻, "單靠書學習是不夠的", 但我可以 建議以下事項:

方案: 結(jié)構(gòu)和 計算機程序的解釋(阿貝爾森和蘇斯曼) 是 可能是計算機科學的最佳介紹互订, 它確實 教編程作為理解計算機科學的一種方式吱肌。 你可以看到 講座的在線視頻 在這本書,以及 在線完整文本.這本書是 挑戰(zhàn)仰禽,將雜草出一些人氮墨,也許可以 成功用另一種方法。

方案: 如何 設計方案(費里森) 等吐葵。) 是最好的書之一 如何以優(yōu)雅和實用的方式實際設計程序规揪。

Python: Python 編程: CS 簡介(Zelle) 是使用 Python 的很好介紹。

Python: 幾個 在線 教程 可在 Python.org.

盎司: 概念 計算機編程的技術和模型(范羅伊和哈里迪) 被一些人視為亞伯森和蘇斯曼的現(xiàn)代接班人温峭。 這是一個旅游通過編程的大想法猛铅,涵蓋更廣泛的 范圍比亞伯森和蘇斯曼,而也許更容易閱讀和 遵循诚镰。 它使用的語言奕坟,奧茲祥款,這是不廣為人知,但作為 學習其他語言的基礎月杉。 <

筆記

T. 卡佩指出刃跛, 完成 問題解算器 亞馬遜上的頁面現(xiàn)在有 "自學" 孟加拉語在 21 天" 和 "教自己語法和風格" 的書下 "為此商品購物的客戶也為這些物品購物" 部分。 我猜苛萎, 很大一部分人誰看 書來自這個頁面桨昙。 感謝羅斯·科恩對希波克拉底的幫助? ? ? ?

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市腌歉,隨后出現(xiàn)的幾起案子蛙酪,更是在濱河造成了極大的恐慌,老刑警劉巖翘盖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桂塞,死亡現(xiàn)場離奇詭異,居然都是意外死亡馍驯,警方通過查閱死者的電腦和手機阁危,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來汰瘫,“玉大人狂打,你說我怎么就攤上這事』烀郑” “怎么了趴乡?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蝗拿。 經(jīng)常有香客問我晾捏,道長,這世上最難降的妖魔是什么蛹磺? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任粟瞬,我火速辦了婚禮,結(jié)果婚禮上萤捆,老公的妹妹穿的比我還像新娘裙品。我一直安慰自己,他們只是感情好俗或,可當我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布市怎。 她就那樣靜靜地躺著,像睡著了一般辛慰。 火紅的嫁衣襯著肌膚如雪区匠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音驰弄,去河邊找鬼麻汰。 笑死,一個胖子當著我的面吹牛戚篙,可吹牛的內(nèi)容都是我干的五鲫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼岔擂,長吁一口氣:“原來是場噩夢啊……” “哼位喂!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起乱灵,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤塑崖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后痛倚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體规婆,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年蝉稳,在試婚紗的時候發(fā)現(xiàn)自己被綠了聋呢。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡颠区,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出通铲,到底是詐尸還是另有隱情毕莱,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布颅夺,位于F島的核電站朋截,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏吧黄。R本人自食惡果不足惜部服,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望拗慨。 院中可真熱鬧廓八,春花似錦、人聲如沸赵抢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烦却。三九已至宠叼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間其爵,已是汗流浹背冒冬。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工伸蚯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人简烤。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓剂邮,卻偏偏與公主長得像,于是被迫代替她去往敵國和親乐埠。 傳聞我的和親對象是個殘疾皇子抗斤,可洞房花燭夜當晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Zynq7000術語詳解 相信大家剛看到Zynq手冊的時候,對著那么一大堆縮略語肯定是一頭霧水丈咐,特轉(zhuǎn)來一篇文章瑞眼,為...
    xiliangzhao閱讀 218評論 0 0
  • 認知孩子的學習策略和解決家長焦慮 認識什么是策略,好比電腦程序棵逊,深層次結(jié)構(gòu)伤疙,不以承載的內(nèi)容而變化。也可以理...
    6908caaf3007閱讀 186評論 0 0
  • “公民式”學習其本質(zhì)是“對話”式學習辆影,建立在雙方平等的基礎上徒像,人格平等,話語權(quán)平等蛙讥,進行的一種探究锯蛀、交流、互動次慢、啟...
    二妞姐姐閱讀 126評論 0 0
  • 推薦指數(shù): 6.0 書籍主旨關鍵詞:特權(quán)旁涤、焦點、注意力迫像、語言聯(lián)想劈愚、情景聯(lián)想 觀點: 1.統(tǒng)計學現(xiàn)在叫數(shù)據(jù)分析,社會...
    Jenaral閱讀 5,705評論 0 5
  • 昨天闻妓,在回家的路上菌羽,坐在車里悠哉悠哉地看著三毛的《撒哈拉沙漠的故事》,我被里面的內(nèi)容深深吸引住了由缆,盡管上學時...
    夜闌曉語閱讀 3,783評論 2 9