Nota bene
I was looking at the J programming language yesterday and I was amused to see that it uses NB." to mark the rest of a line of source code as a comment, just like # in Python or // in C++. This makes comments in J look like comments in English prose.
NB" abbreviates the Latin phrase nota bene meaning note well." It's been used to mark side notes in English for about three centuries.
Most programming languages couldn't use NB" or NB." as a comment marker because it would inconsistent with conventions for identifiers, but J's unconventional code syntax allows it to use conventional English notation for comments.
Why J?I was looking at J because I have a project looking at its younger sister Remora. As described in this paper,
Remora is a higher-order, rank-polymorphic array-processing programming language, in the same general class of languages as APL and J. It is intended for writing programs to be executed on parallel hardware.
J keeps the array-oriented core of APL but drops its infamous symbols. Remora syntax is even closer to the mainstream, being written like a Lisp. (Some might object that Lisp isn't mainstream, but it sure is compared to APL or J.)
APL comment symbolLearning about J's comment marker made me curious what its APL counterpart was. APL had custom symbols for everything, including comments. Comments began with (U+235D), the idea being that the symbol looked like a lamp, giving light to the poor soul mentally parsing code.
The full name for the lamp symbol is APL FUNCTIONAL SYMBOL UP SHOE JOT." Since this section of code is explicitly for APL symbols, why not call the symbol COMMENT or LAMP rather than UP SHOE JOT?
I suppose the comment symbol looks like the bottom of a shoe. There's also a symbol (U+2366) [1] with the name APL FUNCTIONAL SYMBOL DOWN SHOE STILE"
and so up" and down" must refer to the orientation of the part of the symbol that looks like and . But what about jot" and stile"?
A jot is a small character. The name is related to the Greek letter iota () and the Hebrew letter yod (). But if and are a shoe, the jot" is a fairly large circle. Does jot" have some other meaning?
A stile" is a step or a rung, as in a turnstile. I suppose the vertical bar on top of is a stile.
Related posts[1] What is this character for in APL? Unicode includes it as an APL symbol, but it's not included in Wikipedia's list of APL symbols.
The post Nota bene first appeared on John D. Cook.