Sturla Molden wrote: > Steven D'Aprano <steve+comp.lang.pyt...@pearwood.info> wrote: > >> Variations in idiom and spelling are a good thing. They open our minds to >> new possibilities, remind us that we aren't all the same, and keep life >> fresh. I remember the first time I realised that when Indians talk about >> "a code" they aren't using "wrong English", they are using a regional >> variation. In British and American English, "code" in the programming >> sense[2] is a mass or uncountable noun, like air[3], milk, music and >> housework. > > I can assure you that in a veterinary sence, Yersey cows will produce a > milk with higher fat content.
A good example of the complexity and subtlety of English grammar. I don't know enough linguistics to tell you what "a milk" in that sense is called, but it's not the same as "1 milk", "2 milks" etc. I'm not even sure what the purpose of the "a" is, since it reads fine without it. I chalk that up to "English is weird", like the way we sometimes refer to money as a mass noun ("two buckets of money", not "two monies") and other times we treat it as a mass plural noun ("please hand all monies to the bursar", but it would be weird to say "please hand five monies to the bursar"). Oh, and of course since language is complicated and speakers of language are lazy, there are contexts where one does say "two milks" as a short-hand, like we say "two sugars" when we mean "two spoonfuls of sugar" or "serves of sugar". The unit of measure is implied by context. > In a lingustic sence the "a" is not a count -- that would be the word > "one" --, it is the indefinite article. Here is the difference: > > The Enigma machine produced a code that only Alan Turing could break. If I > say the Enigma machine produced one code that only Alan Turing could > break, it means all the other codes could be broken by someone else. No. It means that there is one secret code that Turing, and only Turing, could break, and some unknown number (possibly zero, possibly millions) of codes that he could not break. Whether other people could break these other codes is not stated. Whether you say "a code" or "one code" (or "fifteen codes" for that matter) is irrelevant. There is a weak implication that if Turing cannot break the other codes, nobody else could either. That's not necessarily true in real life, but as a rough rule of thumb, we can reason like this: since there is one code that Turing can break but others cannot, he must be cleverer at breaking secret codes than everyone else. If he is cleverer at breaking codes, then it is unlikely that they could break codes that he cannot. If they could break an Enigma code, so could he. Therefore, if he cannot break them, neither can anyone else. > What if I say "this file contains a long Fortran code"? Or what if I say > "this file contains one long Fortran code"? There is a subtile difference > in meaning here. In British/American/Australian English, you wouldn't say either of those. You would say "a long piece of Fortran code" or "a long example of Fortran code". Or more likely, "a long Fortran program". Program is counted: there is no difficulty in B/A/A English to say "I have written 17 programs". We can substitute "one" for "a" and the meaning remains the same: "Here is a long example of Fortran code." "Here is one long example of Fortran code." In neither case does it imply that there is only one example of Fortran code which is long in the entire world. (This is bringing back memories of when I was, oh, four or so, when I got into a long argument with my teacher that "a hundred" and "one hundred" were different. You counted "ninety-nine, *a* hundred, a hundred and one, a hundred and two, ... a hundred and ninety-nine, *one* hundred, one hundred and one...") -- Steven -- https://mail.python.org/mailman/listinfo/python-list