Should computer science (and related disciplines) redefine its key terminology in Latin (or some other suitable DeadLanguage), as is done by other professions such as law and medicine? (I'm not proposing adopting Latin for all technical discourse - just its use for our technical vocabulary. Having to learn the language in its entirety would be a BarrierToEntry into the profession; though computer scientists who are not native speakers of English might say the same thing about the EnglishLanguage). Reasons that this might be a good thing: * Precise technical definitions can be assigned to terms in Latin; with little possibility of confusing the technical definition with a common "everyday" definition for the term. Consider words like "object", "class", "type" - ordinary English words overloaded for computer science - and the lack of precise definitions for these in the literature. (I've read numerous papers with differing, though overlapping, definitions for what is and ain't an "object".) This is also one reason many martial arts name things in the home language of the art, rather than translating them to the language of the student and teacher. * Complex phrases, even entire sentences, can be rendered in Latin and then embedded atomically into the speaker's native language. Consider the following Latin phrases used by the legal community: "Res judiciata" and "Habeus corpus". Both are ''complete sentences'' in Latin - the former means "the thing has already been decided", the latter is "you are commanded to have the body". These phrases can be embedded wholesale into English prose ("the judge issued a writ of ''habeus corpus''") without alteration - a corresponding English phrase would need to be altered to meld with the surrounding English text. * Might make things easier for non-English speakers. (Or at least, make things harder for English speakers) * EnglishLanguage is well-known for technical imprecision. * Hard-to-learn or dead languages are a great way to limit a profession to an "educated" elite. * PerliGata already uses Latin. Reasons why not: * Computer science already has a common tongue - like it or not, it's EnglishLanguage. Why augment it or replace it with another? * The use of Latin in medicine and law has as much to do with history and tradition as anything else. As computer science doesn't have five hundred years of baggage to haul about, we can find something better than use of a dead language from an empire that existed two thousand years ago. * Even such limited use of Latin imposes a BarrierToEntry. It's easier for a somewhat-knowledgeable layperson to understand entry-level computer science literature than it is for the same layperson to understand entry-level law literature. * LatinLanguage still imposes a cultural bias - it is utterly irrelevant to native speakers of ChineseLanguage, HindiLanguage, or pretty much anything else outside of Europe. * All important programming languages use English terms - for reserved words, library symbols, etc. This includes languages such as EiffelLanguage designed by non-native-speakers of English (BertrandMeyer is French). Should we replace LispLanguage, SmalltalkLanguage, and the numerous others with equivalent languages that use Latin and not English terms? * Closely aligned fields, say mathematics, also make use of non-Latin, indeed, common English, technical terms. Consider words like "group", "graph", "map", "prime", "game", "series", etc. ---- Umm...Greek, Sanskrit? I'm surprised nobody has used the term "avatar" in OO (maybe they have). I agree the disadvantages would be as listed above. However, in new work it is a real struggle to find a word that has no freight of previous connotations. In my early FlowBasedProgramming work, I used the term "entity" for the data chunks travelling through the network, because I felt that they corresponded quite well to entities in the world outside the computer. Then "entity" got coopted by the RelationalDatabase people, so we eventually switched to InformationPacket''''''s (so far unclaimed, I believe). Same problem with the connections between the asynchronous components; same problem with the components themselves! All the obvious terms have undesirable connotations. IIRC the InternationalAlgebraicLanguage (IAL) used totally made-up words for some of its data aggregates to avoid the connotations of "record", "file", etc. -- PaulMorrison ---- ''It's hard to say--there are a few people who actually know Latin, thus rendering it insufficiently impenetrable. Better would be to make up a language that absolutely no one knows, so that nobody would understand what computer scientists were talking about. To be safe, we might want to move computer scientists to their own planet, so that they don't accidentally interact with Earthlings.'' * That depends. Can I bring my wife along? She's studying accounting.... :( ''Seriously, though (I'm the same AnonymousCoward who wrote the sarcastic paragraph above), mathematicians have had great success using ordinary English/French/German/Russian words with new meanings to express precise concepts. In AbstractAlgebra, for example, we have groups, rings, fields, ideals, categories, and so on. In French, "field" is "corps" (the French word for "body"). In software, the Gang of Four book uses terms like Composite, Flyweight, and Strategy for Design Patterns. What's not to like? Much better than that "legalese" crap, in my not-so-humble opinion. The use of Latin comes from a period in Europe's history where it was the lingua franca of intellectuals--a period which is now dead.'' ---- EsperantoLanguage: vaguely Latin-like, easy to learn and to build words with affixes. But it has characters that are nontrivial to type on most keyboards. LojbanLanguage: Contains only English characters, but the use of a single quote in words can be problematic. Since it's designed to be logical and unambiguous, you can be pretty sure what words mean, but the problem is that Lojban doesn't have nouns, verbs and adjectives as we know them. Lojbanists can't even talk about grammar without using Lojbanic jargon to describe it. How about Japanese? Or Hindi? ''Why do you consider it a problem? Lojban predicates generalize over nouns, verbs, adjectives etc, and one-to-one translations to/from English are no more problematic than for other languages. But their generality arguably might be more suitable for CS.'' ''Regarding jargon, that's not unique to Lojban by any stretch of the imagination. Linguistics borrows terms from other languages as necessary, e.g. the technical term "sandhi", borrowed directly from Sanskrit http://m-w.com/cgi-bin/dictionary?book=Dictionary&va=sandhi'' ---- The biggest pro, not listed above (put it there if you like), would be the end of the butt-ugly anglo-portuguese, anglo-spanish etc. spoken and written by the portuguese, spanish, etc. computer scientists when attempting to produce technical discourse in their native linguistic environments. This has been recognised as a huge problem by educators and authors. See for example http://www.ime.usp.br/~kon/papers/tupi.html ''But it does nothing to correct the problem of Anglo-German, Anglo-Chinese, Anglo-Japanese, and Anglo-English spoken and written by computer scientists the world over, and would only replace it with ugly Latin-German, Latin-Chinese, Latin-Japanese, and etc.'' No. Latin-German is not ugly because Latin is dead. Anglo-German is ugly. Anglo-English? Shouldn't that be forwarded to the DepartmentOfRedundancyDepartment? ''Not from the perspective of the British or Canadians. :-)'' Surely yes indeed of course. ''It was an attempt to point out that even native English speakers produce ugly prose when they attempt to produce technical discourse. The problem that our Portuguese colleagues suffer from probably isn't entirely the result of using jargon of foreign origin. It's simply a universal result of using jargon. See HaHaOnlySerious and BadCodeCanBeWrittenInAnyLanguage.'' No. It's solely the result of using jargon of *foreign* origin. If there were a native jargon the problem would exist. ---- ''"EnglishLanguage is well-known for technical imprecision."'' I'm sorry -- did you say ''imprecision''?!? You gotta be kidding me. Why, then, is English used as the standard for international air traffic control, diplomacy, business, and computer programming? Sorry, fella, but methinks most spoken language specialists would take exception to your portrayal of English as no goodnik for expressing technical concepts. The idea of using Latin for computer science smacks of...well, ''something''. ''It smacks of irony because the widespread use of Latin predates the invention of the modern computer. So, when people needed a neologism, they didn't run to their nearest Latin professor and ask him what a class library should be called. We'd have to invent LatinComputerTerms either from scratch or by stretching the meanings of existing words.'' ---- ''Why, then, is English used as the standard for international air traffic control, diplomacy, business, and computer programming?'' This is precisely why English is used for computer programming; it is the lingua franca of the centers of the industry, just as Latin and Greek were once, and as FrenchLanguage still is today in the food industry.