微软正式开源受 Rust 启发的新编程语言 Verona
一个月前,微软研究人员 Matthew Parkinson 曾提到:微软正在开发基于 Rust 的新编程语言,该项目被命名为 Verona。现在,微软已将 Verona 正式开源。
根据微软给出的介绍,Verona 项目旨在探索有关语言和运行时设计的研究,以实现安全的可扩展内存管理和分区。此次开源的原型仅涵盖内存管理方面。
此外,微软还分享了一些关于 Verona 项目较高级别的研究问题:
- 如果我们设计的语言没有并发突变,那么我们可以构建可扩展的内存管理吗?
- 可以在不牺牲内存管理的情况下,使用线性区域来消除每个对象线性度的限制吗?
- 可以使用语言级别的区域来支持分隔吗?
这些问题正处在不同研究阶段,并将在以后的论文中供同行评审。
之前我们介绍到,Verona 是基于 Rust 的新语言。但 Rust 并不是激发 Verona 项目灵感的唯一语言,它也借鉴了 Cyclone(一种安全的 C 语言)和 Pony 的概念。
微软还强调, 这只是一个研究项目,不是一项产品, 并且与微软对 C++,C# 和 Rust 的使用没有关系。他们希望 Verona 研究项目可以使其他语言受益,希望将其作为一种 “研究编程语言”,通过开源吸引更多学术合作者以探讨并发所有权的概念。目前, 该项目尚未做好在研究之外的领域使用的准备。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
GCC 10 已添加对 C++20 协程的实验性支持
GCC 项目的邮件列表记录显示,对C++20 协程的实验性支持已合并到 GCC 10 编译器中。 协程(Coroutines)是 C++20 的主要功能之一,它允许某个函数在暂停执行之后再恢复。有关 C++ 协程的示例语法和更多详细信息请在cppreference.com上查看。可以看到,官方对协程的定义是: A coroutine is a function that can suspend execution to be resumed later. 协程是能暂停执行以在之后恢复的函数。 若函数的定义实现了以下任何内容之一,则它是协程: 使用co_await运算符暂停执行,直至恢复 task<> tcp_echo_server() { char data[ 1024 ]; for (;;) { size_t n = co_await socket.async_read_some(buffer(data)); co_await async_write(socket, buffer(data, n)); } } 使用关键词co_yield暂停...
- 下一篇
JetBrains 发布基于 IntelliJ 的 IDE 2020 年功能路线图
上个月 JetBrains 发布了IntelliJ平台 2020 年路线图,现在作为2020 年规划中的另一部分,JetBrains 又发布了基于 IntelliJ 的 IDE 2020 年的功能路线图。前者主要集中在平台的底层功能上,而后者聚焦于更高级别的功能,这些功能将与用户直接交互。 本土化 去年,JetBrains 网站进行了本地化,提供了8 种不同的语言版本,而现在,团队正在对基于 IntelliJ的 IDE 进行本地化。目前正在为亚洲市场进行 IDE 本地化,并计划提供简体中文的初步支持,随后是韩语和日语。同时可以用插件的形式提供翻译能力,这样社区将能够提供其它语言的翻译。 将 IDE 用作通用编辑器 随着最近启动性能的提高,基于 IntelliJ 的 IDE 作为轻量级文本编辑器的可能性变得更加合理,因此开发团队现在正在构建一种专用模式来编辑非项目文件。在这种模式下,IDE 将更像一个简单的文本编辑器,它将以更快的速度打开、不会存储任何项目配置,并且它将使用与常规文本编辑器相同的工作流来创建、打开和保存文件。 自然地,此模式下可用的功能集也将非常有限,但是,如果需要使用重...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- CentOS8编译安装MySQL8.0.19
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7