5

I'm trying to translate a computer algorithm book to Chinese (from English). But then I came across the following sentences. I know what the author is trying to say, but I have no idea what does "skreeble", "glurp", and "grindlebloff" mean...

For example, if the original input is a skreeble with n glurps, the input to each recursive call should be a skreeble with strictly less than n glurps. Of course this is impossible if the skreeble has no glurps at all --- You can’t have negative glurps; that would be silly! --- so in that case we must grindlebloff the skreeble using some other method.

The book chapter is available as a pdf here; you can find the above text on page 23 of the book/page 3 of the pdf file.

Any help is appreciated!

8
  • Thanks @JEL, I think I get what you mean, which makes a lot of sense. However, properly translating it now becomes a challenging task ┓( ´∀` )┏
    – vistb
    Commented Nov 5, 2020 at 8:30
  • 2
    You can use Chinese nonsense words if such things exist. Computer studies course materials used to have examples where companies manufactured 'widgets', a nonsense word representing a product. See also 'foo' and 'bar'. Commented Nov 5, 2020 at 8:59
  • 2
    These are invented nonsense words, not established English vocabulary, The facetious exclamation between the dashes effectively confesses the effect their inventor is going for, in selecting and sequencing their vowels and consonants: silly. (The silliness in "negative glurps" is not the negative part.) But readers have to be able to tell which nonsense term is which part of speech. Lewis Carroll's "Jabberwocky" is the best-known example of how this works. How has that been translated into Chinese? Commented Nov 5, 2020 at 9:44
  • 1
    It may help to know that this sort of thing in computer science is called a metasyntactic variable. The Wikipedia page lists examples in English and other languages, though not Chinese en.wikipedia.org/wiki/Metasyntactic_variable
    – Stuart F
    Commented Nov 5, 2020 at 13:37
  • 1
    There is Der Jammerwoch in German. »Bewahre doch vor Jammerwoch! Die Zähne knirschen, Krallen kratzen! Bewahr' vor Jubjub-Vogel, vor Frumiösen Banderschntzchen!« Commented Nov 5, 2020 at 14:50

1 Answer 1

7

Several people have answered in the comments. I'll write an answer.

Computer geeks tend to have a sense of humour that is different from that of normal people. I know because I have worked amongst them! Where mathematicians would use x, y and other symbols to stand for unspecified objects or quantities, computer folk sometimes use nonsense words. For those who understand the subject, this is considered hilarious.

A justification for using nonsense terms in this case is that we are discussing the abstract concept of recursion and not framing it within any particular programming language or schema. Different languages have different terms for the same thing.

Here is my best guess without reading what goes before.

For example, if the original input is a structure with n fields, the input to each recursive call should be a structure with strictly less than n fields. Of course this is impossible if the structure has no fields at all --- You can’t have [a] negative [number of] fields; that would be silly! --- so in that case we must process the structure using some other method.

Note that the above is a more general definition of recursion than usual. Mostly, when recursing, we reduce a simple count by exactly one each time. This description allows a reduction by any number of fields as long as there is always a reduction AND the reduction does not take us below zero. To grindlebloff differently clearly refers to the treatment of the zero or null case at the end of any branch of the recursion. The end of recursion always requires a special treatment.


Note

A more general version yet would be:

For example, if the original input is an item with n attributes, the input to each recursive call should be an item with strictly less than n attributes. Of course this is impossible if the item has no attributes at all --- You can’t have a negative number of attributes; that would be silly! --- so in that case we must process the item using some other method.

3
  • Thank you, currently I'm translating it into "For example, if the original input is a problem with n parameters, the input to each recursive call should be a problem with strictly less than n parameters. Of course this is impossible if the problem has no parameters at all --- You can’t have a negative number of parameters; that would be silly! --- so in that case we must solve the problem using some other method." I'll try to come up with a better translation that carries over the sense of humor :P
    – vistb
    Commented Nov 5, 2020 at 11:02
  • 1
    Your solution sounds good to me although it might be slightly less general than "item" which could stand for "problem" as well as anything else. Let's see if there are other suggestions. Frankly I think that the humour serves only to confuse. Especially for those who are not used to computer jargon. When I first learned about recursion, I was lucky enough to read a book that had straightforward language. Commented Nov 5, 2020 at 12:01
  • 1
    The Jargon File is good introductory reading (and fun IMO): catb.org/jargon/html might be a little dated.
    – Yorik
    Commented Nov 5, 2020 at 19:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.