基于 JVM 的编程语言,Kotlin 1.0 Beta 3 发布

jopen 9年前

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

其主要设计目标:

  • 创建一种兼容Java的语言

  • 让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针

  • 让 它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。

  • 让它比最成熟的竞争对手Scala语言更加简单。

Kotlin 1.0 Beta 3 发布,此版本主要是要完成标准库开发,还有移除一些废弃的语言结构。同时还有一些 bug 修复,性能提升。此版本包括库,语言,IDE 和 Android 扩展方面的改进和修复。详细改进内容请看 发行说明

改进列表:

  • Library

    • increment deprecated in Progressions in favor of step property to Progressions, for-loops updated to refer to step

    • contains() and other similar extensions now accept supertypes of the element of the collection

    • Delegates.mapVal and mapVar, MapVal, MapVar, FixedMapVal, FixedMapVar are deprecated

    • String.toCharArray() introduced instead of String.getChars(); String.toCharList() deprecated

    • MutableCollection.removeAll(predicate: (T) -> Boolean) and similar for retainAll added

    • sequence(initialValueFunction, nextValueFunction) doesn't evaluate first value until it's requested by sequence iterator

    • sequenceOf(Progression) deprecated

    • flatten operation for Sequence<Iterable<...>> added

  • Langauge

    • No references to PropertyMetadata are generated in the byte code

    • Suffixes to numeric literals, such as 1baz are prohibited

    • Comma-separated conditions in when without an argument are prohibited (KT-5143)

    • Annotation classes can't be instantiated (KT-4391)

    • Arrays of annotations supported as annotation arguments (KT-10136)

    • Generic types in catch clauses (including reified T) are prohibited (KT-9816)

    • protected members are allowed in companion objects

    • Calls to non-@JvmStatic protected members of companion objects from subclasses are marked as errors (unsupported)

    • "" is reserved as a token (KT-9708)

    • Enum entry can not be used as a type (KT-5401)

    • Enum.values is deprecated in favor of Enum.values()

    • private setters are now deprecated for open properties

    • Local sealed classes are deprecated

    • Use of uninitialized variables in lambdas / object literals / local functions is forbidden

    • Overriding setter cannot weaken visibility

    • Inner classes are no longer allowed inside enum entries

    • Implicit receiver smart casts are supported

    • Older deprecations have become errors

    </ul>

    下载:

    kotlin-compiler-1.0.0-beta-3595.zip

    来自:http://www.oschina.net/news/68768/kotlin-1-0-beta-3