The tiers vs. modules confusion
I'm French and I work in the IT industry here. But because about every improvement in the software domain is done in English (or at least translated in), we have a translation problem. I don't know if it's widespread among the other non-english speaking countries (quite a lot in fact). Basically we have two options: keep or translate. Most of the time, we chose to keep the english word. The reason is simple: standardization. We have an instance that defines our vocabulary and grammar (L'Académie Française), but computer science is a too fast moving and too specialized target to be handled by this instance.
This vocabulary is used in various places: books translations, books in native languages, computer science lesson, technical documentation for our clients. All of this builds a set of developpers with very different degrees of knowledge. Most of them are basically clueless, they are developpers because it's a job they have found, they have strictly no interest in computers nor in software development, a technical discussion is very difficult with them, because they're not interested in remembering or learning anything from it. A second category is "want to learn, but not at ease in the comprehension of English". Not knowing the basic English puts a real stopper on the learning. You have to wait until someone translates or at least explains the vocabulary. And if nobody has a strong authority on the subject, you have multiple translations and explanations: this is the end. This leads to another category, "want to learn and knows basic English" (my case I hope :-). Internet brought us an overwhelming wealth of information, with a decreasing signal to noise ratio todays with blogs and the hesitant syndication. We are at a point were our primary sources of information are sponsored by strong corporate interests, and with a lot of bloggers, with their success, joy, deception, anger and a fantastic sense of ranting and flamming. But it went on the opposite direction of usenet: instead of one group focusing on one subject, we have one people focusing on its group of interests, repeat n times for both. For this "want to learn and can", a resource becomes quickly very limited: time, so he/she has to choose what to do with its remaining free time.
What's left? A handful of "hardcore" enthusiasts, living in their own world, and among them, two or three trying to share with the Management the concepts of today. Basically, they know that development that promotes reusability is good (even if there is never enough money to achieve it), they have been told that multi-tiers applications are more scalable, because there is a separation between different layers. This doesn't prevent at all to have a modular (as Bertrand Meyer defined in Object-Oriented Software Construction) conception inside the tier. The problem is that "tier" is what we call a "faux ami" (I guess it's the same expression in English). The French "tier" means "third party", so if you don't translate and speak about "une architecture 3-tier", it has a sense as if it was translated. But translating as "third party" or "party", you loose the "layer" aspect. At that moment you see things like "le tier de logging" ("the logging 'tier'") to appear. This is a nonsense (at least in most of the applications), because logging is orthogonal to the business process. What makes sense is to have a logging module which takes care of the log streams, format them and put them in places where it makes sense. Little by little, words are used in place of others ones, and they lose their meaning.
Eventually, when a technical discussion happens between a "want to learn" and a "drown in it", the vocabulary must be rehearsed, again and again. We're on the edge, we fight to rediscover concepts, and put a name on them: this is still youth... perhaps adolescence.(Cyberpunk, 2003/11/25 12:17) lien permanent
mardi 25 novembre 2003