如何零基础自学编程

  • 简介
    • 1.计算机基础
    • 2.java语言必修课
    • 总结

简介

楼主普通本科学校渣硕,出于对编程的兴趣自学了编程并且转行。写这篇博客是因为从转行开始到现在已经有很多朋友在咨询我如何自学编程,如何才能找到一份编程相关的工作。仔细想想,是时候写一篇博客帮助爱好编程的朋友们了。

首先编程是一门学科,既然是一门学科,那肯定就会有基础课,专业必修课,想要学好一门学科,基础是一定不能差的。所以先说说基础。

1.计算机基础

先列出一些必须要学习的课程:

  1. C语言
  2. 操作系统
  3. 计算机网络
  4. 数据结构与算法
  5. 数据库

这四个重要的基础课程是每一位学习编程的人都应该熟练掌握的。首先是C语言,在学习编程基础只是之前先掌握C语言有助于后续的学习,并且C语言是很经典的语言,也很通用,学好了之后对于学习其他语言会很有帮助。然后是操作系统,这个就很多了,推荐操作系统概念这本书,学习一下什么是内存,什么是io,一个程序到底在计算机里面是怎么运行怎么切换怎么计算的。这门课程不仅仅可以对外行进行扫盲,而且能真正打开程序世界的大门。同时,很多大牛的博客或者是很多高级的书本上在分析介绍一些原理或者优化的时候会运用到操作系统的知识,如果没有学好这门课,最终导致的就是别人在说什么你都不知道。操作系统还包括了linux操作系统的学习,因为后面开发,跑程序等大多数会在这上面进行。然后是计算机网络,学习这门课程大多数知识点都是需要背住的,有点像文科,而且也有很多的协议这些(就相当于土木工程中规定的规范)初学这门课程也是有很大的扫盲的作用。这门课程会告诉你程序在网络中的通信过程。计算机网络和操作系统一样,也是一个比较大的概念,他包括了TCP协议,UDP协议等等,所以需要看几本书:《计算机网络:自顶向下》《TCP/IP协议》《图解HTTP》等。最后是数据结构与算法,这是一门体现真功夫的课程,也是程序的核心,不管是学习的过程中还是学习完成之后都应该不间断的疯狂的刷题,永远不要停下来。推荐三本书:《算法第四版》《算法导论》《数据结构与算法》。数据库,是每一门语言都应该学习的东西,不管你写什么程序都可能需要将数据持久化或者暂存缓存之类的。所以需要学习数据库的一些基本知识。这里推荐学习mysql,用的最多。

2.java语言必修课

因为我学的是java,所以这里我就讲一下java语言的必修课,如果你选则的是其他语言,就需要在学习完基础课程之后选择学习其他语言的相关技术。

学习java首先是学习这门语言,推荐《java核心技术卷1/2》《java编程思想》一本入门,一本提升。学习语言没什么好说的,就看书,撸代码,理解。
这里java8也有很多东西是这本书里面没有将到的,所以需要学习《java8实战》这本书,学习java8的一些特性
然后是学习JVM,这是java的核心,java程序的内存管理等高级内容都在这里面,推荐《深入理解java虚拟机》
学习使用java难免会和web打交道,所以应该还要学习servlet&jsp,JavaScript,html这些内容,每一个内容一本书,买京东排行第一的书就OK了。
写程序会有很多结构设计上的东西,代码的高复用性,结构的可扩展性,等等,这里就会涉及到设计模式,从而实现一些想要的功能,这里推荐《大话设计模式》,讲的通熟易懂
数据库,这里再次说到,写程序只用mysql是肯定不够的,不管是性能还是功能层面上,所以需要学习其他的一些数据库知识,推荐再学习一下redis
写java可以说一定会用到spring,所以必须要学习spring的用法,推荐看《精通spring4.x企业应用实战》,同时spring的源码堪称经典,在学习完spring基础后,将spring的源码学习一遍。
多线程,并发,是写java程序提升性能的一个重要途径,所以在学习java语言之后,需要学习关于多线程的知识,推荐《java并发编程的艺术》
其余的还有mybatis,maven,git等等,当你学到这个地方的时候,已经不需要看我这篇博客了,所以,自己去探索吧,向自己的方向去学习。

总结

坚持。

更多推荐

如何零基础自学编程