转自:如何在家自学编程,成为一名优秀的程序员? - 知乎
跟着黑马程序员学,自学也可以很优秀。先找到方向—>前/后端?测试?还是什么?—>找到相关的学习路线 —> 坚持不懈的学习 —> 做相关项目!
一、找到方向
- 前端:前端开发也就指的用户端看到的界面,前端的框架比较多,技术更新较快,主要用的是HTML+CSS+JS。很多计算机专业的女生会考虑毕业后选择前端相关工作。
- 后端开发:不同后台有不同的语言,主要是选择开发语言(建议Java)+技术框架。
- 数据库:数据库也成为DBA,曾经阿里培养过一批很优秀的BDA,主要是维护数据库,针对数据库进行设计和开发。常用MySQL、Oracle、SqlServer等。
- 大数据:大数据是新一些的方向,小一点的爬虫到大一点的数据挖掘,都被称为大数据,大数据也就是后台技术加上数据库操作,还有海量数据。大数据选择Python;
- 嵌入式:有同学对于自动化驾驶或者是机器人有兴趣可以了解嵌入式开发,主要用C语言和C++;
- 机器学习:这都是人工智能方面的内容,普通本科毕业后还不能达到就业水平,主要是研究生的方向。机器学习方向Python更香
- 自动化测试&自动化运维方向:Python比较适合。
二、学习路线图
前端:不得不学的是HTML+CSS+JS;后面还要学习热门框架vue等,和后端相关的Node.js
前端开发学习路线2023版-黑马程序员web前端开发自学路线
后端:编程语言是基础,建议选择Java,额外掌握另一门语言的应用推荐Python、Go语言;
Java程序员学习路线图_黑马程序员2023版java学习路线
数据相关:大数据开发相关建议学习Python;数据分析相关主要学习Python+5个数据库;
大数据学习路线2023版-黑马程序员大数据学习路线图
另外很多人觉得C语言和C++是一个开发的必学内容,大家可以看:
C++自学经典教程_C++视频教程从入门到精通_黑马程序员
人工智能相关学习路线图:
人工智能学习路线图2023版-黑马程序员人工智能技术路线
三、坚持不懈
不仅是入门的时候需要学习,对于工作后,工作方向也决定了重点学习内容。
- 对于从事单片机的产品来说主要是C语言,或者是少量汇编。
- 从事嵌入式的比如相机等等,主要是C /C++,还有ARM;
- IOS开发需要掌握Object-C swift,其他的需要再根据公司的具体情况定;
- 安卓也一样,掌握Java,涉及到性能优化相关的需要用C/C++写JNI接口。
- 服务器端开发:基本上都是多语言混合的,C/C++、Java、Python等;
- 大数据相关的也是需要多语言混合,还有windows平台要用C/C+、C#、VB...
但是学习再多的内容,也不能忘本:
- 程序是什么?— 计算机组成原理。
- 程序怎么被翻译?— 编译原理。
- 程序怎么执行?— 操作系统的范畴
- 怎么利用别人的成果来实现更好的数据组织?— 数据库相关
- 怎么保证程序更容易维护和可读?— 这是设计模式和代码规范
所以计算机组成原理、数据结构与算法、操作系统和计算机网络非常重要!