kotlin能取代java吗

不,Java不会被取代的,因为它是许多应用程序的主要开源语言。有庞大的用户群和代码库。

Kotlin编译为在JVM上运行的字节码;它取决于Java类库。它们的互操作性意味着Java不会被取代。此外,Google I / O的公告表明Kotlin正在被添加到Android生态系统中,而不是取代Java。


我更想有体系地来审视。

首先,Kotlin是什么?

自Kotlin发行以来,Java社区的人们一直担心Java将来会过时。但是,这种新的编程语言到底是什么?

Kotlin是在Java虚拟机(JVM)上运行的静态类型编程语言。它的开发始于2010年的JetBrains,但是直到2016年,才发布了第一个稳定版本(Kotlin v1.0)。

到Kotlin v1.0发行时,Kotlin在Android开发人员社区中迅速发展起来,其使用的插件已用于大多数IDE。

Google宣布Kotlin是Android开发的官方支持语言之前,Java是开发Android应用程序的流行语言。

打造出Kotlin的原因

当JetBrains决定开发Kotlin时,他们认为大多数编程语言都没有他们想要的功能。但是,JetBrains的负责人Dmitry Jemerov表示Scala接近但编译速度较慢。

Kotlin旨在像Java一样快地进行编译,但是比Java具有更简洁,更实用的语法。就像Java以印度尼西亚的岛屿命名一样,Kotlin也以圣彼得堡附近的Kotlin岛命名。JetBrains的团队希望Kotlin将推动其IntelliJ IDEA的销售和增长。

在2016年首次稳定发布Kotlin v1.0之后,在2017年11月推出了Kotlin v1.2。添加了诸如在JVM和Javascript之间共享代码等功能。Kotlin旨在成为一种工业级的面向对象的语言,其语法比Java更好,同时仍可与Java代码完全互操作。这意味着您可以在Java代码中编写Kotlin代码-允许应用程序逐渐从Java迁移到Kotlin。

Kotlin的优点

  • 简洁的语法;开发Kotlin的原因之一是使用一种语言,其样板代码更少。Kotlin的语法比Java短,从而使开发人员可以更快地开发其应用程序。它比Java所需的编码少大约20%。此外,使用简洁的代码和更少的代码编写,可以减少错误,从而减少调试工作。
  • 与Java的互操作性;Kotlin和Java类可以存在于同一项目中。兼容性至关重要,因为Kotlin仍在开发中,其下没有那么多的库和框架。互操作性可以将高级Java库和框架添加到Kotlin项目中,而不必将项目更改为Java。同样,我们可以将Kotlin代码添加到现有的Android Studio Java项目中,而无需在Kotlin中重写整个应用程序。
  • 可同时利用两种范式; 每个编程范例都有其优点和缺点。具有能够同时利用两种范式的优势的语言是一个加号。Kotlin在这一领域大放异彩,可以编写满足这两种范例的函数。
  • 避免了空问题;困扰Java的一个主要问题是可空性,那就是没有价值。因此,我们必须使用许多空指针异常try-catch短语,以防止我们的应用程序意外出现“应用程序无响应”错误。当我喜欢编写Android应用程序时,可空性使我感到困扰。幸运的是,Kotlin通过在其类型系统中包含null来解决此问题,因此我们可以编写代码而不必担心null解决方法。
  • 类型安全;Kotlin是类型安全的,具有可选类型,每个类都是一个函数,每个函数都是一个类。所有这些都有助于进行安全检查。
  • 从Java切换到Kotlin很容易;尽管没有必要将应用程序的Java代码切换到Kotlin,但转换非常容易。在Android Studio中,您只需要安装Kotlin插件,将其添加到Gradle插件中,然后单击convert。
  • 可维护性,支持和可靠性;Kotlin由技术领域的主要参与者构建并提供支持。JetBrains制造了一些最智能的IDE,当然还有Google,这是Android背后的力量。因为是久经考验的真正开发工具,所以生产率和满意度更高。在2016年首次稳定发布之前,Kotlin已经通过了一系列Alfa和Beta阶段测试,成为一种高度可靠的语言。

Kotlin的缺点

  • 学习资源有限的小型开发者社区;如果有一件事对于学习一种新语言至关重要,那就是拥有一个庞大的社区来提供支持和学习材料。Java已经存在了数十年,拥有庞大的开发人员社区以及大量的学习资源。仅通过Stack Overflow即可轻松找到编码Java时可能出现的任何问题的答案。Kotlin是一种相当新的语言,要找到可能出现的问题的解决方案并不容易,因此使应用程序开发过程变得困难。
  • 编译速度不稳定;尽管Kotlin旨在像Java一样快地进行编译,但有时它的运行速度明显慢得多。但是,我确定JetBrains正在努力修复。
  • 涉及学习曲线;尽管Kotlin是像Java一样考虑到面向对象程序设计的,但两种语言的核心却不同,因此需要时间来学习或培训团队。

