下一节:,上一节:设计建议   [目录][索引]


3.1 使用哪种语言

当你想要使用一种编译后可以高速运行的语言时,最好的选择是 C 语言。C++ 也可以,但请不要大量使用模板。Java 如果经过编译也是可以的。

当对效率要求不是最高时,自由软件社区中常用的其他语言,例如 Lisp、Scheme、Python、Ruby 和 Java 也是可以的。Scheme,由 GNU Guile 实现,在 GNU 系统中扮演着特殊的角色:它是扩展 C/C++ 编写的程序的首选语言,也是各种应用场景的优秀语言。使用 Guile 和 Scheme 的 GNU 组件越多,用户就越能够扩展和组合它们(请参阅 《Emacs 论文》,见 GNU Guile 参考手册)。

许多程序被设计为可扩展的:它们包含一个比 C 更高级的语言的解释器。通常,程序的大部分也是用该语言编写的。Emacs 编辑器率先使用了这项技术。

GNU 软件的标准可扩展性解释器是 Guile(https://gnu.ac.cn/software/guile/),它实现了 Scheme 语言(一种特别简洁且简单的 Lisp 方言)。Guile 还包括 GTK+/GNOME 的绑定,这使得在 Guile 中编写现代 GUI 功能变得可行。我们不拒绝用其他“脚本语言”(例如 Perl 和 Python)编写的程序,但使用 Guile 是实现 GNU 系统整体一致性的途径。