写点什么

吐槽物联网开发难搞,一群工程师搞了个 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:002286
用户头像
李冬梅 加V:busulishang4668

发布了 939 篇内容, 共 531.3 次阅读, 收获喜欢 1102 次。

关注

评论

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

AutoMQ 集成 Redpanda Console

AutoMQ

Code Review:提升代码质量与团队能力的利器

京东科技开发者

唯品会商品详情数据接口(标题|主图|销量|价格|店铺)

tbapi

唯品会 唯品会商品数据采集 唯品会API 唯品会商品详情接口

基于软件在环的飞控机建模仿真

DevOps和数字孪生

软件在环

Magic Disk Cleaner for Mac(磁盘垃圾清理工具) v2.8.1激活版

Mac相关知识分享

Ghost Buster Pro for mac(苹果电脑内存清理专家)v3.3.2激活版

Mac相关知识分享

MySQL生产环境迁移至YashanDB数据库深度体验

YashanDB

yashandb 崖山数据库 崖山DB

Dato for Mac(菜单栏时钟软件)v5.3.1激活版

Mac相关知识分享

如何使用观测云监测 AutoMQ 集群状态

AutoMQ

班迪录屏Bandicam使用详解

源字节1号

小程序 开源 后端

云边端融合创新,构建产业新发展!

天翼云开发者社区

云计算 算力

RazorSQL for Mac(多功能SQL数据库编辑器) v10.6.1注册激活版

Mac相关知识分享

SMT智能车间MES系统的实施方案

万界星空科技

数字化转型 SMT 生产管理系统 mes 万界星空科技

Native Instruments Traktor Pro for mac(数字DJ混音器软件) v4.0.0.135激活版

Mac相关知识分享

Moom for Mac(窗口管理神器) v3.2.27中文激活版

Mac相关知识分享

StarRocks on AWS Graviton3,实现 50% 以上性价比提升

StarRocks

数据库 云计算 大数据 云服务 湖仓一体

深度解析:Shopee商品详情数据接口——助力商家精准营销与数据分析

tbapi

Shopee shopee API shopee商品详情接口 虾皮平台商品详情接口

ChaosMeta for AI:混沌工程让AI稳定性更上一层楼

ChaosMeta

绿色算力从这片草原开始!

天翼云开发者社区

人工智能 算力

低代码开发MES系统,一周实现数字化

万界星空科技

低代码 数字化转型 低代码平台 mes 万界星空科技

加快构建全国一体化算力网,我们这样做!

天翼云开发者社区

人工智能 云计算 互联网大会

华为云应用平台AppStage运维中心,华为全球业务的加速器

华为云开发者联盟

运维 华为云 华为云开发者联盟 企业号2024年7月PK榜

微店商品详情数据接口(micro.item_get)丨微店API接口指南

tbapi

微店商品详情接口 微店API 微店商品数据采集

安全可信| 通过多项评估认证!天翼云与业界伙伴共谋云上安全发展!

天翼云开发者社区

人工智能 云计算 全球数字经济大会

携手火山引擎,三星Galaxy Z系列手机为用户带来AI新体验

新消费日报

System Dashboard Pro for Mac(专业系统监视器) v2.0.3激活版

Mac相关知识分享

深度剖析:代购系统的运行机制与价值

Noah

小红书笔记详情API接口(XHS.note_get)丨小红书平台API接口指南

tbapi

小红书笔记详情接口 小红书API接口 小红书笔记接口

SiteSucker Pro for Mac(网站下载工具SiteSucker专业版) v5.4.2中/英文版

Mac相关知识分享

在 Intellij IDEA 格式化代码时忽略部分代码

源字节1号

小程序 开源 前端 后端

吐槽物联网开发难搞,一群工程师搞了个Toit 语言并宣布开源,其与Python类似_AI&大模型_李冬梅_InfoQ精选文章