Java 19了,为何程序员几乎都停留在Java 8?

createh53个月前 (02-14)技术教程16

直至今日,OpenJDK(也就是Java开源版本)已发布了预览版OpenJDK 19 了,OpenJDK JDK 19 Early-Access Builds。

然而,众多的Java程序员依然停留在Java8版本,也就是JDK1.8系列,Java8可真是YYDS,差不多快要满10个年头了。

为何程序员不选择使用新版本,依旧使用快要10年的Java8版本呢?

这个问题网上很多回答,大家可以自己通过网络搜索引擎搜索。

其中主要的回答就是Java越做越烂,换个说法就是Java8“非常够用”。

貌似这个说法也很对,但是我却有另外的观点,那就是Java程序员也太死板了。

在这里可能会冒犯一些Java程序员,其实包括我自己也使用了很多年的Java,很多主要项目也是使用Java开发,也是使用Java8版本,所以我没有必要和Java用户搞对立,我可以从自我反思中也可以这样评论。

如果看其它流行语言的发展,比如Kotlin和Golang,特别是Golang,有着挑战Java的态势,还好Kotlin只是作为Java的强化,但其实很多类似的JVM语言并不总是被人买单,就犹如Java新版本为何越做越烂,那是因为很多JVM支持语言如Scala、Groovy以及Kotlin都在新特性上做的比Java新版本好多了,比如对我来说使用Kotlin+JRE8开发,完全胜过使用JDK17等新版本。

作为Android原生开发用户,Kotlin基本上已经成为现在开发Android原生程序的最佳选择,且Kotlin不仅仅支持Android客户端开发,还能无缝支持服务端开发,Native原生应用程序开发,还能开发Web前端,通过类似Typescript一样转译JavaScript,变成全能语言,且在语法上类似于协程和空安全以及响应式编程优势大于Java新版本。

同时Kotlin也完美支持主流Java框架,此外它是著名IDE厂商JetBrains亲儿子,开发工具支持也是无敌了。

再说到框架,目前很多第三方框架或依赖,在Java新版本支持上完全不可靠,很容易出现报错以及不兼容问题,这也是我完全不使用新版本Java项目原因。

这也说到了上述Java程序员太死板这个问题,如果去研究学习其它新语言,从语法到设计都更潮流,也更复杂,像golang语法简洁但实现功能很方便,内置的各种标注库能基本上开箱即用,像rust这样的语言又极其复杂的语法和用法,但又是很强大的底层编程能力。而一看Java,寥寥可数的几个基本关键字,非常简单的面向对象,Java真的是最简单的编程语言之一了,完全谈不上复杂的语法和用法,和C#很类似但是差距越来越大了。因为基本没有开箱即用,非常依赖框架或第三方,这也是程序员非常在意框架生态,比如spring生态,使用什么样的方式取决于Spring框架的指示,失去了自我意识。

相关文章

Java 中 ConcurrentHashMap 1.7 和 1.8 之间有哪些区别?

在初次接触 ConcurrentHashMap 时,许多同学难免会对它高并发环境下的设计原理心生好奇。要弄清它在不同版本之间究竟有何差异,就需要先探究底层原理的“前世今生”。本文将聚焦 Java 1....

Jdk1.8版本的下载,安装和环境变量配置

1.Jdk下载首先在官网上下载Jdk的安装包官网网址:[https://www.oracle.com/java/technologies/javase-downloads.html]下载1.8版本,使...

Java 八股文_java八股文是什么意思

一、Java 基础知识1、Object 类相关方法getClass 获取当前运行时对象的 Class 对象。hashCode 返回对象的 hash 码。clone 拷贝当前对象, 必须实现 Clone...

ConcurrentHashMap最全详解(含JDK1.7和1.8原理剖析)

ConcurrentHashMap是Java并发编程非常重要的容器,也是大厂重点考察,下面我就全面来详解ConcurrentHashMap@mikechenConcurrentHashMapConcu...

Java 8 新特性探秘:Lambda 表达式、Stream API 和 Optional 的深度解析

一、引言Java 8 的出现为开发者带来了诸多强大的新特性,其中 Lambda 表达式、Stream API 和 Optional 更是备受瞩目。这些新特性极大地提高了编程效率和代码的可读性,为 Ja...

PriorityQueue:非常实用的java优先级队列(jdk1.8源码分析)

最近在刷力扣题的时候不止一次看到过这个PriorityQueue,他的优良特性可以帮助我们解决大量的题目。这篇文章从用法、原理、源码以及力扣实际题目的角度进行一个全面的分析。希望对你有帮助。一、什么是...