写点什么

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:264683
用户头像

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

关注

评论

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

Android入门你值得拥有!手持4个大厂offer的我,附面试题答案

欢喜学安卓

android 程序员 面试 移动开发

SICP 习题解答 1.10

十元

架构师训练营 4 期 第10周

引花眠

架构师训练营 4 期

Vue3源码 | 深入理解响应式系统上篇-reactive

梁龙先森

大前端 Vue3 源码解析

ARTS - week 1

steve_lee

一个程序员应怀揣武侠梦

DisonTangor

程序员

SICP 习题解答 1.9

十元

第一章-认识产品经理作业

阿珍爱上阿强

产品经理 JD 财务

android面试!Android事件体系全面总结+实践分析,大牛最佳总结

欢喜学安卓

android 程序员 面试 移动开发

python常用库简介

张鹤羽

28天写作 3月日更

人生如戏,戏如人生——敏捷剧本杀玩后感

Bruce Talk

敏捷 Agile

【自动化】Day01

IT蜗壳

LinqToExcel.Extend 源码分析

happlyfox

28天写作 3月日更

设计模式的5个常见问题及解决办法

乐天

设计模式

SICP 习题解答 1.8

十元

IntellIJ IDEA 命令行运行一个 HelloWorld Python 程序

HoneyMoose

力扣(LeetCode)刷题,简单题+中等题(第20期)

不脱发的程序猿

LeetCode 力扣 28天写作 算法面经 3月日更

laravel的生命周期

一个大红包

28天写作 3月日更

第五次作业&总结

青葵

学习

恋物志(三):“美丽到牙齿”的智能硬件圈地运动

脑极体

程序员成长第二十二篇:做任务分配时,要考虑员工的成长。

石云升

项目管理 程序员 28天写作 职场经验 3月日更

LeetCode题解:279. 完全平方数,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

Wireshark数据包分析学习笔记Day4

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

容器 & 服务:K8s 与 Docker 应用集群 (三)

程序员架构进阶

Docker 容器 kubernet 28天写作 3月日更

需要深入的技术领域,方向正确是成功的关键

杨明越

SICP 习题解答 1.7

十元

学习曾国藩:职场咸鱼的翻身之法

boshi

七日更 职业生涯

自动化测试环境搭建

IT蜗壳-Tango

IT蜗壳自动化 21天

Docker 教程(一):Docker 是什么

看山

Docker DevOps

Python 环境搭建

依旧廖凯

Python 28天写作 3月日更

程序员是如何解决问题的

ES_her0

28天写作 3月日更

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