自己动手构建编程语言:如何设计编译器、解释器和DSL
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.4 Unicon需求#4——提供可实现的通用系统接口

长期以来,可移植性意味着程序在PC、Mac和UNIX工作站上都可以运行。不过,计算平台是不断变化的。一段时间以来,Unicon不断得到改进,以支持Android和iOS,如果将它们也算作计算平台的话。它们是否算计算平台,取决于它们是否足够开放并用于一般计算任务,而它们确实能够如此使用。

所有针对需求#3实现的丰富的I/O设施必须设计为可以跨所有主要平台进行多平台移植。

在说明Unicon的一些主要需求之后,下面是对这个问题的回答:为什么要构建Unicon?其中一个答案是,在学习了许多语言之后,我们得出结论:Icon的生成器和目标导向的评估(需求#1)是我们从现在开始编写程序时想要的特性。但在允许我们在编程语言中添加2D图形后,Icon的发明者不再愿意考虑进一步添加特性,以满足需求#2和需求#3。另一个答案则是公众对新功能的需求,包括志愿者合作伙伴和一些财政支持,于是,Unicon诞生了。