未来编程语言发展趋势,java语言从什么语言发展而来
一.导言
Java长期占据最受欢迎编程语言排行榜榜首,可见它是一门深受程序员欢迎的编程语言。Java语言的魅力在哪里?想必这已经是大多数人所熟知的了,不值得过多赘述。然而,自从Java语言发展以来,面对发展迅速、简单易学的python,以及层出不穷的各种高级语言,Java程序员的份额逐渐减少。未来还能保持领先优势吗?本文主要从Java语言不擅长的领域和自己领地内的对手入手,谈谈Java语言未来面临的挑战。
二、今天的爪哇帝国
2.1依然占据TIOBE流行编程语言的头把交椅。
这是权威开发语言榜单TIOBE的最新数据(截至2020年4月)。可见Java语言依然占据语言榜第一!虽然Python的高谷这几年赶上了大数据的热潮,发展很快,在其他一些排名上甚至超过了老大哥,但是Python在TIOBE这样的权威排名上还是高谷!
2.2曾经想干掉Java的微软宣布加入OpenJDK。
这是IT界又一个真正甜蜜的场景。Sun公司起诉微软“歧视Java软件的使用”。但微软在2001年推出新操作系统Windows XP时,故意不安装Java软件,引入了C#和。net框架,它们是高度类似Java的语言。现在,微软宣布加入OpenJDK,拥抱Java技术。微软的Visual Studio,宇宙第一个IDE,也开始支持Java开发(通过VS Visual Studio Live Share,可以链接到VS代码上的Java项目,共同编程,间接支持Java开发)。
2.3甲骨文发布开源全栈虚拟机GraalVM
这是著名的甲骨文公司生产的开源产品。从官网“在任何地方运行程序都更快”的口号和产品GraalVM的名称可以看出,GraalVM是一个升级版的JVM。在GraalVM上执行Java程序效率更高(多亏了JIT编译器技术)。最棒的是GraalVM支持多语言应用程序!在GraalVM中,很多不同的语言可以相互传递数据,并且支持Java、Python、Ruby、R、Scala、Kotlin、JavaScript等语言。
三。对爪哇帝国的挑战
3.1后端服务器开发
作为Java平台的重要组成部分,J2EE现在广泛应用于Web后端服务器开发领域。在这个领域,Java有很多闪亮的彩虹,比如Spring framework,Mybatis,Hibernate,这些都可以让开发者快速构建Web应用。这是爪哇帝国的重要领地,但也有很多挑战。这里有几个强有力的竞争对手。
3 . 1 . 1 Python的竞争
与Java相比,Python具有以下优势:
语法简单直观,意味着开发速度快。
第三方库功能强大,可以编写复杂的逻辑。
当然Python的执行效率肯定比Java低,所以主要用在小型网站后端。阿里这样的大厂都拥抱Java的后端。
3.1.2竞争
与Java相比,C有以下优点:
执行效率
内存管理是免费的,而Java是由GC管理的。
c适合大型高性能服务器开发。腾讯用C做开发,和阿里不一样。当然,C比Java更难学,更难开发。
3 . 1 . 3 node . js竞争
node.js的出现大概是前端程序员最开心的事情了,因为node.js可以让自己编写的JavaScript代码运行在服务器端,让前端不用学Java就可以自己编写后台,摆脱后台父亲的束缚(错误)。得益于node.js的事件驱动机制,node.js具有高并发性,可以处理大规模的http请求。但也有缺点,因为js只支持单核,所以不能充分利用服务器的性能,不适合CPU密集型的应用。
3.1.4围棋比赛
Go语言是最近流行的一种开发语言,适合开发高性能的分布式系统。这是一个非常强大的竞争对手,它被认为是未来的服务器语言。它具有以下优点:
学习难度低,易于使用,易于维护。
由于有了协同进程,并发性能更加优越。
执行效率高的编译语言。
总结
如你所见,在后端服务器开发领域,Java在不同方面与许多语言竞争。对于轻量级服务器,人们可以选择Python、node.js或PHP。对于大型高性能服务器,人们可以选择c,Go语言比Java更强大,语法更简单,并发性能更高,背后是Google Dad。所以在这个领域,Java面临着很大的竞争压力。
3.2 Android应用程序开发
Java已经是Android应用开发非常成熟的解决方案。目前大部分安卓应用都是用Java写的。很多安卓程序员也学Java。但是,随着新语言的不断引入和Android应用开发方式的演变,Java不再是Android开发的首选。例如,以下语言是受欢迎的选择。
3.2.1 Kotlin成为Android开发的首选语言。
在2019年的Google I/O大会上,Google正式宣布Kotlin编程语言现已成为Android应用开发者的首选语言。Java主宰Android开发的日子已经一去不复返了。Kotlin可以编译成Java字节码,可以在JVM上运行,也可以编译成JavaScript在没有JVM的机器上运行。Kotlin语言比Java更安全、更简洁。有了谷歌爸爸的好评,未来的发展前景可期。
3.2.2 Flutter框架和Dart语言
这两个东西是谷歌最近推出的。Flutter是一个全新的移动UI框架,用于帮助开发者在iOS和Android平台上构建高质量的原生应用。Dart是Google开发的一种全新的计算机编程语言,而Flutter是用Dart语言开发的。Fuchsia是Google开发的全新操作系统,Flutter是Fuchsia的开发框架。Flutter写的代码可以同时在IOS和Android两个平台上生成应用,所以Flutter框架正在流行。
3.2.3大前端时代的H5应用
随着时代的发展,现在的前端不再仅仅是写网页,而是逐渐发展成为一个大前端。web的普及,Android和IOS包揽一切,H5应用就是一个例子。大家应该发现,手机上开始出现用前端语言开发的快应用和小程序。这些应用都是用HTML,JS,CSS开发的,不用Java。相比之下,H5应用轻量级,启动快,跨平台,用户体验逐渐接近原生应用的流畅度。所以有流行趋势。
总结
本节介绍Android开发的现状。Java作为Android开发的首选语言,正面临着Kotlin、Flutter、Dart等新开发语言的挑战。与此同时,随着Android应用开发中H5应用的趋势,前端语言正逐渐进入Java的领地。
四。Java不擅长的领域
4.1前后端分离和JSP的衰落
JSP曾经是一项热门技术,Java也曾对其寄予厚望,希望通过JSP技术占领web应用领域。但是随着网页开发的日益复杂,用JSP开发网页非常麻烦,前端和后端混在一起,导致开发效率低下。于是前端和后端开始分离,JSP这种运行在服务器端的web程序慢慢退出舞台。
4.2 C#和。NET占领桌面程序网站
Java也被广泛用于开发桌面客户端,Swing framework就是一个众所周知的GUI框架。但是,曾经想干掉Java的微软开发了C#语言。C#已经成为Java的竞争对手,C#在编写运行在Windows上的桌面应用方面更有优势。虽然用Java编写的桌面应用可以跨平台随处运行,这对于程序员来说当然是好事,但是对于用户来说,在Windows上运行一个Java程序,安装JRE是非常麻烦的。而且,Java桌面程序运行起来比C#程序慢。因此,C#和。NET逐渐占领了桌面应用程序的市场。
4.3 C/C主动嵌入式系统领域
Java曾经是为开发嵌入式系统而设计的。但是Java程序员不能直接操作硬件,Java是一种比较重的语言,对内存等硬件资源不友好,执行效率比较低。而在嵌入式系统中,往往只有少量的内存空间,但对运行效率的要求很高。所以在嵌入式领域,C语言甚至汇编语言更占优势。
4.4总结
本节重点介绍Java不擅长的领域。如你所见,Java最著名的特性“一次编写,随处运行”也成为了它最大的缺陷:在执行效率上无法做到精益求精。所以在桌面应用和嵌入式系统中,Java并不是王者。随着时代的发展,前后端的分离,JSP也被时代抛弃了。
动词(verb的缩写)摘要
综上所述,相信你对Java语言已经有了比较全面的了解,你也看到了Java背后的所有人,各种高级语言和新技术层出不穷,你死我活。作为世界上最流行的编程语言,Java仍然在各个领域发挥着重要的作用。Java的强大之处在于它的无所不能。几乎没有什么是Java做不到的,但并不是所有的都是最好的。我们也可以看到很多竞争对手在不同方面都优于Java。
但是,写这篇文章的目的并不是比较每种语言的优缺点。每种语言都有自己的优缺点,我们不必因为某一种语言更好就突然改变语言。总而言之,语言只是一个工具,各种语言在语法上并没有太大的区别,背后的原理也大同小异,往往只有几个新特性,语言背后的编程思维才是最重要的。
不及物动词参考
2020年4月TIOBE指数
十分钟就能给你展示Oracle最新的JVM技术,——GraalVM。
第一次见Node.js时Node和java作为后台服务器的对比
使用HTML5开发应用程序
Java失宠,Google宣布Kotlin现在是Android开发的首选语言。
Flutter开发的Dart语言基础
为什么很少有人用jsp技术,这个曾经很美好的技术?
Java应用最广泛的10个现实领域
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。