Subject: Re: case-sensitivity and identifiers (was Re: Wide character implementation) From: Erik Naggum <erik@naggum.net> Date: Mon, 25 Mar 2002 14:14:10 GMT Newsgroups: comp.lang.lisp Message-ID: <3226054464281011@naggum.net> * Matthias Blume <matthias@shimizu-blume.com> | This is not strictly true in all (natural) languages. All of these arguments indicate that using the capital letter for the sentence-initial word is a very bad design choice for a written language; it violates that strong sense of difference that those who want it to exist focus so strongly on. However, I would argue that the sheer acceptability of destroying the importance of the capital letter in the sentence-intiial word cannot be ignored. When I tried to _preserve_ the case of the word despite its position in the sentence, this was regarded as Very Wrong by a bunch of hostile lunatics. This indicated to me that case is _primarily_ incidental, since the intrinsic role can at any time be overridden by the incidental role -- specifically, you have no idea whatsoever what the capitalization of the sentence-initial word would be if it were moved, yet this causes absolutely no problem for anyone. | Anyway, all I wanted to say was that the distinction between different | versions of a character set are not completely incidental in many (most?) | natural languages. In real life, nothing is ever completely anything. People use and abuse case "because it's there". This would not change if capital letters were coded with a "flag" that communicated capitalness. On the contrary, if we had such a flag, the natural development is to have _two_ flags: One for the incidental capital and one for the intrinsic capital. In either case, the display and the coding properties of a character should be separated. You provided an excellent example of this with hiragana and katakana. | I do not want to use this as as argument for or against case-sensitive | identifiers in programming languages, since I do not think that | programming languages should in any form or manner be modelled after | natural ones. That is not the argument. Please try to understand this. The point is that I have taken the liberty to design the world over again, backing up to _before_ computer geeks coded their character sets, and making a crucial change to the coding of upper-case vs lower-case characters. The names "upper-case" and "lower-case" refer to typographic characteristics, not meaning. Meaning may be coded separately from typography, just as we do in almost every other case, | (However, I must admit that I personally prefer being able to use mixed | case when programming.) If it had been most costly for you to achieve this, in terms of "knowing" that you would waste additional space to encode capital letters, would you still have done preferred it? I believe, from the reactions to the extended experiment with not randmoly upcasing the sentence-initial word, that people would be inclined to accept a coding overhead for that role, as well as for proper nouns, but randmonly and liberally sprinkling such overhead throughout identifiers in order to achieve an unnatural visual effect only because it could be done, would most likely not happen. As Common Lisp uses the hyphen to separate words, which would have no higher overhead than embedded capital letters, other languages would have far less inclination to make this horrible mistake, and would therefore not _require_ case-sensitivity. Whether the programmers would prefer a case-folding or a case-preserving case-insensitivty is an open question, but at least designing languages and coding conventions to use case would not likely happen if case was regarded as just as incidental as color or typeface. /// -- In a fight against something, the fight has value, victory has none. In a fight for something, the fight is a loss, victory merely relief.