<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【書(shū)單】程序員必讀高效入門(mén)書(shū)單

          共 2933字,需瀏覽 6分鐘

           ·

          2020-08-09 08:33

          點(diǎn)擊藍(lán)色“程序員書(shū)單”關(guān)注我喲

          加個(gè)“星標(biāo)”,每天帶你看好文,讀好書(shū)!


          點(diǎn)擊「閱讀原文」查看黃小斜在B站的原創(chuàng)精品視頻吧

          來(lái)自:網(wǎng)絡(luò)


          優(yōu)秀的程序員應(yīng)該具備兩方面能力:

          ● 良好的程序設(shè)計(jì)能力:

          掌握常用的數(shù)據(jù)結(jié)構(gòu)和算法;

          理解計(jì)算機(jī)科學(xué)的核心概念;

          熟悉至少兩門(mén)以上編程語(yǔ)言;

          ● 專(zhuān)業(yè)的軟件開(kāi)發(fā)素養(yǎng):

          具備良好的編程實(shí)踐,能夠編寫(xiě)可測(cè)試(Testable),可擴(kuò)展(Extensible),可維護(hù)(Maintainable)的代碼;

          把握客戶(hù)需求,按時(shí)交付客戶(hù)所需要的軟件產(chǎn)品;

          理解現(xiàn)代軟件開(kāi)發(fā)過(guò)程中的核心概念。

          和其它能力一樣,程序設(shè)計(jì)能力和軟件開(kāi)發(fā)素養(yǎng)源自項(xiàng)目經(jīng)驗(yàn)和書(shū)本知識(shí)。

          項(xiàng)目經(jīng)驗(yàn)因人而異(來(lái)自不同領(lǐng)域的程序員,項(xiàng)目差異會(huì)很大);但書(shū)本知識(shí)是相通的——尤其是經(jīng)典圖書(shū),它們都能夠拓寬程序員的視野,提高程序員的成長(zhǎng)速度。


          01.
          ?基礎(chǔ)理論


          編碼:隱匿在計(jì)算機(jī)軟硬件背后的語(yǔ)言。

          這本書(shū)其實(shí)不應(yīng)該叫編碼——它更應(yīng)該叫“Petzold教你造計(jì)算機(jī)”——作者Charles Petzold 創(chuàng)造性的以編碼為主題,從電報(bào)機(jī)和手電筒講到數(shù)字電路,然后利用數(shù)字電路中的邏輯門(mén)構(gòu)造出加法器和觸發(fā)器,最后構(gòu)造出一個(gè)完整的存儲(chǔ)程序計(jì)算機(jī)。

          不要被這些電路概念嚇到——編碼使用大量形象貼切的類(lèi)比簡(jiǎn)化了這些概念,使其成為最精彩最通俗易懂的計(jì)算機(jī)入門(mén)讀物。




          深入理解計(jì)算機(jī)系統(tǒng)(第2版):

          這本書(shū)的全名是:Computer Systems:A Programmer's Perspective(所以它又被稱(chēng)為CSAPP),我個(gè)人習(xí)慣把它翻譯為程序員所需了解的計(jì)算機(jī)系統(tǒng)知識(shí),盡管土了些,但更名副其實(shí)。


          02.
          編程語(yǔ)言


          C和指針是C語(yǔ)言的最佳入門(mén)書(shū)籍之一。它詳細(xì)但又不失簡(jiǎn)練的介紹了C語(yǔ)言以及C標(biāo)準(zhǔn)庫(kù)的方方面面。

          對(duì)于C語(yǔ)言初學(xué)者,最難的概念不僅僅是指針和數(shù)組,還有指向數(shù)組的指針和指向指針的指針。

          C和指針花了大量的篇幅和圖示來(lái)把這些難懂但重要的概念講的清清楚楚。


          C程序設(shè)計(jì)語(yǔ)言是二十多年前的書(shū)籍,但它仍然是C語(yǔ)言——以及計(jì)算機(jī)科學(xué)中最重要的書(shū)籍之一。

          它的重要性不僅僅在于它用清晰的語(yǔ)言和簡(jiǎn)練的代碼描述了C語(yǔ)言全貌,而且在于它為之后的計(jì)算機(jī)書(shū)籍——尤其是編程語(yǔ)言書(shū)籍樹(shù)立了新的標(biāo)桿。


          作為C++的發(fā)明者,沒(méi)有人能比Bjarne Stroustrup更理解C++。

          Bjarne在Texas A&M大學(xué)任教時(shí)使用C++為大學(xué)新生講授編程,從而就有了C++程序設(shè)計(jì)原理與實(shí)踐這本書(shū)——它面向編程初學(xué)者,既包含C++教程,也包含大量程序設(shè)計(jì)原則。


          Java核心技術(shù)(即Core Java)并不算是一本特別出色的書(shū)籍。

          示例代碼不夠嚴(yán)謹(jǐn),充斥著很多與C/C++的比較,語(yǔ)言也不夠簡(jiǎn)潔——問(wèn)題在于Java并沒(méi)有一本很出色的入門(mén)書(shū)籍。

          與同類(lèi)型的Java編程思想相比,Java核心技術(shù)至少做到了廢話(huà)不多,與時(shí)俱進(jìn)(Java編程思想還停留在Java 6之前),矮子里面選將軍,Java核心技術(shù)算不錯(cuò)了。


          Effective Java是最好的編程書(shū)籍之一,它包含大量的優(yōu)秀Java編程實(shí)踐,并對(duì)泛型和并發(fā)這兩個(gè)充滿(mǎn)陷阱的Java特性給出了充滿(mǎn)洞察力的建議。

          以至于Java之父James Gosling為這本書(shū)作序:“我很希望10年前就擁有這本書(shū)???/em>有人認(rèn)為我不需要任何Java方面的書(shū)籍,但是我需要這本書(shū)?!?/span>



          CLR via C#是C#/.Net最重要的書(shū)籍,沒(méi)有之一。

          它全面介紹了.Net的基石——CLR的運(yùn)行原理,以及構(gòu)建于CLR之上的C#類(lèi)型系統(tǒng),運(yùn)行時(shí)關(guān)系,泛型,以及線(xiàn)程/并行等高級(jí)內(nèi)容。任何一個(gè)以C#為工作內(nèi)容的程序員都應(yīng)該閱讀此書(shū)。



          JavaScript現(xiàn)在可以做到客戶(hù)端服務(wù)器端通吃,盡管JQuery之類(lèi)的前端框架使得一些人可以不懂JavaScript也可以編程,但我們還是建議學(xué)習(xí)JavaScript從HTML DOM開(kāi)始最為適合,因?yàn)檫@是JavaScript設(shè)計(jì)的初衷。

          JavaScript DOM編程藝術(shù)系統(tǒng)的介紹了如何使用JavaScript,HTML,以及CSS創(chuàng)建可用的Web頁(yè)面,是一本前端入門(mén)佳作。

          JavaScript語(yǔ)言包含大量的陷阱和誤區(qū),但它卻又有一些相當(dāng)不錯(cuò)的特性,這也是為什么Douglas Crockford稱(chēng)JavaScript為世界上最被誤解的語(yǔ)言,并編寫(xiě)了JavaScript語(yǔ)言精粹一書(shū)來(lái)幫助前端開(kāi)發(fā)者繞開(kāi)JavaScript中的陷阱。

          和同類(lèi)書(shū)籍不同,JavaScript語(yǔ)言精粹用精煉的語(yǔ)言講解了JavaScript語(yǔ)言中好的那部分(例如閉包,函數(shù)是頭等對(duì)象,以及對(duì)象字面量),并建議讀者不要使用其它不好的部分(例如混亂的類(lèi)型轉(zhuǎn)換,默認(rèn)全局命名空間,以及奇葩的相等判斷符),畢竟,用糟糕的特性編寫(xiě)出來(lái)的程序往往也是糟糕的。


          Python的入門(mén)書(shū)籍很多,而且據(jù)說(shuō)質(zhì)量大多不錯(cuò),推薦Python基礎(chǔ)教程的原因是因?yàn)樗俏业腜ython入門(mén)讀物——簡(jiǎn)潔,全面,代碼質(zhì)量很不錯(cuò),而且有幾個(gè)很有趣的課后作業(yè),可以快速上手。


          03.
          程序設(shè)計(jì)


          計(jì)算機(jī)程序的構(gòu)造與解釋是另一本被國(guó)內(nèi)大學(xué)忽視的教材,這本書(shū)和程序設(shè)計(jì)方法有很多共同點(diǎn)——都使用Scheme作為教學(xué)語(yǔ)言;都專(zhuān)注于程序設(shè)計(jì)方法而非編程語(yǔ)言本身;都擁有相當(dāng)出色的課后題。

          相對(duì)于程序設(shè)計(jì)方法,計(jì)算機(jī)程序的構(gòu)造與解釋要更加深入程序設(shè)計(jì)的本質(zhì)(過(guò)程抽象,數(shù)據(jù)抽象,以及元語(yǔ)言抽象),以至于Google技術(shù)總監(jiān)Peter Norvig給了這本書(shū)超高的評(píng)價(jià)。


          04.
          算法與數(shù)據(jù)結(jié)構(gòu)


          C語(yǔ)言描述,我曾經(jīng)認(rèn)為它是最好的算法入門(mén)教材,但自從我讀到Sedgewick的算法之后我就改變了觀(guān)點(diǎn)——這本算法才是最好的算法入門(mén)教材:

          使用更為容易的Java語(yǔ)言作為教學(xué)語(yǔ)言;

          覆蓋所有常用的數(shù)據(jù)結(jié)構(gòu)和算法,并均給出其完整實(shí)現(xiàn);

          包含大量的圖示用于可視化算法——事實(shí)上這是我讀過(guò)的圖示最為豐富形象的書(shū)籍,這也是我稱(chēng)其為最好的算法入門(mén)書(shū)籍的原因。

          編程珠璣(第2版)是一本少見(jiàn)的實(shí)踐型算法書(shū)籍——它并非一一介紹數(shù)據(jù)結(jié)構(gòu)/算法的教材,而是實(shí)踐性極強(qiáng)的算法應(yīng)用手冊(cè)。

          作者(Jon Bentley)從他多年的實(shí)際經(jīng)驗(yàn)精選出一些有趣而又實(shí)用的問(wèn)題,然后展示了他解決這些問(wèn)題的過(guò)程(分析問(wèn)題,選擇合適的算法,解決問(wèn)題,以及驗(yàn)證答案)。任何程序員都可以從中獲益。


          通知:


          老九學(xué)堂2018年全年的線(xiàn)下全棧就業(yè)班已經(jīng)開(kāi)放預(yù)定了,


          就業(yè)班是零基礎(chǔ)學(xué)習(xí)六個(gè)月,全國(guó)推薦就業(yè),做游戲開(kāi)發(fā)、前端、后端、數(shù)據(jù)庫(kù)等都可以的哦。

          有興趣的小伙伴可以加老九君QQ:614940318進(jìn)行咨詢(xún)。


          或者點(diǎn)擊左下角“閱讀原文”添加老九君QQ,了解詳情預(yù)定班級(jí)名額哦。


          —?【 THE END 】—
          本公眾號(hào)全部博文已整理成一個(gè)目錄,請(qǐng)?jiān)诠娞?hào)里回復(fù)「m」獲??!

          3T技術(shù)資源大放送!包括但不限于:Java、C/C++,Linux,Python,大數(shù)據(jù),人工智能等等。在公眾號(hào)內(nèi)回復(fù)「1024」,即可免費(fèi)獲取??!




          瀏覽 93
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲在线大香蕉 | 俺去也俺来也在线www官网 | 在线观看中文字幕第一页 | 亚洲熟女www一区二区三区 | 五月丁香网操 |