极客时间-左耳听风-程序员攻略-编程语言

程序员练级攻略:编程语言

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

相关文章
相关标签/搜索