Java或将被Kotlin取代?现在学Kotlin还来得及吗?

如何评价 Kotlin?未来是否会取代 Java 前言 有人说,Kotlin 即将取代 Java。十几年来,很多编程语言都想取代 Java,但它依然屹立在浪潮之巅,凭啥这次是 Kotlin 呢?和 Java 相比它有哪些优势?谷歌为什么钦点它作为 Android 官方编程语言?想解开这些问题,这个回答会带你去源头看一看。 相信不少人应该听说了,谷歌宣布 Kotlin 是 Android 应用程序开发人员的首选语言。前几天,谷歌又一次重申了对 K... 阅读详情

当您考虑Android时,Java可能是第一个让您想到的编程语言,但您不必使用Java进行Android开发。 您可以使用多种不同的编程语言编写Android应用程序,包括C#,Lua,C / C ++,JavaScript,Scala和Clojure,但是有一种替代编程语言,特别是自今年的Google I /O以来一直受到大量关注。

 

Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也可以被编译成为JavaScript源代码。它主要是由俄罗斯圣彼得堡的JetBrains开发团队所发展出来的编程语言,其名称来自于圣彼得堡附近的科特林岛。

从3.0预览版开始,Android Studio内置了Kotlin支持,因此创建一个了解Kotlin代码的Android项目就像在Android Studio的项目创建向导中选择一个复选框一样简单。

这条消息引起了很多关注,并引发了一场Kotlin与Java的争论。 你最近有机会读到很多关于Kotlin的积极的事情,但是如果你确实从Java切换到Kotlin,那么你到底获得了什么? Kotlin有什么功能,Java没有,反之亦然?

 

在本文中,我们将讨论Kotlin与Java之间的所有主要差异,包括一些如果你转移到Kotlin就会牺牲的功能。

Kotlin vs Java,后者提供了更简洁的代码 - 没有findViewByIds

如果你比较一个Kotlin类和一个执行相同工作的Java类,那么Kotlin类通常会更加简洁,但是特别是Kotlin可以严重减少你需要编写的样板代码量的一个领域:findViewByIds。

Kotlin Android Extensions允许您将对View的引用导入Activity文件,此时您将能够使用该View,就像它是Activity的一部分一样。 结果? 您永远不必再次编写另一个findViewById方法!

 

在使用这些扩展之前,您需要在模块级build.gradle文件中添加一个额外的插件(apply plugin:'kotlin-android-extensions'),但之后您就可以开始导入视图。

默认情况下,Kotlin是null安全的

NullPointerExceptions是Java开发人员沮丧的巨大根源。 Java允许您为任何变量赋值null,但是如果您尝试使用具有空值的对象引用,那么请自行尝试遇到NullPointerException!

在Kotlin中,默认情况下所有类型都是非可空的(无法保存空值)。 如果您尝试在Kotlin代码中分配或返回null,那么它将在编译时失败。这使得几乎不可能在Kotlin中遇到NullPointerExceptions - 事实上,如果你遇到这个异常,那么很可能是因为你明确要求Kotlin抛出一个,或者NullPointerException来自外部Java代码。

扩展功能

Kotlin为开发人员提供了扩展具有新功能的类的能力,如果有一个你总觉得缺少一个重要方法的课程,这是理想的!

这些“扩展函数”在Java中不可用,尽管它们可用于其他可用于Android开发的编程语言,例如C#。没有经过检查的例外情况

Kotlin没有检查异常,因此您不需要捕获或声明任何异常。

这是否会吸引您使用Kotlin,或者您希望坚持使用Java将取决于您对已检查异常的看法,因为这是一个划分开发人员社区的功能。 如果您厌倦了尝试/捕获块使Java代码混乱的问题,那么您会对这一遗漏感到满意,但是如果您发现经过检查的异常会鼓励您考虑错误恢复并最终推动您创建更强大的功能 代码,那么你更有可能将这看作是Java比Kotlin更具优势的领域。

可与Java互换

在讨论是否使用Kotlin或Java进行Android开发时,您应该意识到还有第三种选择:同时使用两者。尽管两种语言之间存在差异,但Java和Kotlin是100%可互操作的。您可以从Java调用Kotlin代码,并且可以从Kotlin调用Java代码,因此可以在同一个项目中并行使用Kotlin和Java类,并且所有内容仍然可以编译。

当您开始使用Kotlin时,这种在两种语言之间移动的灵活性非常有用,因为它允许您逐步将Kotlin引入现有项目,但您可能也希望永久使用这两种语言。例如,您可能希望在Kotlin中编写某些功能,并且您发现某些功能更容易用Java编写。由于Kotlin和Java都编译为字节码,你的最终用户将无法知道你的Java代码在哪里结束,并且Kotlin代码开始了,所以没有理由你不能发布一个由Java和Kotlin组成的应用程序码。

