发布于 2015-12-08 00:29:16 | 163 次阅读 | 评论: 0 | 来源: 网友投递
Kotlin 基于JVM的编程语言
Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。
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
下载:
kotlin-compiler-1.0.0-beta-3595.zip
Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。
其主要设计目标:
创建一种兼容Java的语言
让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针
让 它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。
让它比最成熟的竞争对手Scala语言更加简单。