为什么脚本语言会"有目的地变成非完整"?

Ano*_*ith 1 scripting programming-languages turing-machines turing-complete bitcoin

所以,我在他们的官方文档上阅读有关比特币脚本的内容,并发现这句话:" 脚本很简单,基于堆栈,并且从左到右处理.有目的地没有图灵完整,没有循环. "我试图推理很难,但无法理解为什么有人会使一种语言" 有目的地非图灵完整 ".这是什么原因?如果一种语言成为图灵完成会怎样?并进一步扩展," 无循环 " 是否与非图灵完成的脚本有关?

pio*_*rek 5

可能的原因:

  • 安全性:如果没有循环,程序将始终终止.用户无法挂断翻译.此外,如果脚本的大小有限制,您可以有相当严格的时间限制.另一个没有循环语言的例子是google查询.如果谷歌允许循环,用户将能够杀死他们的服务器
  • 简单:没有循环使非语言程序员更容易阅读和编写语言
  • 没有必要:如果没有业务需要那么为什么呢?