如果您想自己尝试Kotlin,那么只要您安装了Android Studio 3.0预览版或更高版本,就可以通过以下几种方式开始使用。

 

 

 

正如你所看到的,有很多很好的理由喜欢Kotlin和Java,但是Java有几个领域占优势。 可能Kotlin与Java辩论不会很快解决,两者都有其自身的优点。 那么,你是要转向Kotlin,还是觉得Java仍然是Android开发的最佳选择?

Google Coral也颇受开发者关注。在今年的5月份Google I/O大会上,Google用了一个专门的session向所有的开发者再次详细地介绍了Coral。除了介绍Coral的性能以及其硬件开发产品,Google还在大会上介绍了基于Coral硬件(Coral Dev Board),由国内团队开发出的移动端App——Model Play。据悉,Model Play 是面向全球 AI 开发者的 AI 模型共享市场。

 

Model Play 不仅为全球开发者提供了 AI 模型展示交流的平台,更能搭配含 Edge TPU 的 Coral Dev Board 进行使用,加速 ML 推理,通过手机实时预览模型运行效果,助力 AI 由原型向产品拓展。

Kotlin能否取代Java(kotlin的历史以及现状) Kotlin的简介以及与Java的一些比较 阅读详情

相关推荐

别扯了,Kotlin真是项目开发必备吗

别扯了,Kotlin真是项目开发必备吗

Android23333的博客 906

javakotlin哪个更值得,Kotlin可以不java

可以,但是kotlin毕竟是基于jvm的,会javakotlin会有帮助,尤其是如果你向从事安卓开发的话,毕竟目前安卓的核心类库是java写的,以后会不会移植到kotlin不好说,所以还是java先吧。1、个人建议java,比如你不懂Java,如何比较跟理解static与伴生对象﹖你要调用Comparator你会不会一脸懵逼? Data Class转成的Java 代码你会不会分析? ...

weixin_35698035的博客 5286

颠覆Android开发行业未来,让Kotlin成为您的新宠

Kotlin受到了许多现代编程语言的影响,如Swift、Scala、Groovy和C#,它被认为是一种功能强大、直观易用、安全可靠的编程语言。此外,Kotlin的语法简洁易懂,与Java的互操作性良好,也让许多Java开发者更容易地转向KotlinKotlin的开发者JetBrains公司还在不断推进Kotlin的发展,包括开发新的语言特性、优化编译器、扩展Kotlin在不同平台间的应用等。总之,Kotlin的前景看好,它正在成为一门强大而广泛应用的编程语言,将继续在不同领域得到更广泛的应用和发展。

m0_71524094的博客 1055

做了五年Android开发,还有必要Kotlin吗?

自 2017 年 KotlinGoogle 认证为 Android 开发官方编程语言后,最常提及的一个问题:是否应该Kotlin 进行 Android 开发?相比传统 Java 语言有什么优势? 如今答案十分清晰了 —— 这几年,Google 大力发展基于 Kotlin 的 Androidx 库、Jetpack 库、Compose 库,很多新特性都是为 Kotlin 优化的。可以说,不懂 kotlin,今后在 Android 开发领域标准库的发展上将很受阻碍,Android 开发由 Java

Android23333的博客 3930

Kotlin语言未来的发展前景怎么样?使用Kotlin开发的感受

Kotlin 是一种在 Java 虚拟机上运行的静态类型编程语言,被称之为 Android 世界的Swift,由 JetBrains 设计开发并开源。Kotlin 可以编译成Java字节码,也可以编译成 JavaScript,方便在没有 JVM 的设备上运行。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言。Android程序员使用Kotlin语言的真实感受使用Kotlin语言已经两年了!

bugyinyin的博客 703

kotlinjava代码_Java将被Kotlin取代?现在Kotlin还来得及吗?

当您考虑Android时,Java可能是第一个让您想到的编程语言,但您不必使用Java进行Android开发。 您可以使用多种不同的编程语言编写Android应用程序,包括C#,Lua,C / C ++,JavaScript,Scala和Clojure,但是有一种替代编程语言,特别是自今年的Google I /O以来一直受到大量关注。Kotlin是一种在Java虚拟机上运行的静态类型编程语言,它也...

weixin_39872123的博客 178

Kotlin 势必取代 Java

