在近日的TechRepublic和Packt Publishing榜单中,Java成了最受争议的编程语言:一方面,其常年雄踞
最受欢迎的编程语言榜榜首;另一方面,它又因为代码冗长、维护麻烦而成为大多数开发者最后悔学习的语言!但是本文的作者认为,无论开发者持怎样的观点,Java都只会越来越强大!




作者 | Simon Ritter

译者 | 弯月,责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

以下为译文:


最近,TechRepublic发表了一篇文章讨论关于开发人员喜爱与讨厌的语言(https://www.techrepublic.com/article/5-programming-languages-developers-love-most-and-3-they-hate/)。结果却很意思:
在最受欢迎的语言排行榜中Java名列第三,同时在最讨厌的语言中排在第二名的也是Java
。显然,Java作为一门开发语言,人们对它的看法形成了两极分化。在我转发了这篇推文后,C++的创始人Bjarne
Stroustrup回复说:“这个世上只有两种语言:人们抱怨的语言和没有人使用的语言。”我觉得他说得很对。







C++创始人Bjarne Stroustrup




第二篇文章来自Packt
Publishing的开发者调查(https://hub.packtpub.com/containers-and-python-are-in-demand-but-blockchain-is-all-hype-says-skill-up-developer-survey/),这篇文章也注重给予了Java负面的评价(至少表面上如此)。从他们的结果来看,
Java是大多数开发人员最后悔学习的语言
。原文的数据显示,尽管Java排在第一位,但只有不到5%的受访者给出了这个答案。目前尚不清楚这5%是什么:参加调查的总人数(226名开发人员),后悔学习Java的人(102人),以Java为主要编程语言的人(38人)。无论怎样,我认为这并没有表现出开发人员的重要趋势。至于人们后悔学习Java的原因都是我们耳熟能详的托辞,比如“Java逐渐要被淘汰了”,“Java已经变成了现代编程界的COBOL”,以及“代码过于冗长,过于复杂,学习难度较高”等。




这篇报告的作者对这个结果的原因提出了大胆的看法:





“Oracle决定关注企业Java,并取消对OpenJDK的支持,这加剧了Java的不确定性。虽然红帽被收购为Java的未来奠定了基础,但对于依赖这种语言的人来说无疑是警告信号。”




然而,上述陈述并非实情,Oracle绝对不会取消对Java的支持。他们确实改变了提供Oracle JDK的方式,但你仍然可以免费下载和使用Oracle
OpenJDK
JDK。有几个提供商(包括Azul)提供了免费或通过付费商业支持更新JDK的旧版本。此外,红帽虽然是OpenJDK强大的支持者,但还没有正式接管。在红帽就职的Andrew
Haley现在是OpenJDK 7、8和11的项目负责人,Oracle还在负责当前版本的OpenJDK项目。





即使在自诞生以来24年后的今天,在编程语言流行度的排名调查中,例如TIOBE指数和RedMonk编程语言排名等,Java的排名仍然很靠前。多年来,我们见证了很多语言的迅速崛起,声称很快就能取代Java。最突出的例子是Ruby
on Rails(严格来说是一种框架,而不仅仅是一种语言)、Scala以及最近的Kotlin。




这不禁让我想到,对于那些管理Java平台的人来说这是多么艰难,比如Mark Reinhold、Brian Goetz和John
Rose等。引用十四世纪的僧侣John
Lydgate的一句名言:“你可以随时取悦一些人,你可以在某些时候取悦所有人,但你不能一直讨好所有人。”(上面这句话应该用vi命令替换一下,:/人/开发者/g)。




Java之父James Gosling将其形容为蓝领编程语言。其基本思想是提供一种语言,帮助开发人员完成工作。在这方面Java确实取得了很大成功。




难点在于如何发展平台。如何改变Java,简化Java,让一些开发人员满意,同时也不会让那些喜欢Java核心语法的人失望?




让我们回顾一下Packt开发者调查的最后一句话:“代码过于冗长,过于复杂,学习难度较高”。这是Java常见的批评,就因为Java的样板代码太多,太冗长了。




在过去的二十年中,我们已经看到了一些变化,就算解决不了这个问题,但至少可以有一些缓解。JDK
5中引入的注释开始支持依赖注入,因此简化了企业Java的开发。我相信今时今日所有人都会使用注释开发Web服务。Lambda表达式和JDK
8中的流API,让处理数据集合的工作变得更为简洁。甚至像Project
Coin这样的变化也有细微的帮助(多个catch和try-with-resources都是很好的例子)。





与Kotlin等语言相比,Java仍然很冗长。Kotlin开发人员最开始就拥有的显著优势在于,他们不需要保持与几十年来的现有代码和应用程序的向后兼容性。而这是OpenJDK开发人员非常重视的问题。





从个人的角度来看,Java作为一种开发语言最强大的特性之一就是可读性。我想大多数开发人员都同意,代码的阅读次数远远超过编写的次数。所有开发人员随时随刻都需要维护其他人的代码,语言越容易理解,就越容易解决错误或改进。我曾经用Perl开发过应用程序,那个应用程序并不大,打印出来大约只有8页纸,但我很快就发现,Perl的语法密集度令人难以置信,它是一种只能编写无法阅读的语言。所以说冗长也不一定是坏事!





重要的是Java一直在不断发展。随着OpenJDK六个月一次的发布节奏,似乎变化的步伐已经放缓。我们看到不断涌现的新功能,其中许多功能非常小,但却可以减轻开发人员的工作负担。




Java增添大的新功能需要时间,因为最重要的还是保持Java的正确性。我们将在JDK 13中看到switch表达式的改动,该表达式作为JDK
12中的预览功能被引入。Java一改往昔直接设置语法(通过Java
SE规范)的做法,而是采用了预览功能,所以开发人员可以尝试这些功能,并在最终确定之前提供反馈。





从长期来看,Amber项目将继续对Java语言的语法做出合理的改变,以解决开发人员有时会遇到的一些边缘情况。我们期待着在接下来的几个版本中看到Amber的更多成果。




好消息是,无论你是喜欢还是讨厌,由于OpenJDK架构师的辛勤工作,Java只会变得越来越好,而且Java也将继续保持地球上最受欢迎的开发平台之一的地位。




原文:https://www.azul.com/love-it-or-hate-it-java-continues-to-evolve/

本文为 CSDN 翻译,转载请注明来源出处。

【End】



 热 文 推 荐 


☞Google 向平板电脑彻底说再见!
<http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650723042&idx=1&sn=e2630de90b3056bf0f36d0dd59fc04cc&chksm=bea6a33189d12a278a6d3fee1d6919824bf905715a900d60df9c33db7a164a31549c5b4936a7&scene=21#wechat_redirect>

☞直接拿来用!Visual Studio 扩展工具利用 AI 强化你的代码
<http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650723042&idx=3&sn=92c4d993d8729727edb1a934dd93c72e&chksm=bea6a33189d12a2714649820b266abd6a3bc414de3af9481afcf270748bb6d17f0b60e0e3ff1&scene=21#wechat_redirect>

☞苹果召回6.3万台MacBook Pro;罗永浩回应“收购苹果”;新版Edge支持Windows 7/8 | 极客头条
<http://mp.weixin.qq.com/s?__biz=MjM5MjAwODM4MA==&mid=2650723011&idx=1&sn=21a2ccba2c33dbc9848b9c094215400a&chksm=bea6a31089d12a0683e27c341a19b60c6f5d7974ebf7af79ac8afe2f41bc69f6ad2d2435c828&scene=21#wechat_redirect>


☞10分钟读懂什么是容器云?
<http://mp.weixin.qq.com/s?__biz=MzA3MjY1MTQwNQ==&mid=2649828468&idx=1&sn=be0e830aadfc1d1be5ee87ea3aaa81cb&chksm=871e8b96b0690280769fc922982920bc98b09cefba1acc9642838e1e85ae3bb9249bc2b3ae98&scene=21#wechat_redirect>

☞媲美Pandas?Python的Datatable包怎么用?
<http://mp.weixin.qq.com/s?__biz=MzU5MjEwMTE2OQ==&mid=2247486839&idx=1&sn=52f9dc4e971b50f8c6d84beef49faeb5&chksm=fe25a729c9522e3fca6dd759d2ae5bf4144bc6fbb2045d9a79bb13a1c14298516654241cfedc&scene=21#wechat_redirect>

☞西交出身,辛书冕获CVPR 2019最佳论文,李飞飞团队获经典论文奖
<http://mp.weixin.qq.com/s?__biz=MzI0ODcxODk5OA==&mid=2247505912&idx=1&sn=1417d1b2e161d9e3151b124c0e3fa34a&chksm=e99ee401dee96d17623e3981a3764d65d8818db2466682a6fe05d432dec2b5f073e992179423&scene=21#wechat_redirect>

☞倒计时10天 | 堪称年度中国最具影响力的以太坊技术盛宴,为何不容错过?
<http://mp.weixin.qq.com/s?__biz=MzU2MTE1NDk2Mg==&mid=2247496036&idx=2&sn=60b00f81bf2829ac8480c1c39e518a7b&chksm=fc7faf99cb08268fc0d3501f7aedbf9571c2f78b9554cb4c8a7a81aa3507439c75cb6c72174d&scene=21#wechat_redirect>

☞技术面试别扯智力题!
<http://mp.weixin.qq.com/s?__biz=MzA5MzY4NTQwMA==&mid=2651011702&idx=1&sn=8bb355cf1ebf567d98bebf35e23f9a09&chksm=8bad8981bcda00978c651197161ebc40732357bf39b47eaf1504f821f493065df9bc09cb4bae&scene=21#wechat_redirect>

☞她说:程序员离开电脑就是 “废物” !
<http://mp.weixin.qq.com/s?__biz=MzA5MjcxNjc2Ng==&mid=2650560278&idx=1&sn=8eed8639198456b0ce714af4be2fc172&chksm=88601ca7bf1795b1614553701c5962054843ebfb56c940fb0bb3f5dcdf1ab010d1abd2ee4c0a&scene=21#wechat_redirect>

点击阅读原文,输入关键词,搜索CSDN文章。

你点的每个“在看”,我都认真当成了喜欢

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信