Java语言已死?九百万程序员说不
小职 2017-12-07 来源 :网络 阅读 690 评论 0

摘要:Java语言没死,事实上它拥有足够的能量让你的应用跑起来。那些对Java语言吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java语言一样得到广泛应用及长远的历史。

Java语言没死,事实上它拥有足够的能量让你的应用跑起来。那些对Java语言吹毛求疵人频繁地聚焦在一些小众问题上,总是和其他技术或者语言做些不公平的对比,这些语言并没有像Java语言一样得到广泛应用及长远的历史。

  现在的小孩都能学 Java,它在 Web 和企业开发中广泛被采用,特别是近些年更是有了些让人惊讶的改善,一些新特性正在筹备中。即使抛开这些最新的特性,Java 仍然很酷,应用的广泛性、JVM 平台背后卓越的设计、清晰的语法、拥有丰富的工具和库文件构成的生态系统。Oracle 说有超过9,000,000 Java 开发者(亿万的应用和设备用户),所以为什么我会听到诸如“Java 正在被淘汰中”,2007年开始,Java 就已经沦为“21世纪的 Cobol 语言”的言论?

  Java平台是工程师的梦想

  首先就是 Java 平台的存在,HotSpot JVM 是一项非凡的设计,CLR (公共语言运行库)有了大量的优化,Java 应用在性能上甚至可以与C相媲美,当然还有其他可选的虚拟机供可用(如:JRockit,Zing),应你的环境有特殊的需求而定。

  再者,多种基于 JVM 的语言使得这个平台更奇妙,如:Groovy,Jython,JavaFX,Scala,当然还不局限于以上流行的语言。Java 现在包含有字节码指令:invokedynamic 和 java.lang.invoke 包,使得 JVM 构建动态语言更简单,现在已经有超过 50 中基于 JVM 的语言。其中最有意思的一个是 php.reboot,它的目标是保持 php 的哲学理念,但是移除了其中一些缺陷,而且它同样能在 Android 中运行。

  Java是一门成熟的语言,并不适合“老人”

  Java 成为被批评,抱怨,诅咒的靶子,我说这门语言还没死,恰恰相反当有人抱怨 Java 的时候正是推广 Java 时机。人们总会做些奇怪的对比,好像仍然以为 Java 还是停留在1.4的版本,用记事本编写、需要 EJB2 的支持、只能用来写写简单的留言板,然后把这些用来与一个高端框架甚至是 CMS 来对比。

  作为 Java程序员,这种对比对我来说没有任何意义。更为明智的方法对比 Java 就得理智地选择竞争对手,看看 Java vs PHP、Python 或者 Ruby,或者用框架 Play 对比 Ruby on Rails,SpringMVC vs Zend Framework,有鉴于此,我觉得 Java 似乎根本就不适合老人。

  Java 冗长吗?当然

  人们常说 Java 太啰嗦了,减缓了运行速度。批评者矛头通常指向 Java 的强类型静态语言特性,缺乏前沿技术在语言中,然而,我认为他们是经过深思熟虑的,而且这正是 Java 良好的特性。动态语言在启动一个小项目时开始会觉得很受欢迎,但是可以考虑一下,在时髦框架及合适的工具(如:考虑用 IDE 代替记事本)下创建一个“Hello 留言板”类型的应用,Java 很简单,只是 10 分钟的事情,如果你想做个试验的话,使用 Spring Roo 再准备一个秒表,如果有需要的话。现在就可以开始繁琐的 CRUD 了。

  想象一下,你正为移动运营商搭建一个系统,运行客户登陆网站,你不得不在后台调用各种子系统收集大量的数据,Cool 框架通常分解你的程序模块而不需要匹配任何用户模型。要更多的了解建议你看看 Joel Spolsky 发表的一篇文章。

  Java是一门强类型静态语言

  强类型静态语言有很多好处,我喜欢它简单的视觉外观,我可以粗略看一段代码就知道是做什么的,它就像是可视化的用英语反馈,语言非常易读,字母混合成单词仍然可读。其它的一些好处是有强大的 IDE 支持,动态语言在这点一直是弊端,大项目中有强大的 IDE 和工具支持是无价的。

  批判者的观点在 Java 在读文件、转换 xml 或迭代集合的时候缺乏表达力,但是你可以总是创建一个方法去处理这些常用的事例,或者是用 FileUtils.readLines (),java 语言上表达力的缺点有很多库对其支持。在 Java7 中能看到一些优雅的加强型功能,如自动关闭资源、siwtch 语句支持 String、数字类型支持下划线(强烈建议读 Coin 项目)。Java8承诺了更多的东西(最有意思的应该是闭包)。Java 是不是在任何方面都是那么的完美无缺呢?当然不是,这就是 Java8、Java9在准备阶段的原因。我个人也不喜欢那些不太优雅的核心 API. 是否的确将更多的事情留给平台而不是语言本身?java 核心包括 API 进阶设计跨度长达 20 年,API 的更新会破坏向后兼容性,有些设计太抽象,但有些还不够抽象,有些太零碎,有些根本不可思议。看看其竞争对手 .NET,核心 API 做的很好,比如统一的通信 API。Java8在 Jigsaw 项目的帮助下,会有所改变。

  所以你值得拥有 Java,正确地使用它,它是一门很棒的语言。堪比 Klingon 语言,它将继续改善并不会很快消失。不应把努力放在取代 Java 上,而是和其他 JVM 语言结合使用,这是最明智的,但是对我的下一个 Pet Clinic 还是坚持使用 Java。

    本文由职坐标整理并发布,希望对同学们学习Java的知识有所帮助。了解更多详情请关注职坐标Java频道!

本文由 @小职 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程