Path: utzoo!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!hplabs!hpda!hpdslab!hpiacla!scottg From: scottg@hpiacla.HP.COM (Scott Gulland) Newsgroups: comp.lang.misc Subject: Re: Languages in the the REAL world -- Listing Message-ID: <4950003@hpiacla.HP.COM> Date: 23 Nov 88 06:43:06 GMT References: <325@lafcol.UUCP> Organization: Hewlett Packard Lines: 98 / hpiacla:comp.lang.misc / stachour@umn-cs.CS.UMN.EDU (Paul Stachour) / 2:58 pm Nov 20, 1988 / >>Each of us have unique gifts which allow us to excel in some areas >>while in others ... well we don't do quite so well. It may be quite >>true that you are unable to become fluent in a language in just two >>weeks, this could very well be the norm. I'm sure there are other >>areas you excel in. However, I have had to write large modules (5K+ >>lines of code) in four different languages over the last three years. > >I don't call 5k+ lines of code "large modules". Note that I said 5K '+' lines of code. 5K is the lower limit. Many of these modules are much larger. >In fact, I suspect >that they are not modules at all, but incorrectly modularized >subsystems. A 5K+ lines "module", if it really is a module, >is very interesting. Grady Booch has over 500 components in >his set, and none of them is anywhere near that size. The term module is simply referring to code which provides a solution to some specific task. This task can be arbitrarily complex. The term module does not imply any structure and is definitely not a single peice of code 5K lines in length. It may consist of any number of component peices. Subsystem could also be an equivalent term for it. >Yes, I can write a 5000+ lines-of-code, but that hardly >tests fluency. How big are full-length novels in natural languages? >And even they use a very small subset of a natural language. I agree. It is the comprehension the the language which counts. Its knowing how to use the all of the features of a language correctly even though any given project may use only a subset. This I have been able to do. >>It took me at most 2 weeks to become fluent in each language and >>usually only one week. I do mean fluent here, not just competent in >>the language. There are many other people I know who also have >>this ability. > > Who considers you fluent? You or a "native speaker"? Why a "native speaker" of course. I thought I made that clear. > I know hundreds of people who consider themselves fluent in "C". >Yet, when I ask them questions like: "What method do you use in >C when writing modules to avoid the name-clash problem?" they >stare. And it usually takes 20 minutes to explain the problem. >And when I ask questions such as "Under what circumstances you >use '#define' versus 'typedef ENUM'?" they don't know. And when >I ask them "Does your dialect of C support bit-fields, and if so >in what way?" they've never looked it up. I could go on and on >with my questions, but I have discovered that most people who think >they are fluent in a language aren't. They are like the people who >programmed in FORTRAN for 10+years, and got suprised by the way >in which the values of their variables no longer persisted between >invocations of a subprogram on a different machine. They were even >more suprised when I pointed out that the FORTRAN 66 standard didn't >even mention the semantics question, and that their FORTRAN vendor >was perfectly legal. I'm glad that none of the members in my team nor myself fall into this catagory. >Berlitz, who can "learn a new language in two weeks". IF you are, >I'd like to have you working where I do. But I do suspect that >you are "merely" one who learns the initial portion of languages fast. Your suspicions are wrong again. > I still have trouble in French not confusing "ecouter" with >"entendre". (I don't have a French book here, and may have spelled >them incorrectly.) They mean "to hear" and "to listen"; and I >somtimes confuse the two. And I also have cross-language problems, >sometimes saying "gare" (French for railroad-station) when I mean >Bahnhoff (German for railroad-station). And, in programming languages, >I sometimes write "\=" when I mean "/=" for not-equals (or was it >"!=" or "^=" or "~="). Someone totally fluent in a language does not make >that kind of mistakes, but someone who is only partially fluent does. You know, I make the same kinds of mistakes. Even in English, my native language. I frequently mis-spell words and my punctuation stinks. It seems by your definition of fluent that less than 1% of the American public would be considered fluent in English. > In conclusion, there is a lot more to a language than just learning >the syntax: There's the subtle semantics, the language interactions, >and the fact that what "always works" in C doesn't all of a sudden >when you go to another world (say VAX-VMS) and discover that one of >the ways-of-working that you always implictly thought was part of the >language was "just a subroutine convention" and it doesn't work there, >just as natural language changes in subtle ways between British-English >and US-English and Australian-English and ... Agreed. That's why I do my homework whenever I move to a new architecture. I learn those differences first thing.