云社区 博客 博客详情
云社区 博客 博客详情

Java将被取代?中俄专家这么说!

敏捷的小智 发表于 2020-08-13 14:54:01 08-13 14:54
敏捷的小智 发表于 2020-08-13 14:54:01 2020-08-13
0
0

【摘要】 曾经备受关注的Java是否能紧跟时代步伐?Java将被取代?如果会,将会被哪种语言取代?

从1995年第一个Java版本诞生至今,已历经25年。Java的诞生,成功地建立了一个开放、成熟、稳定的开源生态。但其发展过程也伴随着各种争议,如版权限制、授权收费、社区投入减少等。 

面对各种新需求、新应用不断出现,各路新生代编程语言异军突起等局面,不得不思考这些问题:Java未来会不会继续受欢迎?曾经备受关注的Java是否能紧跟时代步伐?能否在新基建时代破茧重生,引领云端未来潮流? 

日前,华为云DevRun直播间特邀请华为莫斯科研究所系统编程实验室主任Yegor Bugayenko、开源中国创始人兼CTO&码云开发平台负责人红薯、禧天龙科技发展有限公司CTO郭曦三位嘉宾,并由华为云DevCloud首席技术布导师徐毅引导,嘉宾们围绕中俄社区现状和当前Java热点话题进行了讨论。

中俄Java社区知多少

通过红薯和Yegor Bugayenko两位大咖的介绍,我们对中俄Java社区有了初步了解。当前国内开发者人群规模大约在1000万,从一个公司正常的技术人员配比来看,直接参与编程的人员比例在 80% 左右 。同时根据码云目前超过1000万的仓库推算,国内有大约 200 万的 Java 开发者。而在俄罗斯,从事编程工作的人员并不是很多,根据Yegor Bugayenko的初步估计,应该在10万左右,由于编程语言的多样性,使用Java的开发者数量不好评估,但也占大多数。

两国开发者都有“自嘲”文化,在中国尤为明显。如:程序猿、攻城狮、搬砖等等。随着高新产业的发展,程序员也越来越受欢迎。 

俄罗斯很多程序员认为自己是哲学家甚至艺术家,因为编程帮助人们更深刻地理解哲学、数学、宗教、艺术,并以前所未有的效率将思想转化为生产力。随着科技发展、教育普及,编程工作不会再被一小众人员“垄断”,但是可以肯定的是,编程工作依然是一个很有“钱”途的工作。

Java数次历史变更看影响

1991 Sun公司的James Gosling等人开始开发名称为 Oak (橡树)的语言,旨在用于控制嵌入在有线电视交换盒、PDA等的微处理器

1994年 Oak语言更名为Java

1998年 JDK1.2时,更名为Java 2 Platform,分为标准版J2SE、企业版J2EE、微型版J2ME。这是 Java 一个很重要的版本,修复了早先的一些重大 Bug

2004 J2SE 5.0 (1.5.0)  Tiger老虎

2006年 J2SE 6.0 (1.6.0)  Mustang野马

2009 Oracle 74亿美元收购 Sun

2014 Java 8 发布,Lambda 表达式支持,而且兼容老版本。之后调整版本发布策略

2018 Oracle 发布Java10并计划每6个月发布一个新版本

2019 年1月 Oracle 宣布Oracle JDK不再提供免费支持,一些大互联网公司开始推出自己的JDK,并宣布提供免费技术支持 

红薯老师亲身经历Java的多次变更,他认为从整个变更过程看,Java 更多用于开发具体的应用,尽管每次变更对国内影响有限,但Java仍然是很受欢迎的语言。

未来Java会不会被取代?哪些语言最有可能取代Java?

其实,是否会被取代,并不是语言本身,而是Java搭建的生态系统:其中包括各种各样的组件元素,如Java基础、WEB开发架构、负载均衡、分布式服务框架等,以及对应的应用虚拟机、安卓系统等等。 

Java从诞生起就存在无数缺陷,但这些并没有阻止Java的成功。 

开放就是Java 成功的核心,跨平台、面向对象、泛型编程的特性保证其可运行性、可扩展性和可连接性,并保障了其在Web开发、大数据开发、Android开发和各种后端服务开发等领域都有大量的应用,同时,Java凭借其稳定的性能和较强的扩展性得到了广泛的应用,并且在互联网行业倍受认可,未来仍然存在很大的发展空间。

此次活动中,我们对“未来最可能取代Java的语言”进行了一轮投票活动,从参与者的反馈来看,大家认为最有可能取代Java语言的Top3分别是Python(34.99%),JavaScript(23.24%),Go(13.05%),其实每种语言都有自己擅长的领域和方向。 

Python的主要应用领域是大数据和人工智能,在Web开发、大数据开发、人工智能开发、后端服务开发和嵌入式开发等领域,应用比较广泛。其优势是语法简单,调整方便,但是在运行性能上与Java还有一定的差距。

JavaScript主要从事前端任务开发的场景,解决服务器端语言遗留的速度问题,但是Node.js的兴起给了JavaScript从前端走向后端的机会,未来JavaScript会得到进一步发展。 

Go语言主打性能,特别是在当下的大数据环境下,对性能要求越来越高,Go语言应该能够发挥出更大作用。 

企业基于Java开发商业软件,有没有比较好的最佳业务实践或者方法,嘉宾郭曦分享了如下一个真实案例。


最早的三层架构是没有集成层的,IBM/BEA/SAP甚至开源社区很多优秀的产品进入了继承领域,在这一层级以Java为主要语言开发的企业服务总线已经占据着企业继承市场90%以上的份额。 

应用公有云微服务架构+SAP企业服务总线,无缝整合面向互联网的SaaS/PaaS平台,比如多家国内知名电商,是通过公有云+私有云对接的形式,利用云端应用服务器,构建自己面向互联网的应用后台。即通过云端代码托管和自动化构建设施建立自己的代码仓库,配合敏捷开发理论形成企业的应用开发体系,利用云端项目管理软件进行任务分配、质量控制、成本预算核算,利用云端运维管理应用构建企业自己基于ITIL管理体系的运维框架。 

最佳实践带来了不错的效果

1.标准研发流程和经验,研发数据集中存储,防止流失

2.配置管理改为Git,效率提升30%

3.减少构建依赖错误,构建效率提高70%

4.发布部署的出错率降低90% 

未来编程语言发展将会呈现出百花齐放的局面。Java语言生态体系比较健全,再加上其开放、跨平台、面向对象、泛编程性等优势,决定了其很难被其他语言取代。未来在其最擅长的细分领域,如:Web开发、移动互联网开发和大数据(云计算)开发等领域,还是会继续保持优势。 

Java 已经发展25年,虽经磨难,却历久弥新,其构建的应用生态也越来越丰富,未来的发展应用也会越来越多。本文仅介绍了大咖们在本场直播中的部分精彩观点,欲知详情请观看直播回放。

直播回放地址:https://bbs.huaweicloud.com/videos/103061

登录后可下载附件,请登录或者注册

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:huaweicloud.bbs@huawei.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
评论文章 //点赞 收藏 0
点赞
分享文章到微博
分享文章到朋友圈

评论 (0)


0/1000
评论

登录后可评论,请 登录注册

评论

您没有权限执行当前操作

温馨提示

您确认删除评论吗?

确定
取消
温馨提示

您确认删除评论吗?

删除操作无法恢复,请谨慎操作。

确定
取消
温馨提示

您确认删除博客吗?

确定
取消

确认删除

您确认删除博客吗?

确认删除

您确认删除评论吗?

温馨提示

登录超时或用户已下线,请重新登录!!!

确定
取消