python,java,c语言哪个好_小萌新

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

大学那会也被这个问题被困惑了大半年,直到毕业拿了几个大厂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,贡献给大家。后面会慢慢更新一些高质量的资料。

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

作者简洁

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

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/200779.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • python输入的字符串转换为数字类型_python字符串转int

    python输入的字符串转换为数字类型_python字符串转intpython数字类型和字符串类型的相互转换实例一、python中字符串转换成数字(方法1)类中进行导入:importstringstr=’555’num=string.atoi(str)num即为str转换成的数字转换为浮点数:string.atof(str)(方法2)直接intint(str)即可。二、数字转换成字符串num=322str=’%d’%numstr即为num转换成的字符串以上这…

  • JMH使用指南[通俗易懂]

    JMH使用指南[通俗易懂]关于JMH,可以直接查看官网地址http://openjdk.java.net/projects/code-tools/jmh/本博客内容来自我正在撰写的新书《Java性能优化(暂定名)》,也欢迎购买经典书《SpringBoot2实战权威指南》1.3JMH1.3.1使用JMH通过手工编写一个性能压测程序有较多的问题不同需要性能比较方法放到一个虚拟机里调用,有可能会互相…

  • 在node.js中使用COOKIE

    node.js中如何向客户端发送COOKIE呢?有如下两个方案:一、使用response.writeHead,代码示例://设置过期时间为一分钟1vartoday=newDate();

    2021年12月21日
  • mac下使用pyhon+mimtdump 爬取m3u8

    mac下使用pyhon+mimtdump 爬取m3u8

  • pycharm2021.3.2激活码【2021.8最新】

    (pycharm2021.3.2激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • C语言中volatile关键字的作用

    C语言中volatile关键字的作用一.前言1.编译器优化介绍:由于内存访问速度远不及CPU处理速度,为提高机器整体性能,在硬件上引入硬件高速缓存Cache,加速对内存的访问。另外在现代CPU中指令的执行并不一定严格按照顺序执行,没有相关性的指令可以乱序执行,以充分利用CPU的指令流水线,提高执行速度。以上是硬件级别的优化。再看软件一级的优化:一种是在编写代码时由程序员优化,另一种是由编译器进行优化。编译器优化常用的方法有:将内存变

发表回复

您的电子邮箱地址不会被公开。

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