作者 | 李冬梅
1 Toit 编程语言宣布开源
近日,Toit 编程语言团队宣布将项目开源。但其实很多开发者对 Toit 并不熟悉,Toit 究竟是什么?
Toit 是由 Google Chrome V8 团队开发的,创立于 2018 年,旨在为物联网设备构建一个通用固件,以取代传统的开发流程。它们提供了一套全新的功能,甚至是一种专为物联网开发的类似 Python 的新编程语言。
Toit 是一种用于物联网(IoT,Internet of Things)的面向对象的编程语言,这也是它与其他用于嵌入式系统的编程语言最大的不同之处。它集成了语法高亮、goto-definitions 和自动补全等先进的编辑器功能。根据官方文档显示,Toit 在 IoT 设备上能够实现数秒级别的快速代码部署。
借助 Toit 这个专门用于物联网的语言,可以实现更好的电源管理,这对物联网这类采用电池供电的设备十分重要。Toit 还具有一个自动内存管理系统,有助于优化内存使用,使设备能长期稳定运行避免崩溃。新语言还带有垃圾收集器,同样有助于内存管理系统。像上述这样的功能在传统的编程语言中通常是不具备的。
2 对物联网感到沮丧,一群工程师决定“搞点事情”
对于开源 Toit 编程语言的初心,Toit 团队表示,几年前,一群软件工程师对物联网 (IoT) 的状态感到非常沮丧。物联网能够将我们周围的所有设备变得更加智能:我们的家用电器、工业机器和建筑物将被连接起来,并且能够像普通计算机一样交互、共享数据和拥有复杂的逻辑。
但这个未来还没有到来,因为为物联网编写软件真的很难。
虽然现代软件开发是由持续交付、迭代和实验驱动的,但物联网却像是一个“怪物”,与上述法则格格不入。
物联网之所以“难搞”,主要有以下四个原因:
凭借在 Google 为 Flutter 构建 V8 JavaScript 引擎和 Dart 语言的丰富经验,Toit 团队着手开发最佳平台,为连接到互联网的嵌入式设备构建、部署和维护软件。
在开发 Toit 时,也并非一帆风顺。据研发团队称:
当我们开始构建平台时,我们很快意识到我们需要一种高效的高级编程语言,专门为满足物联网的需求而设计。但是它不存在。于是我们研究了 Python 和 JavaScript,但在微控制器上,这两种语言的编写速度不够快,我们不愿意受到性能不佳的阻碍。 我们不得不解决一些棘手的技术问题,但在 2021 年初,我们有了一个工作平台,我们开始让开发人员能够为他们的微控制器构建高质量的功能。如今,我们有世界各地的客户在 Toit 平台 上构建他们的产品。
据该团队介绍,Toit 在 ESP32 上执行代码的速度比 MicroPython 快 30 倍以上,它与 Python 非常相似,Python 开发人员可以在几个小时内学会该门语言。
之所以开源这门语言,Toit 研发团队表示:
我们从一开始就知道 Toit 语言在某个时候必须是开源的。所有主要的编程语言都是开源的,你可以从开源中获得充满活力的生态系统,才能大规模采用一种语言。 经过多次迭代和在实际环境中使用 Toit 的大量经验,我们现在知道 Toit 语言是为微控制器编写强大软件时非常有用的工具,我们希望更多的开发人员能够从中受益。我们等待这一天已经有一段时间了,但我们很高兴地分享我们已经开源了 Toit 语言和我们的实现,并 通过 GitHub 提供 了它。
Toit 项目地址:https://github.com/toitlang/toit
参考链接:
https://blog.toit.io/the-toit-language-is-now-open-source-14bdcb1604d9?gi=d83cbb7f93f8
https://www.oschina.net/news/170259/toit-language-open-source