Java之与Kotlin

确实,由于受到Google的支持,Kotlin的发展速度很快。并且具有Java简洁的语法。但是,Java已经存在了20多年了,它经得起时间的考验。

Java是一种通用编程语言,它不仅限于机器应用程序。作为一种平台无关的语言,它可以在任何硬件平台或操作系统上运行。Java的多功能性使其可用于开发服务器端应用程序,桌面应用程序,使用Java applet的浏览器应用程序以及嵌入式移动应用程序。

根据编程语言的受欢迎程度排名的TIOBE指数,Java自2011年以来一直位居榜首。

哪些编程领域适合Kotlin?

  • Kotlin旨在改善Java,应该做Java所做的一切。作为开发Android应用程序的官方语言,其主要用于适合于本机Android应用程序的开发。
  • Kotlin还可以编译为Javascript,并且可以创建在启用了Javascript的浏览器中运行的应用程序。可以直接在Intellij IDEA中编写Javascript代码,然后使用Maven或使用命令行进行编译。
  • Kotlinx.html是Kotlin模板引擎,用于在Web应用程序中构建HTML。
  • Kotlin可用于使用简洁明了的代码开发服务器端/后端应用程序。JetBrains提供了Ktor框架,可用于使用协同程序在Kotlin中创建Web应用程序。Spring Java框架使用Kotlin的功能来提供简洁的API。
  • Kotlin可编译为Javascript,因此可用于Node.js的服务器端编码。
  • Kotlin可用于企业应用程序开发,因为它以JVM为目标,就像使用纯Java编码的应用程序一样,并且在性能上可与Java媲美。

哪些编程领域适合Java?

Java已经存在了很长时间,它已经在编程的所有领域中得到了应用。有众多的代码库和框架针对后端,前端,移动和桌面应用程序的任何编码方案。此外,与Kotlin相比,大量的开发人员社区将帮助你在编码或学习Java时进行导航。Java可以在所有设备上运行:手机,Windows,Mac,Linux和电视。


示例代码片段显示Kotlin与Java有何不同

Java的Hello World

class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }

Kotlin的Hello World

package hello fun main() { println("Hello World") }

在Java中创建Android对象(Android应用的一个场景)

public class MyActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main_activity); } }

在Kotlin中创建Android对象(Android应用的一个场景)

class MyActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.main_activity) } }


初学者应该学习Java还是Kotlin?

Java是学习面向对象编程概念的一种语言。Kotlin具有类似的OOP概念,但有所改进。初学者应该学哪种语言,存在争议,因此我将提出一些意见:

Google正在推动Kotlin进行Android开发。由于Kotlin语法简短,已经熟悉Java的开发人员爱上了Kotlin,实际上鼓励了初学者从Kotlin开始。但是,我宁愿鼓励初学者从Java开始。

由于目前为止Kotlin的学习材料不足,因此对于尝试学习Kotlin的初学者来说,这确实令人沮丧。即使像Android Developer网站上的那些教程一样,仍然会将Kotlin示例与Java进行了比较,以帮助阐明这一点。因此,如果没有Java知识,那将会造成混乱。

Kotlin开发人员的工作岗位不如Java开发人员多,因为它仍然是一种不断增长的语言。最后,一旦您了解了Java,将Kotlin添加到您的技能中将非常容易。


最后的结论

Kotlin会取代java吗?目前看来还不会。

关于Kotlin正在取代Java的观点,我认为不会成为现实。Kotlin编译是在JVM之上执行的字节码,因此Java是运行Kotlin所必需的。

的确,得益于Google和JetBrains的支持,将Kotlin用于Android开发已获得了极大的普及。它与Java的互操作性使其成为现有Java开发人员的最佳选择。

像任何编程语言一样,它都有一个学习曲线,而Kotlin还不够完美。好处是,可以在一个项目中轻松使用Java或Kotlin的代码库。

其简洁的语法避免了Java之类的样板代码,因此减少了将要编写的代码量,这只能使其成为任何Android开发人员都值得学习的语言。

本文来自用户投稿,不代表【51考个证】立场,如若转载,请注明出处:https://www.51kgz.cn/32895.html

发表评论

登录后才能评论

评论列表(0条)