In the C# programming language Chris Sells states:
I begin to wonder about any language where the following string
of characters is both valid and meaningful:
class Foo
{
public static dynamic DoFoo()
{
//...
}
}
Of course this means that the DoFoo method is a type method (as
opposed to an instance method) and that the type of the return value
is unknown until runtime, but it’s hard not to read DoFoo as both
static and dynamic at the same time and worry about an occurrence of a
singularity.
I believe Chris means something like…”we don’t want to produce a language that implies that a method belongs to a type and the type could be anything”…but I can’t find any evidence of this nor of the impact of such a design.
I found Technological singularity, but that appears unrelated. What does Chris mean by a “singularity” in this case? Why are singularities troublesome?
I think that in this case, Chris is assuming an alternative meaning of the word static that would imply that it is the diametric opposite of dynamic.
This oxymoron-ic method signature might encourage the appearance of a black-hole or other unexpected physical phenomenon.