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

1.5.3 Unicon需求#3——现代应用程序的高级输入/输出

对I/O的支持是一个不断变化的目标。首先,I/O包括网络设施、GDBM和ODBC数据库设施,以配合Icon的2D图形。然后,I/O发展到包括各种流行的互联网协议和3D图形。I/O功能的定义无处不在,且在不断发展,并因平台而异,例如,触摸输入、手势或着色器编程功能在目前也已经相当普遍。

毫无疑问,尽管CPU速度和内存大小提高了数十亿倍,但1970年的编程和2020年的编程之间的最大区别在于,我们希望现代应用程序能使用各种复杂的I/O形式:图形、网络以及数据库等。库可以提供对此类I/O的访问,但语言级别的支持可以使其更简单、更直观。

Icon具有很强的可移植性,可以在Amigas、Crays、带有EBCDIC字符集的IBM大型机上运行。尽管这些年来平台发生了难以置信的变化,但Unicon仍然保留了Icon最大限度地提高源代码可移植性的目标:用Unicon编写的代码应该可以继续在各种重要的计算机平台上未经修改即可运行。由此产生了Unicon需求#4。