{eval=Array;=+count(Array);}

问答专栏Q & A COLUMN

零基础应该选择学习java、php、前端,还是python?

zzzmhzzzmh 回答10 收藏1
问题描述:打算自学编程,但是不知道该学哪门语言?
收藏问题

10条回答

stefanieliang

stefanieliang

回答于2022-06-22 19:28

为了增加说服力,先报一下自己的经历。

写过5年Java,3年Python,3年C#和两年前端。现在已经完全脱离前端。虽然也是个普通码农,但是相信我的经历也能给到一些帮助。

其实我想推荐C#的,但是鉴于当前C#的就业环境就业数量都还比不上其他几位,包括培训也没有其他几位的选择多,所以退而求其次选择Java。毕竟对于一个新人来说,找到工作才是最要紧的,而这些语言里面论工作岗位的数量,Java是毫无疑问的大哥。对于打算进入一个行业的人来说,最难的就是这个0到1的过程,没有这个过程后面的1到n的裂变也无从说起。之所以科班出身的朋友相对轻松,就是因为在大学毕业的时候,他们通过大学所学完成了这0到1的过程。但后面的经验积累,技术增进,对于大部分人而言都是一样的。只要自己努力了,不要好高骛远,脚踏实地的学习,你必然有机会做得比科班出生的好。

接下来,让我们一起看看我们如何循序渐进的学习。

1. 了解Java运行环境的安装,知道运行环境的基本概念,最重要的几个设置比如classpath之类的。知道如何使用IDE,熟练掌握下IDE的各个基本功能。对于个人推荐IntelliJ。几乎无可争议的Java最好的IDE。不要再去用eclipse了,更不要相信那些让你命令行或者自己用vim打一个IDE的说法。这种对于新手而言,看来很酷,但是最可能的是兴趣还没有培养起来就放弃了,因为挫败感太强烈。

2. 了解Java基本知识,包括基本数据类型(int,string等等),数据结构(list,map等等),输入输出语法(input stream和output stream以及reader和writer),数据库连接(JDBC),网络编程(HttpClient等等)以及基本的面向对象的概念(多态,重载等等)。掌握了这些东西基本上算入门了Java。推荐的读物是《thinking in Java》。我阅读的时候是基于JDK5的,不知道是否有更新的。虽然现在已经JDK14了都,但是之前的那个版本已经涵盖了上述这些核心的知识。此书网上有,如果有需要也可以联系老白。

3. 掌握多线程,各种thread,runnable,synchronized关键字,votile关键字都是怎么用的,背后原理是什么。以及一些JDK自带的支持多线程的结构比如Concurrency Hashmap 是如何实现的。通过IntelliJ 都能很快的看到源码实现。

完成前三步就可以开始找工作之旅了

接下来的内容,随着工作经历的见长,会发现越来越需要,也越来越重要,直接决定了你的薪水。

4. 是时候该回头看看数据结构和算法了。掌握尽可能多的数据结构,明白各种不同实现的原理和差异。这些都可以通过直接看源码达到。搞明白什么是空间复杂度什么是时间复杂度,如何计算。这也为我们之后进入大厂做准备。现在的大厂面试几乎都需要数据结构和算法。

5. 学习设计模式,这将帮助你写出简洁可维护性强的代码。

到此已经完成了一次进阶了。理论上已经可以独立完成项目并且没有和科班的有明显区别。

6. 经验积累,以及思考。接下来的这步,要迈的是一大坎,可以去学习学习经典的框架比如spring,mybatis(别学hibernate了,基本已被淘汰)。了解这些框架设计背后的思想光芒。以及很多项目是如何去结合的,以及不同框架又是如何选型的。学习各个通用的开源工具,了解他们如何相互作用,在什么场景下使用最佳等等。这些思考都将帮你向一个高级程序员方向发展。

到了这里,已经超过很多普通程序员了,即使是一些科班出身的。

7. 架构学习。将前面所有的融会贯通。

至此,打怪成功。

未来的世界,必然是电子的世界,编程能让我们成为这个世界建设的一分子。希望楼主可以加入到这个队伍中来,也希望楼主成为一个优秀的工程师!

如有疑问,欢迎私信老白

老白将不时推出C#和Java学习内容,欢迎关注

评论0 赞同0
  •  加载中...
beanlam

beanlam

回答于2022-06-22 19:28

回答的多数就是自己学过的,或者就是给别人建议的,这个问题我算是比较了解的,我自己就是做培训机构的,所以对java php 前端爬虫这种也还算了解。

