cvs commit: src/sys/fs/msdosfs msdosfs_vfsops.c
rwatson at FreeBSD.org
Sun Nov 18 02:38:35 PST 2007
On Sun, 18 Nov 2007, Peter Jeremy wrote:
> On Sun, Nov 18, 2007 at 09:21:31AM +0000, Maxim Konovalov wrote:
>> o English lesson from bde@: "iff" is not a typo, it means "if and only
> AFAIK, it's a mathematical term, rather than general English (at least I
> learnt it in high-school maths). I'm not sure how common it is - I've used
> it at work and had people (native English speakers) not recognize it.
> It's not in any of the FreeBSD dictionaries or my Concise Macquarie, though
> it is in Wictionary and Wikipedia.
> This does bring up an interesting point: Unlike the documentation, the
> FreeBSD sources are only available in American. What (if any) effort should
> the FreeBSD project make to ensure that the source code is accessible to
> non-native speakers by avoiding unusual terms?
'iff' was definitely part of my formal education in three fields during my
undergraduate career in the US -- mathematics, computer science, philosophy,
and logic. It's used as an abbreviation for a longer term which addresses an
ambiguity in English, hence its popularity with the above classes of
scientists and engineers. I've seen it used fairly extensively in computer
science training here in the UK as well.
I think we should target accessibility of our source, but by choosing clear
and unambiguous terminology that has well-defined meaning in computer science
and mathematics. As such, 'iff' is just the sort of abbreviation, if we're
going to use abbreviations at all, that we should be using. Likewise, I would
expect slightly unusual and potentially awkward use of the word 'or' in
comments, on the basis that the word 'or' gets used in (often intentionally)
ambiguous ways in English that don't align with the classical
logical/mathematical/computer science uses.
Here are some other abbreviations I'm happy to see in our kernel comments:
"CPU", "TLB", "LRU", "FAT", "FIFO", "LED", "UFS"; likewise some English terms
that are abused in entirely standard and onsistent ways in computer science
and related fields: "list", "queue", "process", "or", "and", "boot", "set",
"page", "virtual", "device", "file", "structure".
Or to be short: I don't think we should try to "un-computer science" the
kernel -- training in computer science is required to understand anything as
complicated as a kernel, and expecting some knowledge of the terms in which
computer science is described isn't unreasonable. If someone wants to write a
nice glossary of computer science terms in the handbook or developer's
handbook, I think that would be a useful exercise, however -- or even just a
cross-reference to a decent one.
Robert N M Watson
University of Cambridge
More information about the cvs-src