这是黄小斜的第102篇文章

作者 l 黄小斜
来源 l 公众号【程序员黄小斜】(ID:AntCoder)

转载请联系作者(wx_ID:john_josh)

Java从出生到现在已经走过了 20 多个年头,马上也要三十而立了。

近几年,大家应该也听过不少唱衰Java的论调,恰好最近这段时间,读者群里的小伙伴想让我写一篇关于Java前景分析的文章。

大家都很想知道,这个时候再进场学习Java是不是太晚了,是不是应该向新兴的语言(比如Python、Go)投怀送抱呢,又或者是,干脆直接放弃后端方向,改选大火的机器学习和人工智能呢?

作为一个在一线奋战的 Java 工程师的我,对于这种话题其实也是比较关心的,于是,借着今天这篇文章,我们集百家之言,一起来探讨一下这个话题:Java未来的前景到底如何?

一、我们不妨先来看看培训机构怎么说。

众所周知,Java是培训机构最爱的一门语言之一,Java的N个月速成培训班也是这几年来经久不衰的热门产品,这也导致了 Java 培训市场的激烈竞争,丝毫不亚于咱们Java工程师的就业竞争压力。

机构A的回答:
观点一:市场需求仍在

在中国 Java 的市场永远都是巨大的,但是随着信息的普及,人人都知道 Java 开发做的时间久了,工资高,所以必然会增加竞争程度。

但这是好事,有竞争才有更多人才出现。

Java 的生态系统几乎涵盖了目前市面上所有的软硬件,java在中国的地位20年都是霸主,几乎是万能的,你能想到的,Java 基本都能实现。

目前智联,boss,拉勾网的招聘来看,Java 的需求量还是排名第一,但是这个需求是有前提条件的,就是需要有工作经验,因为你没有工作经验,公司就会认为你没有开发项目的能力,自然不会要你,所以你在学习中,一定要培养自己的经验。

观点二:Java语言生态稳定
其实想学java的人完全不用担心,因为在中国java一直都是第一的,需求量非常大,这么多年 Java 从未被超越。

第一个问题已经说过了,java是有一个庞大的生态系统,它的覆盖范围非常广,而且已经连续 10 几年位居开发语言的榜首,所以 Java 是相对于其他语言来说,非常稳定的,不用担心失业的问题了。

观点三:Java相对容易好自学
自学需要克服以下几点

1,懒惰:其实很多人都是因为看别人工资高才有想法去学的,但是事情往往都是这样,眼红别人工资高,但是自己的实际行动是真的不强,能坚持下去的没有几个,或者自己学的本来就不好,就着急找工作。

2, 急于求成:很多初学java的小伙伴都喜欢无脑的刷视频,但是视频看过了之后自己又什么都不会,这样学了无疑就是浪费时间,没有任何作用,所以不要急于求成,学了哪些知识点就掌握哪些,多动手写代码。

3, 没有时间或者压力大:没有时间可能你还在上班或者你在干别的事情给自己找的一个借口,时间不是没有而是你有没有利用起来,现在是互联网时代,想要学习真的很容易的,可以利用自己碎片化的时间去学习。

我的看法:
该回答的观点相对来说倾向性比较明显,没有切中问题要害,Java市场需求量确实仍然很大,但是目前市场上的优质Java人才的供给量已经远大于需求量,所以如何成为优质的Java开发者才是我们需要思考的问题。
机构B的回答(以下是截取图片,可以点击进入图片放大观看)

我的看法:
该回答相对来说更加客观一些,能够指出Java人才的市场现状,半吊子的从业人员过多,优质人才仍然短缺,如何提升自己的核心竞争力,达到企业的招聘要求,成为了我们需要关注的要点。

另外对于电商平台相关企业的技术栈分析,确实也是一针见血的,现在很多公司对于高端Java技术人才仍然是求贤若渴。不过最后关于语言特性、以及关于人工智能的探讨,就有点画蛇添足了。

当然了,我们不是批评家。机构的观点具有一定倾向性也是很好理解的一件事情,我们可以保留自己的思考。

