全国协议5人面授小班,企业级独立开发考核,转业者的IT软件工程师基地 登录/注册 | 如何报名

免费领取试听课程

并获得专业顾问一对一进行选课辅导

课程名称不能为空
姓名不能为空
手机号码不能为空

领取成功

编程语言家族又添新人:Toit语言现已开源

行业新闻 汉码未来 | Toit 编程语言 开源

2021-11-25 10:17:54

Toit编程语言的共同创始人KasperLund正式宣布Toit编程语言开源。Toit是一种面向对象的物联网编程语言,具有现代、简单、易懂、声明、静态可分析等理想特性。

编程语言家族又添新人:Toit语言现已开源

前些年,基于智能Gadgets和支持Internet设备的功能和可靠性受到挫折,Toit编程语言的创始人小组决定开始考虑为IoT(IoT)开发软件,特别是嵌入式网络连接设备。

他们中的一位共同创始人KasperLund,曾在Google工作过12年,是一名编程语言和虚拟机老手。作为Crankshaft项目的技术领导者,他在Google工作期间与团队合作创建了V8和Dart项目,并最终使JavaScript实现了自适应优化,最终使网络更快。正是因为Kasper团队积累了大量的经验,在构建用于Flutter的V8JavaScript引擎和Dart语言的项目中,他们开始建造用于连接因特网的嵌入式设备,部署和维护软件,并开发最佳平台。

山东济南汉码未来了解到,随着Kasper团队开始构建这个平台,他们认识到他们需要一种高效率的、专为满足物联网需求的高级编程语言。但是这种高级的编程语言并不存在,因此Kasper团队开始寻找解决办法。通过对Python和JavaScript两种编程语言的研究,发现单片机上这两种语言的编写速度都很慢,从而阻碍了其性能。接着,团队启动了紧缩模式,几个月后开发了一种高级语言:Toit编程语言,它把内存分配抽象出来。

Toit语言在ESP32上执行代码的速度是MicroPython的30倍,而且Python开发人员只需几个小时就能学会。Toit平台允许将独立开发的应用程序并行安装到类似ESP32的小微控制器上。虚拟机内建支持在flash内建立基于码流和重定位信息的应用程序映像。重新定位信息很重要,因为它可以让设备自由选择安装应用程序在闪存中的位置。Kasper团队不会过分使用虚拟内存,让系统确信应用程序始终是从内存中的一个特定位置运行,所以他们必须将应用程序映像调整到闪存中的实际位置。

Toit平台以从CoAP流到TLS的应用程序图像流结束,该设备一次接收32个单词,在写入闪存前重新定位。Kasper小组设计了这个功能,所以他们不需要在RAM中保留完整的图片。在完成所有应用程序的图像后,他们会用校验和机制对其进行验证,最终提交头部,将应用程序转换成一个有效的、可运行的功能块。

一个典型的Toit应用程序映像总共大约有30KB。这些代码中的大多数都是用易于解释的形式描述个别方法行为的字节码。Kasper团队从程序的层次结构、类和接口中提取基本信息,并将其存储为压缩格式。同样,Kasper团队也通过将方法作为扁平字节序列集存储在类似于ELF文件的.text段中以节省空间。在图片中,只有一个结构化的对象是应用程序所附带的编译时量。

ToitVirtualMachineSystem类似于一个基于flash-flash的文件系统,其中包含了用于安装、升级和卸载可直接从闪存运行的应用程序映像。该应用是完全独立的,并且只共享设备上虚拟机提供的内容。

Kasper团队说,一开始就认识到Toit编程语言必须是开放源码的,“所有主要的编程语言都是开放源码的,你可以通过开放源码获得一个动态的生态系统来大量使用一种编程语言。

Kasper团队在经历了多次迭代并在实际环境中使用Toit之后,利用Toit语言为微处理器编写了一个非常有用的、功能强大的构建模块,他们也希望更多的开发者能从中获益。长期以来,它们一直在等待,所以很高兴开放源代码共享Toit语言,并通过GitHub实现。


以上就是汉码未来给大家分享的文章,希望对小伙伴们有所帮助,想要了解更多编程语言家族又添新人:Toit语言现已开源相关内容的小伙伴可以登录汉码未来官网咨询,主打5人小班,全程面授,主打Java开发,web前端开发等课程,有专业的授课老师为你答疑解惑。

    

分享到:

下一篇: 暂无资讯


【免责声明】由于政策等各方面情况的不断调整与变化,本网站所提供的信息仅供参考,请以权威部门公布的正式信息为准。本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。 删除,请联系客服。
为什么选择汉码未来