个人说:
时至今日Kotlin已正式成为Android官方支持开发语言,想必很多看过我博客的人都知道,我的博客代码只有少部分的java代码,其他大多数都是kotlin书写的.
我个人是从18年开始接触kotlin,那时候是一个组合项目,多人开发,我接触代码的时候,半数以上的内容都是kotlin,那时候本来java就懵懵懂懂的,何况新语言,但是为了工作却不得不学,那时候的kotlin其实也并不是很出名,至少,很多人都不会用,甚至都没见过,别说孤陋寡闻,那时候听说是一回事,去学又是一回事!
后来边看代码边翻学习资料,渐渐地,kotlin对于我来说开始得心应手了,时至今日,kotlin编程我已经学习并使用两年多快三年了,也不能说精通,至少能得心应手的使用了,很早之前我就想写一些关于kotlin的文章,但是怕写不好,所以耽搁很长的时间,最近有人私信我,我的koltin代码有些看不懂,想学习一下,其实吧,kotlin菜鸟教程在百度能搜索到,只要你们边看边学,是很快的,语法之类的跟java基本一模一样!
但是我还是想统筹的写一下kotlin的教程,至少,下次我自己忘了可以不用百度,哈哈哈!
简介kotlin
2011年7月,JetBrains推出Kotlin项目,这是一个面向JVM的新语言 ,它已被开发一年之久。JetBrains负责人Dmitry Jemerov说,大多数语言没有他们正在寻找的特性,Scala除外。但是,他指出了Scala的编译时间慢这一明显缺陷。Kotlin的既定目标之一是像Java一样快速编译。 2012年2月,JetBrains以Apache 2许可证开源此项目。
Jetbrains希望这个新语言能够推动IntelliJ IDEA的销售。
Kotlin v1.0于2016年2月15日发布。这被认为是第一个官方稳定版本,并且JetBrains已准备从该版本开始的长期向后兼容性。
在Google I/O 2017中,Google宣布在Android上为Kotlin提供一等支持。
设计目标
创建一种兼容Java的语言
让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针
让它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。
让它比最成熟的竞争对手Scala语言更加简单。
开放源码
其基础编译器(他们将其改为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 和 Eclipse 中均已能使用。