【发布时间】:2012-08-14 20:52:16
【问题描述】:
我经常听到这句话,但并不完全理解它的含义。这是什么意思?如果可能的话,有没有例子?
谢谢!
【问题讨论】:
-
嗯,真的更多a phrase from popular culture可以应用于CS的很多领域。
-
频道文档在这里定义它:channels.readthedocs.io/en/latest/…
我经常听到这句话,但并不完全理解它的含义。这是什么意思?如果可能的话,有没有例子?
谢谢!
【问题讨论】:
它有时用于指代“纯”面向对象(或函数式)语言。在 a.o. java、c#、c++、Objective c 和 Delphi,有一些本机类型 (int) 的行为不像对象。在 Smalltalk 中,这种错觉保持得更好。
【讨论】:
这个表达式的一个用法是指一种调用堆栈非常深的编程风格。您可能会看到一个名为 Grobble 的方法并想知道它的作用,因此您打开定义并看到:
class FooHandler
{
void Grobble(Foo foo)
{
foo.Grobble();
}
}
那么你看看Foo.Grobble:
class Foo
{
FooImpl _fooImpl;
void Grobble()
{
_fooImpl.Grobble();
}
}
你也可以FooImpl 看起来像这样:
class FooImpl
{
void Grobble()
{
this.Grobble(false);
}
// etc...
}
代码越走越深,还是看不到尽头,任由你沮丧地惊呼“一路下来都是乌龟!”
指的是地球的metaphor 位于乌龟的背上。乌龟站在什么上面?另一只乌龟……等等。
【讨论】:
这通常是指自托管编程语言,其中解释器或编译器是用被解释/编译的相同语言编写的。它还可以引用以语言本身编写的语言的库。
Smalltalk 和 Lisp 以这种方式闻名。
【讨论】:
Turtles all way down 是一个有时用来指代无限递归的短语。例如,最小整数是多少?没有一个。 -2 小于 -1,-3 小于 -2,依此类推。没有底。引用的原始来源是对“如果世界在乌龟的背上,乌龟站在什么上?”这个问题的回答。无论如何,它没有我所知道的任何编程特定含义。
【讨论】: