Fuchsia 编程语言策略:前端用 Dart,Go 要退出

oschina
 oschina
发布于 2020年02月26日
收藏 35

拥抱开源,微软做了哪些努力?一大波开源技术成果将亮相微软在线技术峰会>>>

谷歌新一代开源操作系统 Fuchsia 的开发者网站上公布了一份 Fuchsia 编辑语言策略,文档描述了 C、C++、Dart、Rust 与 Go 的优劣势,并明确指定了其中哪些语言将会在 Fuchsia 开发生态中得到怎样程度的支持。

该策略文档描述了 Fuchsia 项目在 Fuchsia Platform Source Tree(Fuchsia 平台源码树)和供终端开发者在这之外构建 Fuchsia 开发目标设备软件时使用和支持的编程语言。

Fuchsia Platform Source Tree 是 fuchsia.googlesource.com 上托管的 Fuchsia 源码,终端开发者是指在 Fuchsia Platform Source Tree 之外为 Fuchsia 编写软件的人。与终端开发者相比,Fuchsia Platform Source Tree 可以汇聚对 Fuchsia 系统及其基础技术更大的更改,因为可以执行仅影响 Fuchsia Platform Source Tree 的更改,而无需与其他人员进行协调。相反,影响终端开发者的更改需要更多的协调,并且需要更长的执行时间。

谷歌介绍,对终端开发者的支持意味着 Fuchsia SDK 需要包含可帮助他们为 Fuchsia 开发软件的工具和库,包括 FIDL(Fuchsia Interface definition language,Fuchsia 接口定义语言)特定语言后端与支持库等。对异步编程的强大支持则意味着可以使用直线型代码,例如使用 Rust/Dart 等语言的 async/await 编写异步程序。

文档接下来分别罗列了几种编程语言,分析了它们的优缺点之后,得出如下结论:

C

  • C 被支持用于终端开发者。
  • 在 Fuchsia Platform Source Tree 中,不鼓励使用 C 的新用法,并且仅批准用于以下领域:
    • 用于底层系统编程,包括内核中
    • 用于定义到共享库和其它系统组件的 ABI 稳定接口 

C++

  • C++ 被支持用于终端开发者。
  • 批准在整个 Fuchsia Platform Source Tree 中使用 C++。

Dart

  • Dart 被支持用于面向非驱动程序的终端开发者。
  • Dart 被批准在 Fuchsia Platform Source Tree 中用于用户界面和无限期运行的程序。

Rust 

  • 终端开发者不支持使用 Rust。
  • 除了 Zircon 内核,Rust 被批准在整个 Fuchsia Platform Source Tree 中使用。

Go

  • Go 仅被批准在网络技术栈中使用,因为网络栈的迁移需要大量成本。时间准许的话,应该将网络栈迁移到批准的语言。
  • 必须将 Fuchsia 中用于目标设备上生产软件的所有其它 Go 代码迁移到批准的语言。

总结一下,Go 在 Fuchsia 生态中可能会有些失落,值得注意的是文档中关于其缺点的介绍

  • 使用垃圾回收来管理内存,这比其它用于管理内存的技术占用更多的资源
  • 运行时环境庞大
  • Fuchsia Platform Source Tree 在使用 Go 方面具有负面的实施经验。Fuchsia 项目在 Go 中构建的系统组件消耗的内存和内核资源相比使用 C++ 或 Rust 构建的同类组件更多
  • 工具链产生大型二进制文件

值得关注的是,文档中没有涉及 Fuchsia 已经确认支持的 Python。不过关于 Python 的支持细节,支持语言页面也没有详细内容,只有一栏栏 TODO,应该是还没有做好准备。

而另一方面,此前关于支持 JavaScript 的传言,看来也无法得证。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:Fuchsia 编程语言策略:前端用 Dart,Go 要退出
加载中

精彩评论

gowk
gowk
无所谓,反正Fuchsia早晚也会被扔进垃圾堆
OSC_NcKnLY
OSC_NcKnLY
rust已经准备好战斗准备
溱
Dart那狗S般的嵌套语法真的能流行起来吗?
icoffin
icoffin
无所谓,反正我不看好fuchsia
薛定谔的猫__
因为在Java上吃过亏

最新评论(89

中华人民共和国程序员
中华人民共和国程序员
Google的编程语言真的是——长江后浪推前浪,前浪死在沙滩上。
zhouinfo
zhouinfo
一浪接一浪
hzh62
hzh62
😊C/C++ 永远是你大爷
s
shifeng1983
c++永远是你大爷
从今以后
从今以后
说句难听的,这般的嵌套流行起来才是罪过!
M
Mok
这个又被置顶是啥意思?
江柯
江柯
不支持kotlin差评
松之子
谷歌终于彻底抛弃了JAVA
dwingo
dwingo
能在10年内先抛弃掉安卓就不错了
kiki1000
kiki1000
早就该抛弃了
W
WindSpeed
说明自家新系统很多东西都没有移植,可能只有一个c编译器,其他语言没那么快兼容,平台不一样,这个是即windows,unix,后的第三个独立内核
Z
Zheng-c
安卓已经吃过亏了
榕树下_
榕树下_
没Java就好
返回顶部
顶部