See comments below.

On 2016-08-12 18:34, Don Guinn wrote:
Ironically the acronym often becomes the name. Everybody knows what NASA
is. What the CIA is. But people have to think to figure out what the real
name is. Take ICE. I'll bet that half the people don't even know what the
actual name of the ICE organization is. A long name, particularly with lots
of words in it is like many objects, not one object. Did you know that
"grep" is an acronym for "globally_search_a_regular_expression_and_print"?
A non-unix person could understand the full self-documenting name but not
the acronym. But one would still be in the dark as it didn't say what a
"regular_expression" is. And I don't think I would want to type all that
whenever I did a search, even with auto completion. Intelligent acronyms
are fine when are commonly used. Long names built by compilers to assure
uniqueness are awful.
Yes, it's obviously slightly easier to read and write a short word than a long. However, since the world is complex we have a lot of words, we use many words for a concept and when we describe this concept in a computer language we tend to skip the blanks, like in JVerbDyadicDefine for Define J Dyadic Verb.

As to tacit. Which is easier to read?
    range =: (>./ numbers) - (<./ numbers)
    range =: (>./ - <./) numbers
Actually it depends on the reader's background. For me the second line the
use of a tacit fragment makes it easier to read as "numbers" is one object,
not two. And the fragment is easy to read knowing the definition of a fork.

Self-documenting code makes me nervous because it is inadequate. It misses
references to company documents, legal issues and technical papers
describing algorithms. It misses the "why".
That you write self-documenting code does not mean you are not allowed to have other accompanying documentation.

Documentation and naming conventions are necessary but not easy to do
properly. But a programming language should not define and enforce
standards for documentation and naming conventions. Leave that up to the
company or individual.
Yes, but the code is always part of the documentation. It describes what the computer really does. Since the code is documentation the readability of the code is important. If you can't have long variable names because the language is created for usage at a teletype prompt, this is a language problem. If the language is so complex that few if anyone can read it's notation, it's a language problem.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to