2013年,已经进入第18个年头的Java仍然是InfoQ上最受欢迎的话题,最近的《详细分析Java中断机制》、《关于Java性能的9个谬论》、《深入理解Java内存模型》等系列文章,一直占据InfoQ阅读热榜的首位。同时,今年7月的JavaOne(购票入口)再次选择了中国,7月22-25日将在上海世博中心举行连续4天的会议,话题涵盖核心Java平台、JavaFX与用户体验、Java EE和Web服务/云,以及Java ME/Java Embedded/Java Card等技术领域。
2013年,在云计算、大数据、移动互联网等话题占据了人们所有的注意力的时候,Java的状态到底如何?近期,InfoQ中文站将对业内几位资深Java项目作者与书籍作者进行采访,了解他们眼中Java的现状,以及他们对Java未来的看法。
今天受邀参与采访的嘉宾是淘宝的资深架构师朱鸿(@hugozhu),花名一粟。朱鸿在Java方面有大量开发经验。最近,他在关注树莓派(Raspberry Pi)和Go语言。他的个人网站是http://hugozhu.myalert.info。
InfoQ:Java语言给留下的最初印象是什么?您最初的Java项目是什么样的?
朱鸿:Java的最初印象是成熟,强大,功能全面。最早是在2000年使用Java开发Web应用。
InfoQ:您现在接触的Java项目跟那时相比,有怎样的变化?
朱鸿:实际上变化并不是很大,多了可支持并发的集合,Servlet 3.0以及NIO的使用。还有就是以前的Java Swing项目到现在的Android项目转变。
InfoQ:您是否会推荐在Java项目中的年轻程序员去掌握其他编程语言?您的首选推荐语言是什么?
朱鸿:我会推荐他去掌握其他编程语言:至少一门适合快速完成任务的脚本语言,可以是JVM之上的Groovy,Clojure,Scala等,也可以是Python,Ruby,PHP或Perl。如果非要我只推荐一个,我觉得会是Go语言。
InfoQ:对于一些从新锐编程语言开始入行的年轻程序员,比如Ruby程序员,您是否会推荐他们了解Java?为什么?
朱鸿:我感觉不太需要了,除非他们想去开发Android客户端App了。开过跑车后再去开大巴车总是有点不爽的,虽然视野更广了。
InfoQ:过去一年,Java平台在安全性方面面临较多争议。当您收到Java平台被曝出漏洞的消息之后,会进行什么防范措施吗?
朱鸿:我主要是做服务器端的Java开发,在服务器端Java的安全性问题还好,不用每天盯着看。
InfoQ:不少传统的Java应用开发者最近都开始尝试Scala、Node.js等新的编程语言,编写出来的应用在编写效率、资源消耗等方面相比Java有很多优势。毫无疑问,新技术大量出现,老技术的适用范围会被部分替代。您认为Java的应用场景有哪些适合被替代,哪些不适合被替代?
朱鸿:Scala,Node.js或Ruby在资源消耗上其实和Java相比应该没有优势,主要的优势还是体现在开发效率上,这方面有待Java 8去改进了,大家都知道这大概是1、2年以后的事了。移动客户端的Android开发,服务端的大数据处理如Hadoop和Storm等还是Java展现其活力的增量市场;我觉得Web前端应用层的开发会被更轻量级的技术替代,但服务层,中间件等还是Java的优势所在。
InfoQ:JVM下多语言协作开发是否能够最大化地发挥Java自身的优势?
朱鸿:得看具体项目了,不建议同时用太多语言,2个语言互补一下比较好。
InfoQ:您觉得Java语言自身存在的挑战是什么?
朱鸿:语言改进牵涉面比较多,进展很缓慢。
InfoQ:一旦Java 8走向成熟,是否可以支持现有系统向Java 8的成熟迁移?
朱鸿:这个应该可以有。
InfoQ:能否谈谈目前Java开源社区的一些变化?开源社区对Java发展起到了哪些推动?
朱鸿:Java开源社区目前还是比较活跃的,开源社区显然对Java的发展有巨大的作用,有非常多优秀的开源Java程序应用在我们的项目中。
via http://www.infoq.com/cn/news/2013/06/zhuhong-on-java
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/linux/43112.html