小白,想入门程序员,应该从什么开始学,顺序是什么?

Python014

小白,想入门程序员,应该从什么开始学,顺序是什么?,第1张

首先,你需要选择一门自己感兴趣的编程语言。现在常见的编程语言有:

C / C++:属于大多数情况下能接触到的相对基础的编程语言了,优势是基本掌握以后面对其他语言均可以“无压力”;坏处是学习起来非常的困难,需要系统性的了解非常多知识点,且耗时一般较长。如果你有更多的时间和精力,同时希望能够长期更好的发展成架构师,那么这可能就是你比较合适的语言选择了。

Java:应用广泛,几乎大多数开发场景都有java或者java变体的身影。学习java你可以了解到面向对象思想,了解虚拟机等的概念,面对常见的开发也能够有应对方案。同时这个语言对比C/C++能简单不少,在很多情况下是面向新手比较合适的选择了。

Go:最近一段时间流行起来的语言,在面对高并发等场景下有天然的优势。Go语言有自己独到的特性,同时也可以支持一些C语言的能力,而且也越来越在国内的互联网公司作为首选开发语言之一。

PHP / Python / JavaScript / .net / Swift / ...:这些语言大多有自己的特定应用场景,比如Python在大数据和人工智能领域比较常见,JavaScript是前端开发的必备语言等。如果你希望的工作有比较强烈的语言要求,那么选择上面的语言准没错。

                                 

其次,掌握数据结构及算法,同时能够通过程序语言实现。

比如常见的数据结构,像是数组、链表、堆、栈、队列、树、图等,尽量都有机会了解数据结构的实现原理(包括自己用代码能够简单编写),知道数据结构的优缺点,以及在什么场景下使用。算法原理上如时间空间复杂度,一些数学概念;同时一些经典的排序、与数据结构结合的实现,也应当有了解。

这些推荐你去找专业的书籍,系统性的选择;尽量减少如面试宝典等取巧的方式,深入掌握不仅仅是找工作,在后续的工作中也能更好的帮到你。

                                 

再次,了解计算机基础。

常见的计算机基础包括计算机组成原理(简称机组)、操作系统、网络、编译原理等。这里需要投入比较多的精力,如果确实时间上比较紧张,可以有侧重的选择。

比如你希望从事偏底层的开发工作,那么更侧重在机组和操作系统上;如果侧重在上层开发,那么可以侧重在网络上,以此类推。当然,更好的掌握以上知识能够在很多不经意的时间给到你帮助,如果有空,也建议多深入的理解。

最后,知道一些计算机知识的应用。

这里就比较多了,比如数据库、一些基本的项目设计、项目实战等等,根据你希望的工作有针对性的去了解,或许有不小的帮助。

按照上面这几个步骤进行下去,可能确实需要投入一定的时间和精力,但是一旦你选择希望成为一名程序员,就一定要坚持下去,才能取得更好的结果。

1. C语言

对于刚接触编程的人来说,先学习C语言是非常重要的。C语言可以说是是计算机编程语言的鼻祖,其他的编程语言几乎全是由C语言变化衍生出来的。C语言虽然是一门面向过程的语言,但是其基础语法和其他编程语言是非常相同的。不仅如此,诸如Java,C++,C#等面向对象的语言,都是在C语言的基础上诞生的。所以对编程新手而言,学习C语言是非常重要的。