代码之家  ›  专栏  ›  技术社区  ›  Dario

核电站的功能规划?

  •  6
  • Dario  · 技术社区  · 15 年前

    读后 this question 我只是想知道在关键任务行业中使用haskell(或其他功能编程语言)是否是个好主意。

    除了Erlang之外,大多数语言遵循契约范式的命令/设计(艾达,Eiffel,C++)。

    但是功能性的呢?

    生成的代码易于维护、稳定,并且在编译时通过严格的类型系统可以消除许多潜在的错误。 或者懒惰的评价比有益更危险?还有其他安全缺陷吗?

    1 回复  |  直到 15 年前
        1
  •  10
  •   Marcin    15 年前

    我想你可以。该语言似乎非常适合这种情况,假设您足够信任编译器,以便在任务关键的情况下使用它。

    请记住,在任务关键的情况下,不仅您的代码受到审查,而且所有其他组件也受到审查。其中包括编译器(haskell编译器不是最容易审查代码的编译器)、运行软件的适当认证硬件、编译代码的适当硬件、引导编译代码的编译器编译的硬件、将所有这些连接到电网的地狱甚至电线以及插座中的电压变化。

    如果您对关键任务软件质量感兴趣,我建议您 NASA software quality procedures . 他们是非常严格和正式的,但这些家伙把数百万美元投入太空,希望它能在相当恶劣的条件下生存,并将使它到火星或任何地方,然后自主操作和发送一些火星人的好照片回地球。

    好了:haskell很适合任务关键的情况,但是在那里引导它的使用是一个昂贵的过程。