学java还是python还是php-零基础应该选择学习|学java还是python还是php-零基础应该选择学习 java、php、前端 还是 python()

说实在的,这个年头,零基础学Python比较好,简单容易上手快,但是我那个年代(2016年左右)那个时候Java和Android还是比较火的,虽然不能说如日中天,但是确实还很有市场。
根据题主的需求,php咱们首先排除了,这个原因不用多说,世界上最好的语言能不碰尽量不碰,前端的话,主要学的就是js,前后端其实完全是两个方向,如果你对酷炫的页面比较感兴趣,那么前端可能适合你一些,而后端主要就是在后台默默提供服务的。
Python确实很火,不过还撑不起整个后端,所以做后端的话主要还是学Java、C++以及golang等语言。
当然,我自己是学Java的。
最近有一些小伙伴问我,为什么当初选择走Java这条路,为什么不做C++、前端之类的方向呢,另外还有一些声音:研究生不是应该去做算法方向么,本科生不就可以做开发了吗,为什么还要读研呢。
其实吧,这个问题搁在不同人身上,回答可能也是完全不一样的。我可能还是主要以我的角度出发,结合一些读者的问题,来说一说为什么要选择Java这条路。
谈谈我的技术方向选择
我最早接触的语言应该是c,再后来又接触了前端、php、C#等语言,对这些语言的了解也仅限于懂得基本语法,写过一些小demo而已,那时候觉得掌握一门语言就是掌握它的语法就行了,于是会在简历上写,了解各种语言,现在想想实在是太可笑了。
不过真的很多初学者都会这么认为,觉得自己不管选哪个方向都可以,这是因为他们不知道自己的技术方向到底是什么,因为他们不管哪个方向都不精。
后来慢慢接触了Android开发,能自己写一些app,觉得这个方向还挺有趣的,于是想着以后干脆做这个吧。不过我那时候也明白自己离进大厂还有很远的距离,于是打算考研。
【学java还是python还是php-零基础应该选择学习|学java还是python还是php-零基础应该选择学习 java、php、前端 还是 python()】巧的是,读研前的那个假期,去了一家公司实习,做的是Java Web,那时候才觉得Android比Java Web简单多了呀,完全不需要学那么多框架、技术啊,于是更坚定了做Android的决心,只不过那时候也同样发现了,Java web是更加热门的方向,岗位需求量也更大。
读研的时候,一开始也是打算做Android方向的,买了各类Android书籍开始啃,那时候刚好遇到了个实践课程,让我们选方向,有Java、Android、C++等等。当时妹子做前端,为了带上妹子一起做项目,干脆就选了Java Web这个方向,想着应该不影响我做Android啊,于是接下来的时间里就开始学Java Web了。
时间一长,发现这个方向也没有想象的那么难,相反还挺有意思的,毕竟能用到各种各样的框架,技术栈的内容也很丰富,看起来好像比Android的技术含量高很多,加上自己之前学过Java,也有Java Web的学习经历,简历上也能写的好看一点,于是一不做二不休,就开始做Java方向了。
就这样,我找到了第一份Java实习,看了一遍Java后端书单,慢慢地在这条路上越走越远,后来我才发现,Java Web远没有想象中那么简单,Java后端技术栈也远不止Java Web这点内容,特别是对于大厂来说,要掌握的东西实在太多了,比如分布式、网络编程、中间件等等。
所以,选择方向这件事,有时候就是看兴趣,看机遇,看你能坚持多久,如果你对一个方向感兴趣,并且愿意持续学习,不断深挖,这个方向可能就适合你,当你在这个方向投入了一定时间之后,有了一定积累和经验,就不太容易再改变方向了。
谈谈各个技术方向的前景
之前也有很多读者问过这个问题,做哪个方向更有前景,更有钱景。虽然我只做过一个方向,但是对其他方向也有一些了解和涉猎,不敢说了解得非常多,但是结合自己身边的同学、朋友的情况,还是可以给出一些比较中肯的建议。
其实我最早打算做的是游戏开发的,所以我们先聊聊游戏开发这个方向。
网易游戏在前几年对游戏开发的招聘要求是985硕士以上学历,当时我就是冲着这个要求考了研,后来却没有去做游戏开发,主要原因是游戏开发主要用的是C++,并且主要的岗位要求是客户端方向的技术,比如图形学、引擎技术,以及对C++的掌握程度。
当时自认为有一些Java基础,不愿意转C++,同时也感觉游戏行业大厂太少了,除了腾讯网易就没有什么大公司了,职业发展的空间可能也不大
。自己虽然爱玩游戏,但是做开发和玩游戏毕竟是两码事。当然,近两年游戏开发的岗位需求其实还是很大的,因为现在做游戏开发的人太少了,导致网易游
戏放宽了研发工程师的标准,只要求211以上即可,所以,想要从事游戏开发的朋友,其实现在进大厂的机会可能比之前更多了。
说完游戏开发,说一说C++ ,C++ 方向和Java一样主要是做后端的,虽然游戏开发大部分也用的是C++,但是C++ 服务端的需求量确实没有Java大,加上C++ 的学习难度稍微搞一点,所以我没有选择这个方向。
当然,现在做CV等算法方向的同学都会用到C++ ,所以相对Java来说,C++ 方向选择岗位的范围可能也更多一些。不过,正如Java也能做大数据开发一样,选择方向并不是选择语言,比如你做游戏开发或者算法方向,要学的远不止C++ ,做大数据方向,Java也只是很小的一部分而已。
除此之外,前端、测试、移动端等方向也有很多机会,这些方向的学习难度可能要稍微简单那么一点,所以有很多女生会选择这些方向,如果你想进大厂却对自己不是很有信心,那么这些方向也是很不错的选择。
研究生就应该做算法么?
再聊聊现在很火的人工智能、机器学习方向,这个方向说实话最难的地方在于理论知识,也就是机器学习理论、算法模型、统计学知识等内容。很多人对这个方向趋之若鹜的原因,很大程度上是因为这个方向的薪资高,并且相对工程方向来说,工作强度要低一些。
但是,这么热门的方向,竞争有多激烈就不用多说了,大厂的算法岗简历多到数不胜数,你没有论文、实习经历或者比赛为你背书,基本上连简历筛选都过不去,就算你的简历很漂亮,但是很多时候由于岗位需求量不多。
只要你不是特别优秀,就可能被安排到研发岗位,这也是我身边很多同学亲身经历的。再有一点,就是有很多算法方向的博士毕业生也会和你竞争,这就有点吓人了,总之,算法方向还是比研发方向更加有难度的,不管是学习难度、面试难度,还竞争激烈程度,都更加明显。
很多人觉得读研就应该做算法,本科生才做研发,我对此不敢苟同,因为主要还是还看个人实际情况,如果你想进大厂,那么至少本科的时候就要有很扎实的基础实力,这对大部分同学来说都是比较困难的,如果你不是名校出身,我觉得进大厂的难度还是比较大的。
很多名校背景的本科生确实可以拿到大厂的研发offer,于是他们会觉得没必要读研,但是对于我这种跨专业的人来说,研究生才是我开始的第一步,跟他们没有什么可比性。
所以对于从零开始的我来说,做研发比算法要靠谱的多,对于很多要转行做程序员的人来说,也是一样的道理,应该选择更加符合自己实力的岗位方向,不要好高骛远。
以上内容纯属个人观点!无论你想学Java、Python还是前端,关注公众号【程序员黄小斜】回复“前端”、“Java”、“Python”都可以领取对应的技术学习资料。
若觉有用,请点赞支持下丫,给我提供更多干货的动力~
我的其它回答可能对你有很大帮助:
你考研到底是为了什么?(3K 赞同,5K 收藏)
-----------------------------------------我是分割线-------------------------------------
PS:私信很多,因知乎不常上,有事可以来公众号找我
1、点赞、关注、支持一下我的回答8,收藏数是点赞数3倍真的扎心哇
2、关注公众号「程序员黄小斜」(ID :AntCoder)回复“联系方式“可以直接找到我。
最后再送个福利,公众号「程序员黄小斜」后台:回复【2019】,送我整理一年的3T技术学习资料,包含各大技术方向,从入门到进阶。
回复【PDF】,送你《全网最火的Java程序员面试宝典》(263页)
回复【书单】,送你《Java工程师必备书单》电子书合集
回复【架构师】,送你一套Java架构师视频教程,程序员进阶必备。
回复【校招】,送你程序员校招必备的视频资料,包括算法刷题、项目课、面试课等内容。
回复【考研】 送你计算机考研必备的复习资料,包括公共课和专业课,以及名校计算机教程。
▼都看到这里,不点个赞就说不过去了~

    推荐阅读