極客時間-左耳聽風-程序員攻略-編程語言

程序員練級攻略:編程語言

0x1 前言

編程語言

JAVA > C\C++ > Go:Go 語言、Docker 和新技術html

理論學科

程序員的荒謬之言仍是至理名言?java

系統知識

系統知識是理論知識的工程實踐,這裏面有不少不少的細節。好比像 Unix/Linux、TCP/IP、C10K 挑戰等這樣專業的系統知識。這些知識是你能不能把理論應用到實際項目當中,能不能搞定實際問題的重要知識。git

0x2 Java

入門級的書:

  • Java 核心技術:卷 1 基礎知識》,這本書原本是 Sun 公司的官方用書,是一本 Java 的入門參考書。
  • 有了上述的入門後,Java 的 Spring 框架是你玩 Java 所沒法迴避的東西,因此接下來是兩本 Spring 相關的書,《Spring 實戰》和《Spring Boot 實戰》。前者是傳統的 Spring,後者是新式的微服務的 Spring。若是你只想看一本的話,那麼就看後者吧。

進階級別:

  • 如何編寫高效的代碼《Effective Java》(注意,這裏我給的引用是第三版的,也是 2017 年底出版的書)Effective 這種書基本上都是各類經驗之談。
  • Google Guava 庫 ,這個庫不可是 JDK 的升級庫,其中有如:集合(collections)、緩存(caching)、原生類型支持(primitives support)、併發庫(concurrency libraries)、通用註解(common annotations)、字符串處理(string processing)、I/O 等庫,其仍是 Effective Java 這本書中的那些經驗的實踐表明。
  • Java 併發編程實戰》,是一本完美的 Java 併發參考手冊。
  • 如何優化 Java 的性能,《Java 性能權威指南》。
  • 底層細節《深刻理解 Java 虛擬機》。
  • Java 編程思想》,真是一本透着編程思想的書。上面的書讓你從微觀角度瞭解 Java,而這本書則可讓你從一個宏觀角度瞭解 Java。這本書和 Java 核心技術的厚度差很少,但這本書的信息密度比較大。因此,讀起來是很是耗大腦的,由於它會讓你不斷地思考。對於想學好 Java 的程序員來講,這是一本必讀的書。
  • 精通 Spring 4.x》,一共有 800 多頁,認爲其中最不錯的是在分析原理,不足之處就是內容太多了,因此致使很厚,但這並不影響它是一本不錯的工具書。

面向對象的設計模式程序員

遵照兩個原則:github

  • Program to an ‘interface’, not an 'implementation’
    • 使用者不須要知道數據類型、結構、算法的細節。
    • 使用者不須要知道實現細節,只須要知道提供的接口。
    • 利於抽象、封裝,動態綁定,多態。符合面向對象的特質和理念。
  • Favor ‘object composition’ over 'class inheritance’
    • 繼承須要給子類暴露一些父類的設計和實現細節。
    • 父類實現的改變會形成子類也須要改變。
    • 咱們覺得繼承主要是爲了代碼重用,但實際上在子類中須要從新實現不少父類的方法。
    • 繼承更多的應該是爲了多態。

0x3 C/C++

要了解C語言中的坑golang

C++ 是目前世界上範式最多的語言了,其作得最好的範式就是 " 泛型編程 ",這在靜態語言中,是絕對地劃時代的一個事。算法

0x4 GO

C 語言太原始了,C++ 太複雜了,Go 語言是不二之選。有了 C/C++ 的功底,學習 Go 語言很是簡單。shell

相關文章
相關標籤/搜索