解读 Kotlin/Native 技术预览版
来源:互联网 发布:行政区划代码省级sql 编辑:程序博客网 时间:2024/06/04 22:47
https://www.qingjingjie.com/blogs/48
很高兴Kotlin在前两天发布了Kotlin/Native的Tech Preview版本。Kotlin/Native能把Kotlin编译成机器码,也就是C/C++、Go和Rust的层次,于是这个领域又添一位竞争对手。
JetBrains是一家务实的公司,它家的各种IDE让人赞不绝口。它创造的Kotlin也是一门务实的编程语言,借鉴Java和Scala的精华,以实用性为导向。
Kotlin的宣传语是“100%可与Java互操作”,事实证明确实如此,极低的学习成本和采用成本,极高的开发效率提升,在Android上已经火得不得了了,我在服务器上也用得很开心。现在Kotlin编译到机器码,不运行在JVM,就不能沿用Java的生态系统了,而是要融入系统编程的生态系统。Kotlin也的确是想做一个高性能的“胶水”。在这个领域,失去了JVM的庇佑,却得到了新的力量。
Kotlin已经实现了编译到JavaScript,现在又编译到机器码,野心不可谓不大。它的实力能否匹配野心呢?从JetBrains的 博客 来看,他们对Kotlin/Native也是很务实的态度,所以这个项目是值得期待的。技术预览版来了,Alpha和Beta还会远吗?欢欣鼓舞!
Kotlin/Native利用LLVM来编译到机器码,现在已支持4个平台:
- Linux (暂时只是Ubuntu),
- Mac OS
- iOS
- Raspberry Pi
这意味着开发者们已经可以愉快地开始体验了!
Kotlin/Native仍然很看重互操作性(Interoperability)。它能高效地调用C函数,甚至还能从C头文件自动生成对应的Kotlin接口,发扬了JetBrains为开发者服务的良好传统!
关于内存管理,现在的计划是在不同平台使用各自适合的内存管理技术,例如在服务器和桌面平台倾向于使用追踪式垃圾回收(tracing GC),而在iOS则倾向于使用iOS已有的ARC技术。在某些平台则可能手动管理内存。现在的Tech Preview版本只提供了一种附带循环检测的引用计数式内存管理,但并没有决定最终会怎样选择内存管理技术。
这个版本基本上没做什么优化,所以在benchmark中可能会表现得不好。但是一定会努力优化,用实际数据说话,而不会拿理论来忽悠人。标准库和反射功能也还远未完成,但是愿意做这些东西已经让我觉得很良心了。
博客中列出的未来计划包括:
- 进军iOS
- 进军嵌入式系统和物联网
- 进军数据分析和科学计算
- 进军服务端和微服务
- 进军游戏开发
进军iOS意味着要在移动端全制霸,而且还想进军这么多领域,似乎盘子有点太大了。我希望他们能把JavaScript先放下,毕竟很多语言都在这里折戟了,还记得当年的GWT吗?不如在Native层多多发力,先定一个小目标——抢Go语言的盘子。
- 解读 Kotlin/Native 技术预览版
- Win10技术预览版
- Prototype技术预览版
- Qt 4.6 技术预览版
- 《Kotlin 程序设计》第十章 Kotlin Native介绍
- 微软宣布.NET Native预览版 C#可编...[C#]
- Qt 移动版 1.2 技术预览
- 初试Windows 10技术预览版
- Windows 10技术预览版系统激活
- Android studio 3.0预览版中kotlin简单使用及配置
- Kotlin/Native Tech Preview: Kotlin without a VM
- Kotlin/Native v0.3 发布,将 Kotlin 编译成机器码
- Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发
- Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发
- Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发
- SuperRuntimeLibrary.GameEngine 技术预览
- JavaFX技术预览
- JavaFX技术预览
- 从github上添加依赖出现无法解析的错误
- 1~9 分为 1:2:3 的三个三位数
- 01-pandas学习引言
- 函数对象适配器
- python爬虫获取11选5彩票历史开奖号码
- 解读 Kotlin/Native 技术预览版
- linux
- C++作业--数组2
- Head First 设计模式学习——装饰者模式
- 关于bootstrap 对<input type ="file">的美化
- 适配器模式的应用
- c++实验5-项目5
- C++作业6
- Apache