其他 线 有这个报价

  1. Erlang VM BEAM 和 HiPE 大部分是用 C 编写的。
  2. 链接驱动程序主要用 C 语言编写。(它们被插入VM并与外界的通信。)

我读过一些观点,认为 Ada 的强类型、模块化、运行时检查、并行处理等。ETC。都比 C 的好。

使用 Ada 编译的 Erlang 会比使用 C 编译的 Erlang 明显更好还是更差?

只是一个假设的Q。

有帮助吗?

解决方案

通常我会在这样的话题上向你抛出一堆狡猾的话,但事实证明这个问题正是如此 已被研究过 (这是一个 .doc 文件。对不起)。

Rational 拥有一个包含大量两种语言代码的编译器,以及多年来编译的有关错误率、修复时间等的大量数据。出于好奇,他们的一位工程师计算了这些数字。

答案是“C 的开发成本超过 Ada”。如果你读过摘要标题,你会发现他们想写 使用 Ada 编写相同代码的成本约为使用 C 语言编写成本的一半.

我知道每个读到这篇文章的人都急于找出这个结论的漏洞。我也是。但他们几乎从我在报告中能想到的每一个角度进行了考察。

其他提示

“更好”在什么方面?更好更快吗?错误越少越好吗?更好,更便携?更好的是更具可读性吗?更好的可扩展性?

对于“更好”的任何合适的定义,可以通过任何一种方式进行论证。然而,几乎没有什么编译语言比 C 更具可移植性。因此,如果您的目标之一是使您的应用程序高度可移植,那么 C 是一个很好的选择。

了解 C 的人多于了解 Ada 的人。如果用 Ada 编写,那么编写 erlang 扩展可能会困难得多,因为熟悉该语言的人较少。

C 代码可以具有高性能,但我知道 C 和 Ada 之间没有针对编译器优化的比较。

Ada 的类型检查可能有用,也可能是一个真正的问题。人们假设虚拟机会对对其重要的部分进行自己的类型检查。Ada 中 RTTC 的开销可能会带来完全不必要的负担。

也许吧,但是您的 Ada 编译器是用什么语言编写的?艾达?编写您的第一个 Ada 编译器的编译器怎么样?

在构建软件时的某些时候,形式语义和软件流程比用什么语言编码要重要得多。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top