Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Functional programming 为什么使用goto被认为是不好的做法,而call/cc不是';T_Functional Programming_Goto_Control Flow_Callcc - Fatal编程技术网

Functional programming 为什么使用goto被认为是不好的做法,而call/cc不是';T

Functional programming 为什么使用goto被认为是不好的做法,而call/cc不是';T,functional-programming,goto,control-flow,callcc,Functional Programming,Goto,Control Flow,Callcc,我目前正在学习延续的概念。我正在努力理解为什么通过例如goto命令进行直接控制流操作是一种不好的做法,但使用call/cc这样做很好。这不是同一件事,而是通过不同的方式实现的吗 为什么使用goto被认为是一种不好的做法,而使用call/cc则不是?事实是:分隔(或可组合)的连续体是一种可行的选择,具有一些可取的特性:@bob Oleg Kiselyov article实际上就是我问这个问题的原因。我的理由是,如果他写了这篇文章,那么它一定会反对广泛使用call/cc(因此不被认为是坏的)。所以问

我目前正在学习延续的概念。我正在努力理解为什么通过例如goto命令进行直接控制流操作是一种不好的做法,但使用call/cc这样做很好。这不是同一件事,而是通过不同的方式实现的吗


为什么使用goto被认为是一种不好的做法,而使用call/cc则不是?

事实是:分隔(或可组合)的连续体是一种可行的选择,具有一些可取的特性:@bob Oleg Kiselyov article实际上就是我问这个问题的原因。我的理由是,如果他写了这篇文章,那么它一定会反对广泛使用call/cc(因此不被认为是坏的)。所以问题是有多少种语言实际实现了
call/cc
作为核心语言特性。我认为,
call/cc
是一场学术辩论和研究对象。。人们很少使用它,对吧?我不确定是否有人能说call/cc只是一个学术概念。根据维基百科,它在一些非常著名的语言(例如C++、Ruby)中实现:如果它实际上被广泛应用于人们的项目中?我不确定。