Java 还是个好同志

虽然我本科时候专业要求用的语言是 Java,但我整个大学几乎都在用 Node.JS 和 Python,其中 JS 可以算是我的母语了(笑)。然而最近某项目技术选型的时候才意识到,Java/JVM 相对于其他语言的优势,很多不是人有我优的区别,而是人无我有的区别。

比如 Node.JS/Go 几乎没有什么 hadoop/kafka/machine Learning 的标准接口库,能搜到的大多是几十或数百 GitHub stars 的自造轮子,不少连 build 都不过。虽说可以将很多东西微服务化,但对于迷你团队来说不啻于额外的学习成本和调试时间。更何况 Java 抛弃 J2EE 等历史包袱后,面目也不那么可憎了。

如果对性能有要求 (高并发,同时考虑到 IO 密集和 CPU 密集),时间又有限(不够时间自造轮子/多语言混合开发),且涉及的技术栈宽广(从 Web 到数据处理到其他等等),且是多人合作(此时静态类型胜过动态类型,除非强制用类型标注和类型检查),JVM 系列在很多情况是一个安全的选择。

Comments