萌新,C++、Java、Python 选择哪个好?

萌新,C++、Java、Python 选择哪个好?大学那会也被这个问题被困惑了大半年 直到毕业拿了几个大厂 offer 才发现语言的选择也就那一回事 我猜不少人刚入门的人依然被这个问题困扰着 所以决定认真分享一波我的经历 如果你还处于大一 大二 或者刚刚入门阶段 那么我认为 语言的选择并不重要 更重要的是底层 通用基础的学习 例如数据结构 算法 计算机网络这些 因为这些语言 是存在很多相同的特性的 例如你学习了 C 后面要转 Java 那么其实还是可以很快就上手的 而且 等到了差不多毕业去应聘校招的时候 其实公司并不会对语言有严格的要求 例如你要面

大学那会也被这个问题被困惑了大半年,直到毕业拿了几个大厂offer

image.png

才发现语言的选择也就那一回事,我猜不少人刚入门的人依然被这个问题困扰着,所以决定认真分享一波我的经历。

如果你还处于大一,大二,或者刚刚入门阶段,那么我认为,语言的选择并不重要,更重要的是底层/通用基础的学习,例如数据结构,算法,计算机网络这些,因为这些语言,是存在很多相同的特性的,例如你学习了 C++,后面要转 Java,那么其实还是可以很快就上手的。

而且,等到了差不多毕业去应聘校招的时候,其实公司并不会对语言有严格的要求,例如你要面试后端的岗位,那么 Java,C++,Python,Go 等,随便熟悉一门就可以了,反正我当时自己学习的是 Java 技术栈,面腾讯时,特么没问过我一句 Java,投递了其他公司的 C++ 岗位,面试时,跟面试官说我学的是 C++ 就可以了,面试官就不问 C++ 了,而是着重问别的知识,例如项目,算法,计算机基础等等。

所以我认为,对于学生而言,语言的选择并不重要,当然,工作了多年的另说,因为学生和工作多年的还是不一样,这里有个学习成本在这里,但是对于学生的话,毕业入职公司之后,其实你工作的内容和你掌握的技术栈不一定是匹配的,例如你学的是 Java,入职的第一个项目,可能需要你使用 python,Go 啥的,不过你完全不用担心自己没学过,因为公司会给你很多时间去学习,而且你学过 Java,学起其他语言会很快的。而对于工作多年的,一入职可能就需要你要有产出,不会给你很多时间学习,当然,工作多年的语言都选好啦,并不存在这个疑惑。

所以呢,我认为学习哪个语言都可以,看你自己喜欢哪个语言,大一和大二那会,我还是建议大家多花时间在基础知识的学习上,例如数据结构与算法,操作系统,计算机基础,数据库等等,因为这部分知识,无论是对你未来的求职 还是个人的成长,都有非常大的帮助。

然后呢,确定自己的技术栈,是要走前端还是要走后端,这些反而比语言的选择更加走重要吧,因为这会影响你后期很多知识的学习,前端和后端,除了基础知识的学习外,后面的学习还是有挺多的区别的。

如果你实在不知道怎么选择,那我就建议你走 Java 后端开发吧,按照目前的行情,Java 后端找个工作还是不难,很多公司也都有 Java 后端的岗位,当然,如我上面所说,你基础知识掌握的好,到时候面其他后端开发也是完全可以的。

下面我也总结了一套 Java 后端的学习路线,跟着这套学习路线,校招水个中大厂的 offer,概率还是挺大,到时候记得帮我点个赞就好啦

一、Java 入门

注意,下面所有推荐的书籍,大家都可以在这里下载到:【干货分享】计算机书籍很贵?别瞎找了,我发现了一个宝藏github,贡献给大家

一开始肯定要了解一波 Java 语言的特性,很多人都关心一开始看什么资料,其实我不推荐入门阶段看的太多太杂,因为你不知道哪些是有用的,哪些是过时的,或者在目前阶段用不到的。

对于初学者尤其是没有一点编程基础的人来说,要渡过这个从零到一的过程,往其实是非常艰难的,挫败感会非常强。如果有人领路,或者选择一门优质的课程,效果会好的很多。没事,这篇文章就来当作你们的领路人!!!

下面这些学习资料都是我曾经读过或者看过的,没看过的我也不会介绍。还是那句话,资料和视频都是辅助,顶多领你入门,剩下的还是靠自己。

学习书籍推荐:《Java核心卷1》,这个算是入门书籍吧,入门书籍我看的不多,暂时介绍这一本,大家可以去网上搜索,但个人感觉看完这本书差不多了。