零基础学习这些本质上都可以,但是你学it肯定是打算从事这块的工作,从事这块的工作就不得不考虑职业发展和薪资待遇问题。

我以深圳举例,不要去谈什么batucloud这些,中国写代码的数百万人,大厂只是少数,所以我给大多数人的一个薪资参考标准。

先说下java 它出来都几十年了,基本上现在做银行 金融这类内部系统的算是首选开发语言,在国内薪资这块也是算比较好的,基本上3年经验在深圳的话10到15k之间,大厂除外。

再说下php,php有个鸡肋就是上手学习难度没java大,但是php大多数居于外部系统项目较多,比如门户网站,电商平台这种等,搞php的实际上人数也要多于java的,因为自学php的人数可以说是所有编程语言最多的,至于为什么,光小型站长就是几百万人,目前大多数网站框架不管是帝国还是织梦都是php语言。薪资的话php要略低于java,本质上和项目有关,银行 金融这种行业开的工资也要比做网站的工资高一些,一般3年经验大概8到15k居多。

再说下爬虫,爬虫python 出来也不短了,但是火也就是最近5年时间,薪资待遇一度超过java这些,原因是因为大数据的引起,对于高端爬虫工程师的需求增加影响,但是目前学习爬虫的人数可以说是所有编程语言里面最多的,在深圳可以普遍看到10k起步的爬虫工程师,并且经验都是一年,加上这里面学习的人太多,目前爬虫工程师就业难度算是比较大的,除非是3到5年以上的这种,新手找工作可能是很难的。

前端也是最近5年火起来的,尤其是一些小程序,h5页面的需求增加,前端工资基本上和php相当,但是后劲比php大。

严格来说,如果非的选择的话,技术难度是java大于php大于爬虫大于前端

薪资水平是java大于爬虫大于php大于前端

上面这两个仅仅是前期角度,后期等你有个3到5年经验的时候,前端和java的工资是比较给力的,至于爬虫的话做到后面职位发展潜力太小,做java的可以转型架构师,纯做爬虫的很难做成架构师,因为都是和数据打交道比较多,而java的话和整体项目打交道多很多。前端的话还可以往产品方向发展,至于php追求高薪是有的,但是从招聘角度来说,php的岗位需求明显要小于前面三者。

如果是女同志建议考虑前端或者php,男同志优先java然后是爬虫,做前端的强调页面思维和细心,java开发强调代码逻辑能力。

评论0 赞同0
  •  加载中...
DoINsiSt

DoINsiSt

回答于2022-06-22 19:28

楼主所提到的这些编程语言,目前都是很主流的语言。就我个人而言,我是从27岁转行的,转行的过程也是相当痛苦。

当初我转行的时候,也是零基础入门,选择的语言是java,当时考虑的有三点:

一、java语言相较于其他语言,人才需求量更大。

二、有同学在做java开发,可以给予一定的指导

三、网上的教程,社区活跃度较高

四、入手容易,但是深入不易。当时想快速转行,投入到实际的工作中。

最后在说一下目前的现状吧:现在就职于一家智慧城市公司,目前也算是java高级开发工程师。

后续的发展完全是看个人的。现在网上的资料很多,ucloud课堂,开课吧,都有很多不错的学习资源可以白嫖

评论0 赞同0
  •  加载中...
RancherLabs

RancherLabs

回答于2022-06-22 19:28

楼主提到的java、php、python只是计算机语言的其中几种。具体先学哪门语言,还是得根据自身的职业规划考虑。

如果是你想学完找份和算法有关的工作,建议你从python入手。

如果你是从事平台开发,建议你从java或是php入手。java的基础语法等。

如果你是想从事前端开发,建议从html、css 、JavaScript入手。

掌握了一些基础后,尝试做一些例子,再模拟做一两个完整项目就可以找份和编程相关工作了。

自学过程中,要不断上机尝试,对于有的知识点不是很清楚的,不要想当然,多上机尝试。在工作中实践中不断模式,不断学习。

有一定基础后,多阅读一些源码,因为面试中的很多问题我们都可以从源码中找答案,其次要主动学习平时工作中遇不到的一些技术,由于工作的原因,我们不可能通过公司的项目来解除到Android中所有的重要技术,尤其是一些规模不大的项目来说,这个时候需要我们主动去学习。

如果你觉得这过程编写代码很枯燥,很无聊,建议你不要学编程了。

评论0 赞同0
  •  加载中...
Kerr1Gan

Kerr1Gan

