Kotlin语言1.0Beta发布,JetBrain介绍其设计理念

KotlinJetBrains开发的现代编程语言,可运行于JVM环境同时也能用来开发Android应用。它的1.0Beta版本已经发布,这里是新版本的特性列表;

\\

Kotlin起源与设计理念

\\

2010年,长达是十年之久的Java开发让JetBrains的工程师认为老旧的Java语言已经严重阻碍了生产力。他们认为是时候开发一款现代化的JVM语言了,这也是因为他们有足够的资源和专家。本身做各种IDEs起家的JetBrains就开始着手新工具的开发——一个编程语言。

\\

开发新语言有诸多因素需要考虑:首先之前的代码几乎全部用Java编写,所以要考虑平滑迁移的需求;新语言在生产力方面要有巨大提升;同时它要易于学习和理解。这样的工程牵扯到许多方面,不可能从一开始就满足所有需求。这就是为什么他们对核心设计选择进行了一段时间实验和验证,方式是持续收集JetBrains内部和外部的早期使用者的反馈报告,并根据反馈作出进一步的调整。

\\

JetBrains已经在Intelli IDEAYouTrack和其它产品中使用Kotlin有一段时间了。也有一些产品完全使用Kotlin(account.jetbrains.com)编写.Kotlin语言已经达到可与Java自由透明交互的地步,Kotlin可以通过versa调用Java方法,源码可在同一项目中混合使用,甚至生成的.class文件完全兼容Java工具。JetBrains内部现在已经有一个超过20个开发人员的团队使用Kotlin开发。

\\

目前已经有大量的开发人员使用Kotlin开发web服务后端和Android应用。下面是GitHub中的公开仓库中Kotlin代码行数的变化:

\\

8ecc49b01c41eecfaf56803bff482548.png

\\

Kotlin初印象

\\

根据JetBrains开发人员自己的经验和外部用户总结的对Kotlin的印象有:

\\
  • 更少代码量\\t
  • 高可读性\\t
  • 跟高的类型安全性\\t
  • 更高的表现力\\t
  • 同工具的交互操作流畅\

Beta版本的意义

\\
  • 正在准备发布官方正式版本相关工作\\t
  • 二进制格式已经完成\\t
  • 主要的语言变化已经完成\

兼容性

\\

Kotlin会很快发布正式版。在开发之初JetBrains就承诺了流畅的用户体验,这当然也包括Kotlin语言版本的兼容性。1.0版本之后语言的所有变化都将是后向兼容的:

\\
  • 新版本的编译器将兼容旧版本二进制文件,但旧版编译器或许不能兼容新的二进制文件,就像javac 1.6不能读取javac 1.8 编译的classes文件。\\t
  • 旧版本二进制文件将能够和新版本二进制文件一起在runtime一起运行,但新版本代码可能需要新的依赖。\

以上的所有特性仅保证支持JVM/Android平台。

\\

关于Kotlin的一些事实

\\
  • 它是开源的(在Apache 2.0 许可证下):编译器、运行时库和所有的工具,包括IDE。\\t
  • 它提倡函数式编程风格(同时也是一个多范式语言)\\t
  • 它是静态编译的,相较于Java它没有运行时开销。\\t
  • 它通过Quasar支持高效安全的并发。\\t
  • 它和IntelliJ IDEA是绑定的(最终版和OSS社区版也是),同时也是开箱即用的。\\t
  • 它有Android Studio、Eclipse、Maven、Gradle和Ant插件(更不用说IntelliJ IDEA和TeamCity)。\\t
  • 它有REPL。\\t
  • 它有一个活跃和有帮助的社区,提供有用的库。\\t
  • 目前已经有两本关于它的书出版了:Kotlin in ActionKotlin for Android Developers。\

迁移

\\

目前为止基本所有的Java或Android框架或库都能平滑地和Kotlin一起工作。当然还有像Spring MVC、Vaadin和Jackson等等其它框架和库。Kotlin也有由JetBrains和社区开发的自己的框架和库。比如:AnkoRxKotlinfunKtionalekohesivekovenantKobalt构建工具等等

\\

学习

\\

学习资料链接:KoansPlayground介绍语言文档

\\

安装方法: * IntelliJ IDEA 15高级版或者社区版):直接在创建一个Kotlin项目或在Java项目中创建Kotlin文件。 * **Android Studio:通过插件管理器安装插件。 * Eclipse:通过MarketPlace安装插件。 * 命令行:下载编译器

\\

社区:ForumSlackget invite)、StackOverflowGitHub(欢迎PRs)。

\\

新闻:博客Twitter

\\

问题追踪

\\

感谢徐川对本文的审校。

\\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群06e1fec4a87eca3142d54d09844c629f.png)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值