Apple Watch|为什么用C语言编写操作系统?为什么不使用其他语言?( 二 )


切换到另一种语言可能会导致放弃数十年的代码 。 也许此代码中的许多代码都有安全性问题和其他缺陷 , 但是在功能范围内 , 它可以工作 。 过渡的情况需要符合高标准 , 以证明这种重大变化是合理的 。
优缺:
C的积极属性意味着它已成为一个值得信赖的工具 , 可以为高层(相对于Assembler)创建操作系统和硬件访问例程的蓝图 。 C语言设计的缺点 , 也许是它试图总结的机器模型的反映 , 自然而然地编写了不那么安全的代码 。 特别是如果您从Web复制和粘贴 。
用Lisp编写操作系统听起来是最好的主意 。 特别是基于那些积极倡导Lisp的人的主张 。 Lisp并未映射到系统定义中首选的抽象 , 而命令式语言越来越流行证明了这一点 。 对于可以替代操作系统的C的语言 , 人们进行了大量的研究 。 领先的竞争者是Rust and Go 。 他们似乎是取代C的最实用的候选人 。 然而只是到现在 , 还是C语言 。
蓝图:
【Apple Watch|为什么用C语言编写操作系统?为什么不使用其他语言?】编程语言是蓝图 。 一些蓝图说明了每件事应该如何完成 。 其他蓝图应该做什么 。 编译器和链接器将蓝图转换为计算机实际运行的代码 。 一串二进制数字 , 对机器产生某种意义 , 以产生您设计的效果 。 C成为了蓝图规范 , 该规范成为了作为操作系统的主要代码 。 替换语言意味着您可能不得不替换其他所有基于该语言的内容 。


推荐阅读