Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development

Draining the Swamp: Micro Virtual Machines as Solid Foundation for Language Development
复制标题

排干沼泽:微型虚拟机作为语言开发的坚实基础

DOI:
--
复制
发表时间:
2015
期刊:
Summit on Advances in Programming Languages
影响因子:
--
通讯作者:
Antony Hosking
Antony Hosking
中科院分区:
--
文献类型:
--
作者:
Kunshan Wang;Yi Lin;S. Blackburn;Michael Norrish;Antony Hosking

文献摘要

被引文献

相似文献

今天的许多编程语言都是坏的。性能差、缺乏特性和难以理解的语义会在软件维护和执行效率方面付出高昂的代价。随着编程语言的激增和硬件变得越来越复杂,这个问题只会变得更糟。造成这种差异的一个重要原因是,大部分语言设计都是由实现驱动的。实现上的困难和对概念的无知理解将糟糕的设计带入了语言本身。并发性、架构细节和垃圾收集是导致托管语言实现复杂性的三个基本关注点。我们提出了微虚拟机,这是一种薄抽象,专门用于减轻托管语言实现者目前阻碍良好设计的最基本实现挑战。微虚拟机的目标是对内存(垃圾收集)、体系结构(编译器后端)和并发性的抽象。我们对微虚拟机进行了激励,并给出了一个具体实例的设计和初始体验,我们称之为Mu,历时两年建成。我们的目标是消除性能和语义良好的托管语言设计和实现的一个重要障碍。
Many of today’s programming languages are broken. Poor performance, lack of features and hard-to-reason-about semantics can cost dearly in software maintenance and inecient execution. The problem is only getting worse with programming languages proliferating and hardware becoming more complicated. An important reason for this brokenness is that much of language design is implementation-driven. The diculties in implementation and insucient understanding of concepts bake bad designs into the language itself. Concurrency, architectural details and garbage collection are three fundamental concerns that contribute much to the complexities of implementing managed languages. We propose the micro virtual machine, a thin abstraction designed specifically to relieve implementers of managed languages of the most fundamental implementation challenges that currently impede good design. The micro virtual machine targets abstractions over memory (garbage collection), architecture (compiler backend), and concurrency. We motivate the micro virtual machine and give an account of the design and initial experience of a concrete instance, which we call Mu, built over a two year period. Our goal is to remove an important barrier to performant and semantically sound managed language design and implementation.