作为 Android 开发的两大编程语言,老将 Java 和新秀Kotlin正呈现出分庭抗礼之势。那么在两者之间抉择时,孰胜孰劣? 作者 |Anchal Malik 译者 |胡雪蕊,责编 | 郭芮 出品 | CSDN(ID:CSDNnews) 以下为译文: 对于企业来说,目前的Android开发面临着许多挑战,尤其是选择哪种技术用于开发最好的Android应用程序。Kotl...

CSDN资讯 1万+

Kotlin真的会取代JAVA吗?

自从Kotlin 成为 Android 开发一级语言,Kotlin确实以其实用,高效赢得了海外很多公司和开发者的认可,比如Square的Jake大神一直在推KotlinKotlin在国外至少有将近2年的应用生产环境的实践(非JetBrains内部实践应用)。在移动开发中,相比iOS程序员,Android程序员总是很幸运,因为我们有很多优秀好用的工具(Android Studio等),选用Kotlin,则是Google 为开发者提供高效的开发工具的一贯作风。

Gamay的博客 5796

Kotlin取代 Java 吗?

作者 |Paresh Sagar译者 |安翔责编 | 伍杏玲出品 |CSDN(ID:CSDNNews)当谈到 Android 应用程序开发时,哪种编程语言会首先出现...

CSDN资讯 5271

为什么要Kotlin?Kotlin的未来趋势怎么样?会取代java吗?

第一章 Kotlin协程的基础介绍 协程是什么 什么是Job 、Deferred 、协程作用域 Kotlin协程的基础用法 第二章 kotlin协程的关键知识点初步讲解 协程调度器 协程调度器 协程启动模式 协程作用域 挂起函数 第三章 kotlin协程的异常处理 协程异常的产生流程 协程的异常处理 第四章 kotlin协程在Android中的基础应用 Android使用kotlin协程 在Activity与Framgent中使用协程 ViewModel中使用协程 其他环境下使用协程

xiaokangss的博客 1198

【送书第三期】强势挑战JavaKotlin杀回TIOBE榜单Top 20!Kotlin看哪些书?

Java一样,Kotlin也是用于Android应用程序开发的编程语言,是Android官方支持的第二种编程语言。2016年Kotlin正式发布,在Android“官宣”后曾在2017年进入TIOBE编程语言排行榜前20,这次回归用了5年多时间。如果说第一次上榜是靠“蹭热点”,那么这次上榜完全是“凭实力”。Kotlin几乎在所有方面都胜过Java。反对Kotlin的主要论点是Java是一种更成熟的语言,因此有更多的程序员、书籍、培训课程、库等。让我们看看Kotlin能否在未来几个月保持前20名的位置。

7566

为什么kotlin越来越受欢迎?为来kotlin会不会取代java,值不值得习?

虽然 Kotlin 在某些领域和开发者中越来越受欢迎,但 Java 仍然是一种广泛使用的编程语言,具有庞大的生态系统和长期的历史。无论你选择Kotlin 还是继续专注于 Java,持续习和不断提升自己的编程技能都是至关重要的。编程语言是不断发展和变化的,保持对新技术的关注并适应市场需求的变化将有助于你在软件开发领域取得成功。无法确定 Kotlin 是否会完全取代 Java,但Kotlin 对于开发者来说仍然是有价值的。

LIUCHANGSHUO的博客 1255

秒懂KotlinJava程序员如何快速掌握Kotlin

Kotlin/JVM 可以看做是对改进Java的一种积极的尝试,其试图改进Java的已知的被广泛讨论的缺点。 关于KotlinJava的爱恨情仇此处按下不表,等有机会单独写一篇相关文章。此文仅从Java惯用者的角度给出使用Kotlin的一些建议,这往往是Java惯用者迅速掌握Kotlin至关重要的方面。 本文主要着眼于KotlinJava在语法上差异,便于Java惯用者快速上手Kotlin。 基于Kotlin 1.4.0 版本 通用差异 Kotlin中的方法和属性可以不存在于类中 我们知道,Jav

ShuSheng007的程序人生 4412

Android 开发中 Kotlin取代 Java 吗?

作者简介:ASCE1885,《Android 高级进阶》作者。微信公众号:asce1885小密圈:Android高级进阶,详情见这篇文章。Github,简书,微博,CS...

ASCE1885 503

Kotlin者】为什么要Kotlin

Kotlin不仅支持编写代码在虚拟机上运行,而且还是一门垮平台的通用型语言,我们可以用Kotlin开发各种类型的原生应用,如Android、macOS.Windows、Javascript应用。能不能成为全栈工程师就看这波了。

帅次的博客 2450
上一篇: 程序员在吗?三分钟了解机器学习与深度学习!
下一篇: 谷歌推出Kotlin欲替代Java,Java时代终将落幕吗?
钛灵科技
博客等级 码龄9年 152粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值