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

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

直至今日,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框架的指示,失去了自我意识。

相关文章

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...

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

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

最详细的Java学习点知识脑图,从基础到进阶,看完还有啥你不懂的

一、代码块加载顺序静态代码块只会加载1次,在普通代码块前执行,会在类链接中的准备阶段执行普通代码块每次new的时候都会加载,在构造方法前执行,其实是编译的时候,代码被放到构造函数前构造函数每次new都...

Java基础入门系列_java入门零基础

第一章 开发前言1.1 Java语言概述什么是Java语言Java语言是美国Sun公司(Stanford University Network),在1995年推出的高级的编程语言。所谓编程语言,是计算...

JDK1.8在接口中写方法实现常用吗?

一:简介我们通常所说的接口的作用是用于定义一套标准、约束、规范等,接口中的方法只声明方法的签名,不提供相应的方法体,方法体由对应的实现类去实现。在JDK1.8中打破了这样的认识,接口中的方法可以有方法...