回答于2022-06-22 19:28

如果是零基础,打算自学编程,当然建议选择python

  1. 因为python语法简单,可以轻松上手,哪怕没有一点编程基础也不用怕,它的语法很贴近自然语言。
  2. python是个万能的胶水语言,容易和你的某个兴趣爱好结合,可前端可后端,可数据分析,可爬虫,随心所欲。
  3. python第三方库丰富,方案众多,不用重复造轮子。可以让你用最少的代价,最少的代码,达到你想要的结果。
  4. python使用人数众多,网上资料众多。你在学习初期遇到的问题,别人都已经遇到过,并有个解决方案,不会被学习遇到困所阻碍。

建议题主直接采用python3进行学习,不要使用python2

我实在想不出哪些推荐java的是咋想的,请不要误人子弟,谢谢。

评论0 赞同0
  •  加载中...
douzifly

douzifly

回答于2022-06-22 19:28

对零基础入行的人来说,我建议学习前端开发。

  • 好入门,html和js,在w3school上找个教程,一天就能找到感觉和自信。
  • 好理解,前端很直观,你的每一个改动都能看到页面的相应变化。
  • 需要掌握的框架相对比较少。选择一个,深挖精通就好了。
  • 对算法和逻辑分析能力要求相对没有那么高。
  • 目前市场上职位需求很多,好就业。
  • 精通了js之后,想写后端,也可以用nodejs。很顺滑。

评论0 赞同0
  •  加载中...
wayneli

wayneli

回答于2022-06-22 19:28

总体来说学习计算机语言技术不是啥好的方向,累死你,要是非的学习计算机软件,这些语言还远远不够,php属于web开发,其它的属于软件设计,各种语言学习精通了也只不过是给别人打工,再精通些自己开发软件售卖才是最赚钱的

评论0 赞同0
  •  加载中...
付伦

付伦

回答于2022-06-22 19:28

我本身是学自动化的,在上学的时候学过C语言,但是不精通我想我能够从我自身的角度回答你的问题,你是零基础,我是不精通,其实是可以画约等于。

我认为你应该现学派森,因为拍森的语言它的语法不那么复杂,更接近于自然语言你不必理会过多的注意事项。事实上这些注意事项如果不是有多年的编程经验,你是很难保障程序可以顺利编译运行的,很多时候一个小小的细节都会让抓狂

从应用角度来说派森的应用也越来越广泛,很多大型的重要的应用软件都支持派森,而且应用的领域也越来越多,从比较重要的人工智能领域网络网站脚本应用的层面越来越多所以我认为学派森比较好

评论0 赞同0
  •  加载中...
learn_shifeng

learn_shifeng

回答于2022-06-22 19:28

建议学习java,作为一门面向对象的语言,它比C、C++更加简单,易懂,然后它不像前端那么频繁的变更,也不像C那么底层(略微枯燥),对python不是太了解,但是知道python做爬虫非常好,做机器学习非常好,然后这些高大上的工作门槛一般都很高。

java就不一样了,java有他们所有语言都没有的优势,那就是低门槛,高需求,因为市场上大部门web项目都是用java开发的,不管是新开发、还是二次开发、项目维护都需要java开发者,所以java的市场需求量是最大的,工作岗位最多,当然,学java的也非常多。

相对于其他语言,java网上能找到的学习资料也非常多,零基础的,进阶的,免费的,收费的都有,从找工作和入门的角度,学习java是没错的。

我就是半路出道学习java的,学完之后陆陆续续换了几份工作,这几年学习编程的人越来越多,公司招聘的要求也越来越高,如果学习编程是为了找工作,要慎重,如果仅仅是兴趣爱好,那就简单了,根据你喜欢的方向选择语言即可,比如python容易做爬虫,机器学期,C语言偏计算机底层,C++可以做桌面应用、游戏等,java可以做web应用,php可以做网站等。

By the way,java是最好的计算机语言!




评论0 赞同0
  •  加载中...
Kyxy

Kyxy

回答于2022-06-22 19:28

学习哪一门语言,都差不多,主要还是看你以后想从事什么类型的岗位

如果想从事前端,建议学习 JS、HTML、CSS 等

如果想从事后端,建议学习Java

评论0 赞同0
  •  加载中...

最新活动

您已邀请0人回答 查看邀请

我的邀请列表

  • 擅长该话题
  • 回答过该话题
  • 我关注的人
向帮助了您的网友说句感谢的话吧!
付费偷看金额在0.1-10元之间
<