二、接下来我们再来看看一些 Java 行业的 KOL 怎么说,想必这些大牛的说法更加具有权威性。

作者:沈世钧链接:https://www.zhihu.com/question/315522284/answer/664872172
来源:知乎

在整个IT技术就业市场上,毫无疑问,Java目前还是占据了最大份额。这一方面是因为Java的相对成熟,另一方面也因为Java的广泛应用。这即是Java学习者的幸运所在,也是其挑战所在。

因为Java实在是太成熟,太主流了。这就导致一方面学习Java的人很多,另一方面大家掌握的技术都非常的“大陆货”(例如常见的SSM组合)。因此,想要在激烈的竞争中脱颖而出,就必须进一步提高技术的护城河,包括技术深度(例如阅读Spring源码、算法、设计模式),包括软实力(例如更好的表达力等)。

早前那个“人傻钱多速来”的时代已经一去不复返了。今天的激烈竞争,这才是一个成熟的行业该有的样子。

作者:姚冬
链接:https://www.zhihu.com/question/315522284/answer/634717294
来源:知乎

用语言,平台,岗位来定义自己的程序员都是很危险的。

比如,Java程序员,Python程序员,Windows程序员,大数据程序员,前端程序员等等

把自己和语言,平台,岗位绑定,暗示自己很专注,其实都是自欺欺人,营造虚假的安全感。

其实IT行业没有不衰退,不过时,不死的语言,平台和岗位,四十年职场生涯大概率会遇到两三次。

有人说Java没衰退过时,供给大于需求不就等于衰退吗?

我曾是中国最好的Symbian程序员,现在你想给Symbian烧纸都没地方烧了。iOS程序员们要警惕啊。

IT行业提供高薪的同时也放大了职业风险,只有随需应变,不断转换赛道,紧跟时代的潮流才有幸存的可能,也只是可能而已。

大牛们给的答案都比较类似,竞争越来越激烈,必然导致良币驱逐劣币,并且,每一门语言都有其生命周期,没有什么长盛不衰的语言,可迁移的编程能力才是最重要的核心竞争力。
三、接下来,我们再来看看 100offer 给出的一份关于 Java 行业现状的分析报告(以下是截取图片,可以点击进入图片放大观看)

作者:100offer
链接:https://www.zhihu.com/question/315522284/answer/698034427
来源:知乎

四、看完了各路人士的观点之后,让我再来做个总结吧:

相比机构和个人的观点,求职平台的行业分析报告以数据为依托,论证更加合理。简单来说,主要就是三点,一是互联网行业环境逐渐变得恶劣,二是Java求职市场缩水,三是Java工程师的门槛变高。

其实这一现状,是很多行业从萌芽走向成熟时都会遇到的情况,譬如几年前自媒体刚刚兴起,那个时候行业的玩家少,机会非常多,说一件你可能比较体感的事情,你可以想想,当年你见过的Java公众号有多少,现在的又有多少。

那个时候,新媒体从业者和公司都在野蛮生长,而后几年竞争激烈,行业重新洗牌,形成了今天的一个新格局,也导致行业准入门槛提高。

每一个行业都有从蓝海走向红海的时候,Java目前看来已经是一片红海,但是有竞争力的人才仍然可以在这里面获得很好的发展。

虽然红利没有前几年多,但是这就是时代给与我们的馈赠,时刻保持敏锐和冲劲,也许下一波红利,能赶上的人就是我们。

