外观
一般性的开发入门指南
约 1314 字大约 4 分钟
2025-10-11
本文由另一位组长撰稿.
前言:这份入门路线图,不仅是为了指引项目方向,更是为了夯实大家的专业基础. 小组遵循社团创建的初衷,确保每位成员在加入后都能学有所成、获得实实在在的成长. 为此,我们梳理了计算机程序员入门(这里想区别于纯理论,偏数学方向的研究人员,和以计算机为载体从事其他专业的交叉方向) 的基础通用学习路线,供大家参考学习.
计算机的学习大概分为两个方向
编程实践技能的学习
- 这部分可以理解为仙侠世界中的武林秘籍和招式绝学,是我们工程能力的体现,用来解决实际问题
- 深入一门语言体系
- 适合入门的开发语言也就是c++或者java,选择一个语言体系深入即可. 注意开始尽量不要二者都学,而是要深入掌握一门语言对应的技术栈. 语言的选择也不必太纠结,结合自己的目标规划选择即可(比如读研,做底层优化等选c++;想进大厂搞业务,做大数据研发等选java).
- 熟练运用各种开发环境和工具
- 熟练使用IDE调试程序:c++:VS2022,java:IDEA
- 学会团队协作开发,git的使用
- 熟悉Linux操作(命令行,shell脚本),熟悉vscode
- 熟悉docker容器的使用
- 学会数据库MySQL
- ...暂时想不到了
- 对于java
- 熟练运用项目构建工具Maven
- 熟悉web开发(Servelet,Tomcat)
- 熟悉开源框架:SSM,MybatisPlus,SpringBoot2.3
- 微服务架构:Spring Cloud
- 了解中间件:Redis,RocketMQ
- 有前段基础(H5,CSS3,JS),主要是为了前后端对接
- ...暂时想不到了
- 对于c++
- 学习c++11/14/17新特性(智能指针,lambda,移动语义等)
- 熟悉网络编程基础:TCP/IP,HTTP,Socket
- 学会数据库MySQL
- 熟悉跨平台编译工具:cmake,make
- 性能分析与调试工具:gdb,valgrind等
- 学习并发编程:理解多线程,锁等
- 了解中间件:Redis,RocketMQ
- 最终要选择细分方向再深入学习:客户端开发,音视频开发,嵌入式,linux系统开发等等
- 对于纯前端
- 扎实的前端基础:H5,CSS3,JS,TypeScript
- 前端框架:Vue3,VueRouter等等,并且可以快速学习开源框架
- 构建工具:Vite
- 包管理工具:npm
- 前后端交互:mockjs等能够处理前后端交互接口
- ...不是很懂
- 其他(软实力)
- 包括设计模式的学习,代码风格简洁,团队沟通与协商,项目架构与管理,团队统筹运营的能力,软件开发后的运维与测试也要适当了解等等. 这部分内容就需要很高的业务水平,所谓技术的广度.
- 深入一门语言体系
计算机专业基础知识的学习
- 这部分则是我们修炼的内功,它决定着我们在这个领域能走的深度,是程序员与普通码农相比重要的差别. (35岁危机)
- 数据结构与算法
- 这个的重要性真的是懂的都懂,无论是企业面试还是考研复试或者一些竞赛都离不开的课程. 同时学习难度也是很大的,这就需要我们在学习的时候自主进行逻辑代码梳理(网上找一些视频和图片会更容易理解),切记不要死背伪代码,要亲自动手把代码敲出来. 还有就是要保持长期刷题的习惯,每周抽出几天做几道题保持手感很重要.
- 四大件基础
- 除了数据结构,操作系统,计算机网络,计算机组成原理的学习也十分重要. 虽然这些是考研内容,但尽量学习这些不要太应试,重要的是理解体会前辈解决问题的思想和方案设计,以及对不同问题作出方案上的选择. 当然要达到这种程度需要我们长时间的积累和对计算机不断地深入理解,也就是所谓内功的修炼. (如果对计算机底层研究感兴趣的话,编译原理也十分重要)
- 数学和英语基础
- 关于数学的话,肯定是要掌握扎实的,重点是掌握对应数学知识的真实应用场景. 英语四六级该过的就过,然后就是计算机领域特定概念的单词也可以留意一下.
- 数据库系统
- 不仅要学会如何使用SQL,更要理解数据库的内部机制,数据是如何被高效可靠的存储查询的,了解它的设计思路与原理,甚至能达到自主设计与优化.
- 数据结构与算法
