写点什么

吐槽物联网开发难搞,一群工程师搞了个 Toit 语言并宣布开源,其与 Python 类似

  • 2021 年 11 月 24 日
  • 本文字数:1681 字

    阅读完需:约 6 分钟

吐槽物联网开发难搞,一群工程师搞了个Toit 语言并宣布开源,其与Python类似

Toit 编程语言宣布开源

 

近日,Toit 编程语言团队宣布将项目开源。但其实很多开发者对 Toit 并不熟悉,Toit 究竟是什么?

 

Toit 是由 Google Chrome V8 团队开发的,创立于 2018 年,旨在为物联网设备构建一个通用固件,以取代传统的开发流程。它们提供了一套全新的功能,甚至是一种专为物联网开发的类似 Python 的新编程语言。

 

Toit 是一种用于物联网(IoT,Internet of Things)的面向对象的编程语言,这也是它与其他用于嵌入式系统的编程语言最大的不同之处。它集成了语法高亮、goto-definitions 和自动补全等先进的编辑器功能。根据官方文档显示,Toit 在 IoT 设备上能够实现数秒级别的快速代码部署。

 

借助 Toit 这个专门用于物联网的语言,可以实现更好的电源管理,这对物联网这类采用电池供电的设备十分重要。Toit 还具有一个自动内存管理系统,有助于优化内存使用,使设备能长期稳定运行避免崩溃。新语言还带有垃圾收集器,同样有助于内存管理系统。像上述这样的功能在传统的编程语言中通常是不具备的。

对物联网感到沮丧,一群工程师决定“搞点事情”

 

对于开源 Toit 编程语言的初心,Toit 团队表示,几年前,一群软件工程师对物联网 (IoT) 的状态感到非常沮丧。物联网能够将我们周围的所有设备变得更加智能:我们的家用电器、工业机器和建筑物将被连接起来,并且能够像普通计算机一样交互、共享数据和拥有复杂的逻辑。

 

但这个未来还没有到来,因为为物联网编写软件真的很难。

 

虽然现代软件开发是由持续交付、迭代和实验驱动的,但物联网却像是一个“怪物”,与上述法则格格不入。

 

物联网之所以“难搞”,主要有以下四个原因:

 

  • 首先,由于功耗过大,典型的物联网芯片资源过于有限,无法运行 Linux。因此,人们要么直接在设备(所谓的裸机)上编写代码,要么在非常有限的任务调度程序上编写代码,这两者都没有为开发者提供出能够在其他平台上获得的抽象机制或支持。

 

  • 其次,软件是特定于芯片的,你将与第一批芯片设备制造商捆绑在一起。

 

  • 第三,一旦你有了硬件并编写了软件,你会发现更新设备真的很困难:唯一的方法就是全部刷新,这意味着你要删除设备上的所有软件,重新安装它,然后祈祷它能重新上线。一旦失败,例如你的代码中某处存在错误,那么你的设备也就跟着“完蛋”了。

 

  • 最后,管理多个设备很复杂:在现代软件开发中,一个常见的策略是逐渐向越来越多的用户推出新版本。物联网设备无法做到这一点。

 

凭借在 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

2021 年 11 月 24 日 14:002
用户头像

发布了 303 篇内容, 共 87.1 次阅读, 收获喜欢 409 次。

关注

评论

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

经典递归

山@支

我的 2015-2018 —— 银行软开三年项目回顾

清秋

前端 重构 鉴权 4月日更

【软件推荐】TOP级YouTube视频下载工具2021

科技猫

软件 分享 工具软件 视频 youtube

你可能不是真的懂let和const

前端树洞

JavaScript ecmascript 前端 ES6 4月日更

一个DNS引发的“血案”

穿过生命散发芬芳

Wireshark 数据包分析 4月日更

深入浅出 LVS 负载均衡系列(一):NAT、FULLNAT 模型原理

UCloud技术

负载均衡

新的物联网技术应用有哪些

cdhqyj

互联网 物联网 通信 计算机

Android音视频 - MediaCodec编解码音视频

LoveYFan

android 音视频 编解码

在业务高峰期拔掉服务器电源是一种怎样的体验?

冰河

分布式 微服务 数据恢复 MySQL 高可用 异常处理

这里有一份2021年Java面试必备的《并发编程》学习资料,你要还是不要?

Java架构之路

Java 程序员 架构 面试 编程语言

Github限时开放!阿里内部强推的《微服务容器化参考指南》简直太牛了!

Java架构之路

Java 程序员 架构 面试 编程语言

AI 事件驱动场景 Serverless 实践

阿里巴巴云原生

人工智能 Serverless 容器 云原生 消息中间件

聪明人的训练(九)

Changing Lin

4月日更

新华三“云屏”发布:云屏融合重塑工作体验,全力构建智“会”时代

DT极客

你真的懂反馈吗?

石云升

28天写作 职场经验 管理经验 4月日更

CIAM的7个基本原则

龙归科技

安全性 用户 业务增长

调整云计算资源大小时要避免的10个错误

浪潮云

云计算

游戏数据埋点

data_y

游戏 数据埋点 游戏数据分析 埋点定义

三翼鸟的羽翼下,人诗意地栖居在智能生活里

脑极体

一份秀出新天际的SpringCloudAlibaba笔记,把微服务玩的出神入化

Java 编程 程序员 架构 微服务

【得物技术】算法入门一:算法的好坏?复杂度告诉你

得物技术

算法 时间复杂度 前端 入门 复杂度

Fl Studio真的不如Cubase或者Logic Pro等电音软件专业吗?

奈奈的杂社

编曲 电音 电音制作 中国电音 编曲宿主

TcaplusDB君 · 行业新闻汇编(4月9日)

TcaplusDB

数据库 nosql 后端 TcaplusDB

JavaScript小笔记

赫鲁小夫

4月日更

翻译:《实用的Python编程》08_01_Testing

codists

Python

Android音视频 - EGL源码解析以及C++实现

LoveYFan

android 音视频 OpenGL ES

Inference Engine情感分类实践

IT蜗壳-Tango

IT蜗壳教学 4月日更

一位五年Java开发经验程序员的拼多多/蚂蚁金服/百度面经分享!

Java架构之路

Java 程序员 架构 面试 编程语言

嘿,朋友!和你讲讲这15年来我的成长吧

亚马逊云科技 (Amazon Web Services)

一周信创舆情观察(3.29~4.4)

统小信uos

平面设计之PS(中)

空城机

PhotoShop ps 4月日更

数据cool谈(第2期)寻找下一代企业级数据库

数据cool谈(第2期)寻找下一代企业级数据库

吐槽物联网开发难搞,一群工程师搞了个Toit 语言并宣布开源,其与Python类似-InfoQ