• 解读 Kotlin/Native 技术预览版



    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语言的盘子。


  • 相关阅读:
    没时间写文章::>_<::
    使 iis 支持 flv 视频播放
    CentOS7系统配置国内yum源(阿里云)
    android adb启动失败问题 adb server is out of date. killing... ADB server didn't ACK * failed to start daemon *
    android开发 获取手机分辨率大小
    c++流操作>rdbuf()
    ROR:Mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost'
    android map如何获得Google Map API key
    Android有效解决加载大图片时内存溢出的问题
    Android开发之Intent跳转到系统应用中的拨号界面、联系人界面、短信界面
  • 原文地址:https://www.cnblogs.com/ztguang/p/12644727.html
Copyright © 2020-2023  润新知