首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kotlin语言入门之-Kotlin是什么?

==========================

Google在去年的i/o大会上宣布,Kotlin正式成为Android开发的官方语言,那究竟什么是Kotlin?

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。

Kotlin可以编译成Java字节码,也可以编译成JavaScript,方便在没有JVM的设备上运行。

JetBrains,作为目前广受欢迎的Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

其基础编译器(他们将其改为kompiler——开创了一系列以K字打头的用语——甚至连 contributors 这类词他们也用改成了kontributors)可以被独立出来并嵌入到 Maven、Ant 或 Gradle 工具链中。这使得在 IDE 中开发的代码能够利用已有的机制来构建,从而尽可能的减少了在新环境中使用所受的干预,哪怕与那些没有安装 Kotlin 插件的开发人员一起合作项目也没有问题。

The IntelliJ Kotlin 插件扩展了 Java 编译器使得 Kotlin 代码能够得以编写、编译和调试。除此之外,关于基本的 Java 集合,已经有编写好的帮助函数,可以更顺畅地衔接将在 Java 8 中出现的集合扩展。

有两篇文章对 Kotlin 与 Java 以及 Kotlin 与 Scala 分别进行了比较,对各自特性和异同进行了对比。即便 Scala 可能还是更为强大些,Kotlin 还是尝试着提供比 Java 更好的函数、模式匹配、空指针预防和泛型。该语言同时也支持特征(traits)和模式匹配。

Kotlin 插件将在 IntelliJ(虽然提前使用计划已经演示了可用的构建,而 Kotlin 的快照构建也可以通过 JetBrains GitHub 网页得到,不过它还是要等到)未来发布的版本中才能使用。但是,你现在就可以在基于 web 的演示中体验使用该语言,通过你的浏览器来编辑 Kotlin 代码、编译并运行感受一下。

Kotlin,类似 Xtend 一样,旨在提供一种更好的 Java 而非重建整个新平台。这两种语言都向下编译为字节码(虽然 Xtend 是首先转换成相应的 Java 代码,再让 Java 编译器完成繁重的工作),而且两者都引入了函数和扩展函数(在某个有限范围内静态地增加一个新方法到某个已有类型的能力)。Xtend 是基于 Eclipse 的,而 Kotlin 是基于 IntelliJ 的,两者都提供无界面构建。能够首先演变到其他 IDE 的语言有可能成为最后的赢家。

上边摘选自网络,看着比较官方,作者的通俗理解是:

(1)Kotlin是一门不仅能够和Java混合开发而且能够独立开发android应用的新兴语言。对于Android开发者来说,在Android Studio中就能直接使用该语言。

(2)Kotlin是在2010年由JetBtains推出的基于JVM的语言,JetBtains称该语言能够避免JAVA语言的一些缺陷或者说能够能避免开发者常犯的一些错误如空指针异常等;

(3)Kotlin是一个和 Java一样跨平台的语言,相比于 Java,Kotlin 有着更好的语法结构,安全性和开发工具支持。

(4)Kotlin 中没有基础类型,数组是定长的,泛型是安全的,即便运行时也是安全的。此外,该语言支持闭包,还可通过内联进行优化。不过,它不支持检查异常(Checked Exceptions),许多语言设计者认为这是它的瑕疵。不论如何,重要的是 Java 和 Kotlin 之间的互操作性:Kotlin 可以调用 Java,反之亦可。这个特性能够让我们在使用AndroidStudio开发应用的过程中同时混合使用两个语言;

(5)目前Kotlin正式发布的最新版本为1.0,被称为Android的Swift语言,Swift精简了Object语言,而Kotlin 是Java语言的精简;

(6)Kotlin的官方网站是:http://kotlinlang.org/

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181109G16Y9T00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券
http://www.vxiaotou.com