有一些基础的可以看《Java编程思想》,这本书也很好,解决了我很多疑惑,不过有点难度,我是选择性看的。

Java 编译器推荐用 IntelliJ IDEA,安装步骤自己百度去搜索。

视频推荐:这里推荐高琪Java300集,b 站搜索就可以了。讲的还是挺好,入门的话,感觉看前面 100 集就可以了。

二、Java 进阶

想要靠 Java 来吃饭,单单靠看书刷视频肯定是不够的,咱们还得深入学习一波 Java 语言的特性,为了让大家少走弯路,我总结了如下核心知识:

集合模块:主要是包括各种常用集合:例如 Set(包括HashSet,TreeSet), Map(包括 HashMap,HashTable),List(包括ArrayList,LinkedList)等等,上面列举的都得学习它的源码

多线程:synchronize,volatile,线程池,并发包(如lock等等),太多了,学了你们自然知道,我也不说的太详细了。

推荐看《Java 并发编程艺术》+《Java并发编程实战》,这两本就够了,《Java并发编程艺术》感觉得看三四遍才行,第一遍看了就忘光了,第二遍会有其他的收获,第三遍就可以吊打面试官了,书籍的下载方式我上面已经说了。

各种文件流:file,inputStream,outputStream等等,反正就是各种文件流,看书时你们自然会看到,必须多实践,不详细介绍。

虚拟机:虚拟机是必须学习的了,重点是GC部分,推荐看《深入理解Java虚拟机:JVM 高级特性与最佳实践》,一本就差不多够了,多看四五遍就行了。

其他:还有很多,如反射,注解,异常等。

三、JavaWeb 入门

