阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

吐槽物联网开发难搞,一群工程师搞了个 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

公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

2021-11-24 14:002118
用户头像
李冬梅 加V:busulishang4668

发布了 808 篇内容, 共 376.9 次阅读, 收获喜欢 998 次。

关注

评论

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

「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之模块管理(十四)

crudapi

Vue API crud crudapi qusar

web技术分享| webRTC 媒体流录制

anyRTC开发者

音视频 WebRTC 流媒体 web技术 流媒体录制

一年数十万次实验背后的架构与数据科学

百度Geek说

人工智能 架构 数据科学

企业为什么要建设自有即时通讯软件系统

WorkPlus

阅读

TDSQL-A,全力应对海量数据实时分析需求

腾讯云数据库

数据库 tdsql

ThreadLocal在链路性能测试中实践

FunTester

多线程 ThreadLocal 性能测试 线程安全 FunTester

飞桨中国行走进成都 与当地企业共话制造智能化升级

百度大脑

人工智能 飞桨

华为云GuassDB(for Redis)发布全新版本,两大核心特性正式亮相

华为云开发者联盟

数据库 华为云 GuassDB(for Redis) Lua脚本 SSL连接加密

如何借助腾讯云简单、高效移动开发

腾讯云数据库

数据库 tdsql

特洛伊木马-图解VXLAN容器网络通信方案

Lance

缓存和数据库一致性问题,看这篇就够了

Kaito

数据库 redis 缓存 后端 一致性

华云大咖说 | 华云数据企业开发测试平台解决方案

华云数据

《联想发布绿色智城解决方案,加速城市绿色低碳转型发展》

科技大数据

2021 Atlassian 大中华区用户大会来袭!

Atlassian

DevOps 敏捷 Atlassian Jira 敏捷精益

1ms的时延,10Gbps速率…5G通信技术解读

华为云开发者联盟

5G 物联网 通信 网络架构 网络切片

新来的前端小姐姐问:Vue路由history模式刷新页面出现404问题

华为云开发者联盟

node.js Vue hash 404 history 模式

TDSQL Inside:从腾讯的分布式数据库能力到行业的能力

腾讯云数据库

数据库 tdsql

C#多线程开发-任务并行库04

Andy阿辉

C# asp.net 多线程 多线程并发

月薪10K码农,跳槽到40K架构师,技术学习路线图汇总

小傅哥

Java 学习 运维 大前端 后端

【OpenIM原创】C/C++调用golang函数,golang回调C/C++函数

OpenIM

干货 | TDSQL-A核心架构揭秘

腾讯云数据库

数据库 tdsql

腾讯私有云MySQL解决方案—TDSQL

腾讯云数据库

数据库 tdsql

springboot vue二手交易市场毕设源码

清风

毕业设计

【Flutter 专题】52 图解可折叠状态栏

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 9月日更

【LeetCode】检查平衡性Java题解

Albert

算法 LeetCode 9月日更

Kubernetes生态系统与演进路线

博文视点Broadview

手撸二叉树之二叉树的直径

HelloWorld杰少

九月

西部首个国家级车联网先导区获批,EMQ 联手中国移动打造 5G 交通生态链

EMQ映云科技

自动驾驶 车联网 5G 移动 emq

资深Linux系统管理员常用的15个很好用的Cron工作示例

华为云开发者联盟

Linux Linux Cron 工作示例 应用程序 工作调度

HTAP大潮下,TDSQL的探索与实践

腾讯云数据库

数据库 tdsql

王者荣耀商城异地多活分析-模块7

小牧ah

架构实战营

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