从Lisp到Pascal,陈旧的代码如今已经再度焕发生机,而这一切要归功于下面将要介绍的各类JavaScript交叉编译器、翻译器以及模拟器。
计算机语言在保质期方面有着与众不同的独特规律。其中最为热门的各类编程语言所表现出的增长趋势与瞬息万变的时尚界可谓殊途同归。不过当热潮褪去、辉煌不再之后,奇怪的状况也将就此出现。不同于那些最终被大多数人彻底遗忘的流行歌曲或者灯笼裤设计,这些编程语言仍将继续存在、时常出现、纠缠不休、摆脱不掉。这种永生不朽的背后到底是什么样的动力所造就?答案很简单,保留旧有代码在成本上往往比利用那些最时髦、最具时代前沿特性的语言进行重写要低得多。
曾几何时,使用一套陈旧的代码库完全是种孤独的经历,甚至有点像在荒岛上独自生活。工作的主要内容在于保证一切都能够在虚拟磁带库与成绑的线缆之上正常运转。老式工具与老式编译器之所以始终受到选择甚至推崇,完全是因为只有它们才能让旧有代码继续起效。老式代码库会被当作传家宝,特别是在其中包含有源代码的情况下。
但最近几年来,随着新型交叉编译器以及解释器的陆续出现,这一切发生了转变。似乎在一夜之间,陈旧的代码已经能够融入现代编程环境,虽然还称不上完美和谐、但却已经足以实现整合,使相关技术人员不再感到自己的工作内容彻底脱离时代。正确的工具能够如庞德的名言所说,“让它再度焕发生机”。
归功于无所畏惧的尝试精神与坚定决心,老式代码如今已经通过一系列JavaScript工具找到了新的生存之道。时至今日,尘封的代码库已经能够切实起效并运行在现代设备之上。突然之间,原本只能运行在大型机上的代码已然可以立足于任何用户手机设备上的网络页面后台当中。
这些工具还远称不上完美,但它们的出色表现足以掩盖掉这些固有缺陷。重新编写原有代码会带来巨大挑战,因为这通常意味着相关人员需要透彻理解传统代码的编写思路——这几乎不可能实现,主要因为当年的开发人员需要针对磁盘空间极为昂贵的状况、这意味着仅仅是几行注释也会带来切实存在的成本压力。尽管投入大量精力能够产生可观的效益并消除一部分技术难题,但我们往往并没有多余的资源来如此奢侈地处理问题。相反,使用交叉编译器、翻译器以及模拟器能够更轻松也更快捷地打理这些陈旧代码库,并将其带入现代化领域——相比之下,利用庞大的技术团队深入研究这些即将消亡的编程语言、从其中挑出可用的陈旧代码并对一切进行重写显然很不划算。
在今天的文章中,我们将了解那些晦涩的元祖级编程语言如何在新兴JavaScript工具的帮助下重新焕发生机。以此为代表的转换工具很可能是惟一一种能够让这些晦涩难懂的编程语言继续生存的手段。大家不妨将其视为陈旧代码内容的生命维持系统。