学了上面那么多,啥程序、网站也没写出来,有点难受?没事,这个时候,我们就要开始撸网站了,如果是以 Java 作为开发语言的,那么 JavaWeb 是必须学的了。这个时候你可以入门学习下这些(注意,不用深入,快速找个视频入门就可以了

1、mysql、html+css+js 、 tomcat、xml等。推荐看视频,自己去搜索 JavaWeb的视频,那么哪里不会补哪里,这些知识,几个小时就可以入门一门的了。至于 msyql,入门推荐看《mysql不知必会》,进阶看《mysql技术内幕》,看完就差不多了。

2、servlet+jsp 系列。

不建议直接学习框架,也是应该先学习 servlet,这些底层才是最重要滴。servlet可以跟着视频学,至于 jsp 其实很少用了,不过还是可以了解一下。

四、框架的学习框

Servlet 写太麻烦了,只有认真学过 servlet 的人才能吹框架的好处,所以必须先学 servlet 再来学习框架,主要有三大框架:Spring + SpringMVC + Mybatis。

其实 SpringMVC 也是属于 Spring 吧,MVC 只是一种思想,这里学习顺序是先建议学习 Spring,直接看视频入门学习就可以了,后面再买书,掌握到什么程度?最后是要能知道一些原理,例如IOC,AOP的原理,使用了什么设计模式等等。

不过现在搭 ssm 太麻烦,基本都是用 SpringBoot 了,所以 SpringBoot 也必须,之后有时间的话,也要学习下 SpringCloud.

五、中间件的学习

必须学的中间件:redis,Redis 基本面试必问,工作也基本的都会使用到,所以必须掌握,推荐书籍《Redis 设计与实现》、《Redis开发与运维》。两本书刷完,就差不多了,或者说第一本书刷完就差不多了。

其他的话,像消息队列啊,分布式等相关框架,有时间也可以学习一波。

六、一个完整的项目

把上面的 Java 基础以及框架学了,就要做个完整的项目了,我只能说,项目非常非常重要,这时候自学以及跨行业的劣势就非常大了,因为面试的过程,一定会问项目,而且必须是你自己亲自做过的项目,假如你只是看视频,没有动手实践,很容易就会被问懵。所以一定一定一定要亲自动手做一个项目。

当然不是说这个问题就成了死结了,大家可以选择实操课程去解决自己在项目经验上的缺失,特别是那种基于真实项目的课程。

一定要至少做一个项目;一定要至少做一个项目;一定要至少做一个项目;

关于项目的推荐,楼主也正在总结收集中,后面应该会整理出来。

七、计算机基础的学习

看过我文章的都知道,我一直强调计算机基础的重要性,所以这里必须列举要学的有哪些。主要包括:计算机网络 + 操作系统 + 数据库 + 汇编 + 计算机组成原理 + 编译原理 等等。

假如你没那么多时间去学习的话,我给你列个优先级吧

1、计算机网络 + 操作系统

2、数据库 + 计算机组成原理(数据库相应你们可能已经先学过 MySQL 了)

3、汇编 + 编译原理

这方面我也总结了一份计算机基础的学习资料:计算机专业必看的几门视频教程

另外,算法的学习也是必经之路,这里给大家推荐一个大佬的刷题笔记

BAT大佬的刷题笔记太经典

最后

以上无论是视频还是书籍,我都千辛万苦帮你找来了,书籍直接这个 GitHub 上找:【干货分享】计算机书籍很贵?别瞎找了,我发现了一个宝藏github,贡献给大家。后面会慢慢更新一些高质量的资料。

绝对有帮助,别忘了送个赞呗,楼主泪目感谢。

作者简洁

作者:大家好,我是帅地,从大学、自学一路走来,深知算法计算机基础知识的重要性,目前专注于写这些底层知识,提升我们的内功,帅地期待你的关注,和我一起学习,点击了解我四年大学学习之路 转载说明:未获得授权,禁止转载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/204128.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午8:56
下一篇 2026年3月19日 下午8:56


相关推荐

  • Java中List的详细用法

    Java中List的详细用法目录:list中添加,获取,删除元素;list中是否包含某个元素;list中根据索引将元素数值改变(替换);list中查看(判断)元素的索引;根据元素索引位置进行的判断;利用list中索引位置重新生成一个新的list(截取集合);对比两个list中的所有元素;判断list是否为空;返回Iterator集合对象;将集合转换为字符串;将集合转换为数组;集…

    2022年7月7日
    33
  • win10开虚拟机就重启_虚拟机装win10怎么用

    win10开虚拟机就重启_虚拟机装win10怎么用win10虚拟机自动关机可能是因为系统未激活导致!右键查看属性,可看到虚拟机的激活状态!如果显示未激活,需要激活!命令激活步骤:1.以管理员身份运行windowspowershell2.键入命令slmgr/ipkP9C2R-NM3BW-JR7DG-2R38J-D9MPF弹出窗口提示:“成功的安装了产品密钥”。红色部分为激活码,不可用的话,试试其他的(W269N-WFGW…

    2025年11月14日
    6
  • 有关单片机的毕业设计_1500一套毕业设计贵吗

    有关单片机的毕业设计_1500一套毕业设计贵吗对大部分同学来说,毕业设计根本不知道从哪下手,完全处于蒙圈状态,为帮助大家能顺利毕业,精心准备800多套单片机毕业设计与您分享!其中有基于单片机设计的数字示波器、倒车雷达、电子密码锁、智能家居、停车场管理系统、万年历、智能插座等不同方向的典型设计实例,每个实例都提供了设计报告、源代码、电路图等全部设计资料,这些设计资料有利于即将毕业的同学分析、理解并进行毕业设计的制作和论文的编写。下载链接见:800多套单片机毕业设计-阿波罗代码网0001、PC机与单片机通信(RS232协议)000.

    2022年10月4日
    4
  • 多进程与多线程区别

    多进程与多线程区别在 Unix 上编程采用多线程还是多进程的争执由来已久 这种争执最常见到在 C S 通讯中服务端并发技术的选型上 比如 WEB 服务器技术中 Apache 是采用多进程的 perfork 模式 每客户连接对应一个进程 每进程中只存在唯一一个执行线程 nbsp Java 的 Web 容器 Tomcat Websphere 等都是多线程的 每客户连接对应一个线程 所有线程都在一个进程中 从 Unix 发展历史看 伴随着 Uni

    2025年8月3日
    5
  • 开盘八法图解_炒股能发财的只有一种人

    开盘八法图解_炒股能发财的只有一种人五、开盘解盘八诀1、跳空倍数法则早盘高开或低开超过5个点的时候,如果在10:30还没回补缺口,则通常全天最大跌幅是第一低点(高点)的倍数附近。(图1)2、三“15分钟”量超法则早盘高开或低开连

    2022年8月5日
    7
  • linux shell 字符串截取_shell截取最后一个字符

    linux shell 字符串截取_shell截取最后一个字符因最近工作中,用到shell脚本,刚开始感觉难度比较大,但在查阅资料后,感觉也没啥难度;后续整理工作中遇到的脚本知识点;现将遇到的问题,整理如下:遇到问题:需要根据关键字,截取其定义的内容;比如截图宏定义的值,或者截取某行中最后一列数据;如下为查阅网络资料后,整理针对该问题,整理字符串截取操作如下:一、字符串截取:1.如题想提取文本中在[]之前的字符,字符与[]之间有空格;比如文本:    TF…

    2026年4月15日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号