从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年,虽经磨难,却历久弥新,其构建的应用生态也越来越丰富,未来的发展应用也会越来越多。本文仅介绍了大咖们在本场直播中的部分精彩观点,欲知详情请观看直播回放。
评论 (0)
登录后可评论,请 登录 或 注册
评论