核电厂的功能编程?
阅读完这个问题之后,我只是想知道在关键任务行业使用Haskell(或其他函数式编程语言)是不是一个好主意。
除了Erlang之外,大多数语言都遵循命令/设计 - 契约范式(Ada,Eiffel,C ++)。
但是功能性的呢?
由此产生的代码易于维护,稳定,并且可以在编译时通过严格的类型系统消除大量潜在的错误。 或者懒惰评估比有帮助更危险? 还有其他安全缺陷吗?
我想你可以。 该语言似乎非常适合这种情况,假设您相信编译器足以在任务危急的情况下使用它。
请记住,在任务危急情况下,不仅您的代码正在审查中,而且所有其他组件也一样。 这包括编译器(Haskell编译器不是编程审查中最简单的编译器之一),运行软件的适当认证硬件,编译代码的适当硬件,引导编译编译代码的编译器的硬件,甚至是线程将所有这些连接到电网和插座中电压变化的频率。
如果您有兴趣查看关键任务软件质量,我建议您查看NASA软件质量程序。 他们是非常严格和正式的,但是这些家伙在太空中投入了数百万美元,希望它能够在相当艰难的条件下生存下来,并将它带到火星或任何地方,然后自动运行,并发送一些令人印象深刻的火星人照片。
所以,你去了:Haskell适合任务危急的情况,但在这里启动它的使用将是一个昂贵的过程。
链接地址: http://www.djcxy.com/p/47735.html上一篇: Functional programming in nuclear plants?
下一篇: How/why do functional languages (specifically Erlang) scale well?