写点什么

JetBrains 推出新 JVM 语言 Kotlin

  • 2011-07-30
  • 本文字数:1008 字

    阅读完需:约 3 分钟

此前,人们所知的 Kotlin 是圣. 彼得堡以西三公里外的一座俄罗斯小岛。而近期,捷克公司 JetBrains 推出一款运行在 JVM(Java 虚拟机)上的编程语言,也叫 Kotlin 。开发者称,设计它的目的是避免 Java 语言编程中的一些难题。

JetBrains 的主要产品包括 Java IDE、PHP、Objective-C、Ruby 和 MPS。而现在 Kotlin 项目将他们带入一片未知领域。

该语言开发者们强调,其背后的主要设计目标是:

据 JetBrains 称,Kotlin 是一门静态类型、面向对象、基于 JVM、旨在服务与行业、避免由 Java 的向后兼容性引起的常见问题及挑战的编程语言。

比如,由于类型系统控制了空指针引用,所以 Kotlin 不需要空指针异常(Null Pointer Exception)。Kotlin 中没有基础类型,数组是定长的,泛型(generic)是安全的,即便运行时也是安全的。此外,该语言支持闭包,还可通过内联进行优化。不过,它不支持检查异常(checked exceptions),许多语言设计者认为这是它的瑕疵。不论如何,重要的是 Java 和 Kotlin 之间的互操作性:Kotlin 可以调用 Java,反之亦可。

以下代码片段显示的是用 Kotlin 实现的一个简单的面向对象“Hello World”程序。 JetBrains 网站上还有更多例程。

复制代码
<span>class</span> Greeter(name : String) {
fun greet() {
println(<span>"Hello, ${name}"</span>);
}
}
fun main(args : Array<String>) {
Greeter(args[0]).greet()
}

许多语言都认为自己可以替代 Java。具体来说,有 Scala、Fantom、Groovy、Gosu、和 Ceylon,它们批次自然地互相竞争者,而 Scala 和 Groovy 则最为流行。

现在,多个讨论组都在比较 Kotlin 和其他语言,有时还非常激烈,比如 Fantom 网站和 Scala 用户组的讨论。

有多少程序员会考虑使用 Kotlin 来进行开发还需要观察。不过,许多开发者的反应已经证明了 Kotlin 已进入下一代语言的有力竞争者之列。

据报道,公开 Beta 版在 2011 年底就可用了,到时在 Apache 2 许可下会有一个开源编译器和 IntelliJ IDEA 插件。虽然该编译器最初生成的是 Java 字节码,到那时会有一个 Kotlin 版本,它生成 JavaScript。


查看英文原文: JetBrains introduces the new JVM language Kotlin

2011-07-30 11:265215
用户头像

发布了 184 篇内容, 共 89.3 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

解决生命科学研究痛点,北鲲云计算着力打造行业解决方案

北鲲云

下载超过10万次?阿里大佬的《高并发、性能调优笔记》一战封神

Java架构师迁哥

JIT-动态编译与AOT-静态编译:java/ java/ JavaScript/Dart乱谈

zhoulujun

dart JIT AOT 动态编译 静态编译

本科毕业六年,裸辞备战三个月,四面阿里巴巴定级P7

编程susu

Java 编程 程序员 面试 计算机

从λ演算到函数式编程聊闭包(1):闭包概念在Java/PHP/JS中形式

zhoulujun

闭包 闭包函数

Python Qt GUI设计:将UI文件转换为Python文件的三种妙招(基础篇—2)

不脱发的程序猿

Python qt GUI UI文件转换为Python文件

客户需求难以推进和实现?企业如何有效管理项目需求?

优秀

项目管理

混合模型与期望最大化算法(三)

Databri_AI

算法 混合模型

3 分钟了解 JSON Schema

程序员鱼皮

Java json 数据库 大前端 后端

太厉害了!腾讯T4大牛把《数据结构与算法》讲透了,带源码笔记

编程susu

Java 编程 程序员 计算机 技术宅

微信业务架构图 & 学生管理系统方案

缘分呐

架构 设计

Go- 递归函数

HelloBug

递归 Go 语言

Go- 闭包函数

HelloBug

Go- 函数执行时间

HelloBug

Go 语言 函数执行时间

正经人一辈子都用不到的 JavaScript 方法总结 (一)

编程三昧

JavaScript 大前端 8月日更 模板字符串 String.raw

从λ演算到函数式编程聊闭包(2):彻底理解JavaScript闭包规则

zhoulujun

闭包 闭包函数

LeetCode刷题09-简单 回文数

ベ布小禅

8月日更

网络上数据通信过程

一个大红包

8月日更

JS遍历循环方法性能对比:for/while/for in/for of/map/foreach/every

zhoulujun

foreach map for for in

特斯拉依旧头铁坚持视觉路线,激光雷达会笑到最后吗?

脑极体

ShardingSphere Proxy 初步体验

ShardingSphere-Proxy

实时数据引擎系列(二): 批流一体的数据

tapdata

Go,一文搞懂 defer 实现原理

微客鸟窝

Go 语言 8月日更

按下数字化转型快进键!DataPipeline与星环大数据平台完成产品兼容互认证

DataPipeline数见科技

模块(一)什么是架构

我是一只小小鸟

网络攻防学习笔记 Day115

穿过生命散发芬芳

网络安全 8月日更

使用明道云搭建电梯维修与保养系统

明道云

架构实战营1期模块6作业——微服务架构

tt

架构实战营

数据挖掘经典算法之K-邻近算法(超详细附代码)

Python研究者

8月日更

模块一

树建

架构实战营

每天学习10个实用Javascript代码片段(五)

devpoint

定时器 JavaScrip 8月日更

JetBrains推出新JVM语言Kotlin_Java_Michael Stal_InfoQ精选文章