Java 未来行情到底如何,来看看各界人士是怎么说的的更多相关文章

  1. java参数传递时到底是值传递还是引用传递

    java参数传递时到底是值传递还是引用传递(baidu搜集) 问”,很多人的BLOG里都引用这些面试题,最近因为工作内容比较枯燥,也来看看这些试题以调节一下口味,其中有一道题让我很费解. 原题是:当一 ...

  2. Java finally语句到底是在return之前还是之后执行(JVM字节码分析及内部体系结构)?

    之前看了一篇关于"Java finally语句到底是在return之前还是之后执行?"这样的博客,看到兴致处,突然博客里的一个测试用例让我产生了疑惑. 测试用例如下: public ...

  3. 【转】Java finally语句到底是在return之前还是之后执行?

    网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过试验,至少有两种情况下final ...

  4. Java finally语句到底是在return之前还是之后执行?

    网上有很多人探讨Java中异常捕获机制try...catch...finally块中的finally语句是不是一定会被执行?很多人都说不是,当然他们的回答是正确的,经过我试验,至少有两种情况下fina ...

  5. 在JAVA中线程到底起到什么作用

    这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步 我们可以在计算机上运行各种计算机软件程序.每一个运行的程序可能包括多个独立运行的线程(Thread ...

  6. JAVA未来前景还能持续多久

    有很多人一直在说JAVA现在已经饱和了,已经没有必要学Java,程序员已经是严重过剩,行业人才竞争状况更是恶性的之类的云云.现实真是这样嘛? Java目前现状 首先,Java的应用可以说是无处不在,从 ...

  7. 2019年Java未来的发展方向

    2018即将结束,迎来2019年,Java作为世界上 最流行的计算机编程语言,在当今信息时代中发挥了重要的作用.Java语言本身具有着自己独特的优势:面向对象.分布式应用并且安全.多线程.跨平台等.这 ...

  8. java未来发展方向!新手入门了解

    随社会信息的发展着,java广泛应用于PC.数据中心.游戏控制台.科学超级计算机.移动电话和互联网等行业.从目前的招聘量上看,对java开发人才需求量是很大的,而且未来的仍然是主流,就业前景很好.只要 ...

  9. 一道面试题:C++相比C#或者java的优势到底在哪里

    被问到了这样一道面试题,当时就懵了,内心一直觉得C++肯定在很多方面要比C#或者java要牛b的. 但是真的不知道怎么回答. 问题是:你以前一直做得是.NET相关项目,现在为什么找C++开发相关工作呢 ...

随机推荐

  1. [Pytorch Bug] "EOFError: Ran out of input" When using Dataloader with num_workers=x

    在Windows上使用Dataloader并设置num_workers为一个非零数字,enumerate取数据时会引发"EOFError: Ran out of input"的报错 ...

  2. python执行shell实时输出

    1.使用readline可以实现 import subprocess def run_shell(shell): cmd = subprocess.Popen(shell, stdin=subproc ...

  3. IDEA maven设置配置

    IDEA Maven配置 1. 下载maven 下载地址 从官网上,下载一个压缩包,然后解压到任意的文件夹 Maven的安装必须需要jdk1.7+ 2. 环境变量设置 M2_HOME改为具体的路径,其 ...

  4. C# System.Timers Demo

    static void Main(string[] args) { SystemTimersDemo(); Console.ReadLine(); } static void SystemTimers ...

  5. Web前端基础(1):HTML(一)

    1. HTML概述 1.1 什么是HTML HTML称为超文本标记语言,是一种标识性的语言.它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体.H ...

  6. 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境

    首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...

  7. ORA-01555 When Max Query Length Is Less Than Undo Retention, small or 0 Seconds (Doc ID 1131474.1)

    ORA-01555 When Max Query Length Is Less Than Undo Retention, small or 0 Seconds (Doc ID 1131474.1) A ...

  8. MIPI CSI2学习(一):说一说MIPI CSI2

    1. MIPI CSI2简介 MIPI联盟是一个开放的会员制组织.2003年7月,由美国德州仪器(TI).意法半导体(ST).英国ARM和芬兰诺基亚(Nokia)4家公司共同成立.MIPI联盟旨在推进 ...

  9. 使用Apache服务部署静态网站2019-7-5

    使用Apache服务部署静态网站 第1步:把镜像挂载到系统中 第2步:使用vim文件编辑器创建YUM仓库的配置文件 [root@study ~]# vim /etc/yum.repos.d/abc.r ...

  10. Python入门基础学习(函数)

    Python基础学习笔记(三) 函数的概念: 所谓函数,就是把具有独立功能的代码块组织为一个小模块,在需要的时候调用 函数的使用包含两个步骤: 1.定义函数 --封装独立的功能 2.调用函数 --享受 ...