计算机后端开发专家的进阶指南 | 持续更新中

发表时间: 2019-03-30 17:06

本文是一篇总结性的文章,里面包括本号之前整理的内容。本文试图通过一篇文章让大家对后端开发的经典书籍有个概括性的了解。目前学校教学更加集中在具体的课程,对具体开发技术提及较少,且不够系统。有些小同学出入职场,不完全清楚后续具体的职业路线以及职业发展中应该具备的能力。因此,本文试图进行一个总结概括,期望有所帮助。

程序开发不仅仅局限在编程语言,其实如果即使想纯粹做好程序开发工作也需要具备编程语言以外的其它技术储备。比如算法、网络和数据库等等。有人认为算法没有什么屌用,在实际开发中都用不到。其实这种认识是片面的,只是站在自己的经历的基础上得出的结论,而非全面客观的结论。如果说的不客气点,那是因为他开发的项目层次太低,没有达到使用算法的层面。

算法的应用非常广,也很普遍。比如数据库中的查询操作,涉及排序的地方就用到了我们在学校中学习的排序算法。而文件系统中对目录中文件的查找则用到了二分查找的算法。太多了,说都说不完。

扯的有点远了,我们回来,聚焦到后端开发所应该具备的能力方面。程序开发除了需要具备技术能力外,还需要一些软实力。比如沟通能力、解决问题的能力等等。这些对整个职业生涯的发展都有非常重要的作用。

下面我们分门别类的介绍一下这些内容,由于内容比较多,在短时间内很难一下子介绍完全。我们先将提纲放到这,后续再不断的更新。大家也可以根据自己的经验在下面留言,本号会适当更新到里面。

编程语言

做程序开发首先需要精通一门到多门开发语言。其实精通一门开发语言之后,学习其它编程语言就只是时间的问题,不会有任何难度。开发语言总结起来无非就如下几部分的内容:数据类型、运算符、表达式、控制语句、函数、类和异常处理。

做后端开发目前市场占有率比较高的语言分别是Java、C/C++、Python和Go等。本节我们介绍一些这些语言的经典入门教程,有些也是进阶必须的教程。当然这些教程是基础,关键还是实操。

C语言

C语言是一个非常古老的语言,但目前的应用还是非常广泛的。从操作系统到嵌入式和单片机,从计算到存储,Web服务器,编译器,数据库等等,几乎包括计算机领域的所有方面。下面这篇文章是关于C语言的经典读物。

从学生到专家,C语言开发必读的8本书

Java语言

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java的应用领域也非常广,最常用的是做为Web的后端。其它领域如大数据(Hadoop)、云计算和人工智能等领域都有涉猎。

Go语言

Go是相对比较新的编程语言,它从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源,在2012年早些时候发布了Go 1稳定版本。

现在Go的开发已经是完全开放的,并且拥有一个活跃的社区。Go语言最大的特点是开发简单,效率比较高。它能让构造简单、可靠且高效的软件变得容易。下面是Go语言的相关数据介绍:

Go语言开发必读书目,从菜鸟到大牛必备

Python语言

Python是一门具有强类型(即变量类型是强制要求的)、动态性、隐式类型(不需要做变量声明)、大小写敏感(var和VAR代表了不同的变量)以及面向对象(一切皆为对象)等特点的编程语言。Python语言与Go语言比较类似,开发也比较简单,开发效率也很高。但Python是解释性的语言,执行效率要差一些。

Python入门及进阶推荐书单 | 推荐收藏

数据结构与算法

开发调试

操作系统

网络技术

存储技术

系统架构

开源软件

面试跳槽

软技能