Skip to content
This repository has been archived by the owner on Apr 13, 2023. It is now read-only.

Latest commit

 

History

History
97 lines (76 loc) · 8.02 KB

The Kotlin Language 1.0 Beta is Here!.md

File metadata and controls

97 lines (76 loc) · 8.02 KB
title date author tags keywords categories reward reward_title reward_wechat reward_alipay source_url translator translator_url
[译]The Kotlin Language: 1.0 Beta is Here!
2015-11-02 10:44:00 -0800
Andrey Breslav
官方动态
false
Have a nice Kotlin!

我们非常高兴为 JVM 和 Android 提供Kotlin 1.0 Beta! 总结: Kotlin 是一种现代编程语言 JetBrains 现在已经有一段时间了。 这篇文章概述了我们在哪里和接下来会发生什么。列出了此版本中的更改 这里

Kotlin 背后的故事

Kotlin 是在 2010 年设想的。十年的 Java 开发使我们感到,JetBrains 的生产力可以通过与 Java 一起使用现代的 JVM 语言来显着提高。在评估了其他可用选项后,我们决定在那里需要一种新的语言,我们有专门知识和资源来创建这样一种语言。我们的主要业务是为开发人员制作工具,其指导原则是,为用户制作出令人敬畏的产品的最佳方式是制作一个我们需要的真棒工具。这与 IntelliJ IDEA,ReSharper 和许多其他 IDE 以及 TeamCity 和其他服务器产品配合使用,因此我们开始将另一个开发工具 - 一种编程语言应用于相同的原理。 我们将 Kotlin 设计为行业的现代语言,并且具有相当的具体要求。首先,我们的项目活得很长,成长真的很大(数百万行代码),所以我们需要静态打字,以便能够准确地说明巨大的代码库并保持这些年。然后,我们的所有代码都是用 Java 编写的,所以我们需要一个平滑的迁移路径,其中新语言可以逐渐引入现有的 Java 代码库,影响其他代码尽可能少。另外,作为 JetBrains,我们不想在工具质量上妥协:我们正在寻找一种新的语言来使我们更有效率,而且我们相信这大部分取决于工具。最后,我们需要一种易于学习和理解的语言:在我们的团队中,我们不会将“图书馆用户”与“图书馆用户”分开,我们希望我们所有的开发人员能够与他们正在使用的语言 这样的一个项目涉及做出很多决定,从一开始就知道,第一次尝试是不可能的。这就是为什么我们允许相当长的时间进行核心设计选择的实验和验证:由于 JetBrains 内部和外部的早期采用者正在使用它们,我们不断收集反馈并进行更改(非常感谢我们的社区对您的所有评论人们给了我们!)。这给了我们对广泛使用案例的重要见解,现在我们相信我们可以在 1.0后保持向后兼容性。 JetBrains 一直在使用 Kotlin 生产 IntelliJ IDEAYouTrack 和其他产品现在相当长的时间。我们现在有超过250'000 LOC 的 Kotlin LOC()(加上大约在 Kotlin 项目 本身)。虽然我们的一些项目完全是写在 Kotlin( account.jetbrains.com ),其他人已经将其引入现有的 Java 代码库,正如我们最初计划的。我们达到了互操作性水平,自由地将 Kotlin 与 Java 一起放在 Java 客户端是透明的:Java 可以从 Kotlin 调用,反之亦然,源可以混合在一个项目中,从而导致.class文件完全兼容使用 Java 工具。 Kotlin 正在为我们服务,我们致力于发展超过 20 人的团队。 尽管尚未达到 1.0,但其他公司和个人开发人员已经将 Kotlin 从生产中使用,从网络服务后端到 Android 应用。我们有报告 ExpediaPrezi.com 等等 (请随时通过提交 PR 将您的公司添加到此列表中)。 到目前为止,GitHub 开放存储库中的 Kotlin 代码行数量呈指数级增长(JetBrains 的项目被排除在外):

{% raw %}

Kotlin GitHub LOC

{% endraw %}

什么 Kotlin 感觉像

从我们自己的语言经验和从我们听到的许多外部用户这里是什么使用 Kotlin 感觉像:

  • 它的代码较少,
  • 更好的可读性,
  • 更安全,
  • 更具表现力,
  • 平滑的工具和互操作经验。

什么是测试版?

在生产中积极使用时,Kotlin 现在处于 Beta 状态。这对你意味着什么

  • 我们正在把准备工作正式发布;
  • 二进制格式定稿;
  • 所有主要的语言变化都已经完成。

兼容性

Kotlin 将不会停留在 Beta 版,1.0 即将来临。 我们致力于平滑用户体验,这包括 Kotlin 版本的兼容性。 1.0 之后,所有对语言和库的更新将是向后兼容

  • 较新的编译器将使用较旧的二进制文件(但较旧的编译器可能不了解较新的二进制文件,如 javac 1.6 无法读取由 javac 1.8 编译的类);
  • 较旧的二进制文件将在运行时继续使用较新的二进制文件(尽管更新的代码可能需要较新的依赖关系)。

上述所有内容仅适用于 JVM / Android 支持。 JavaScript 支持现在仍然是实验性的,稍后会有自己的发行版。

关于 Kotlin 的几个事实

  • 它是开放源代码(在 Apache 2.0 许可证下):编译器,运行库和所有工具,包括 IDE;
  • 它促进编程的功能风格(同时是多范式语言);
  • 它是静态编译的,与 Java 相比,不会引入运行时开销;
  • 它通过 Quasar 支持高效和安全的并发;
  • 它与 IntelliJ IDEA 15(Ultimate 和 OSS 社区版)捆绑在一起,可以开箱即用;
  • 它具有 Android Studio,Eclipse,Maven,Gradle 和 Ant 的插件(更不用说 IntelliJ IDEA 和 TeamCity);
  • 它有一个 REPL;
  • 它有一个积极和有益的社区,正在生产令人敬畏的图书馆;
  • 写了两本书:Kotlin in Action 和 Kotlin for Android Developers。

框架,互操作和迁移

任何 Java 或 Android 框架或图书馆几乎可以与 Kotlin 平滑地工作**。其中包括 Spring MVC*,Vaadin*,杰克逊*。许多 Android 框架需要通过 Kotlin 可用的注释处理 kapt 它支持Dagger 2DataBindingDBFlow,* ButterKnife*,AndroidAnnotations等。 Kotlin 拥有由 JetBrains 和社区开发的自己的框架和库。一些例子: 安科RxKotlinfunKtionalekohesive约柜科巴尔特 构建工具和 多得多 。 内置 IDE 的转换器有助于将源代码从 Java 迁移到 Kotlin。

尝试一下

  • 学习:Koans / Playground /,教程,语言文档
  • 安装

IntelliJ IDEA 15(终极或社区):只需在 Java 项目中创建 Kotlin 项目或 Kotlin 文件 Android Studio:通过插件管理器安装插件 Eclipse:通过 Marketplace 安装插件 命令行:在这里下载编译器

  • IntelliJ IDEA 15(终极或社区):只需在 Java 项目中创建 Kotlin 项目或 Kotlin 文件
  • Android Studio:通过插件管理器安装插件
  • Eclipse:通过 Marketplace 安装插件
  • 命令行:在这里下载编译器
  • 社区:论坛,Slack(获取邀请),StackOverflow,GitHub(欢迎公关)
  • 新闻:博客,Twitter
  • 问题追踪器

有一个漂亮的 Kotlin!