🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.misc
Article #5880

Re: Languages in the the REAL world -- Listing

#5880
From: Paul Stachour
Date: Sun, 20 Nov 1988 22:58
84 lines
5195 bytes
  ...
>As everyone knows, English, German, etc. is far more complex by at
>LEAST a factor of 100 then a programming language.  So the statement
>above taken in the context of programming languages is totally 
>meaningless.
One has to start somewhere in an analogy.  I know that natural
languages are definitely more than an order-of-magniture 
more complex than programming languages, and will accept your
100+ times.  But I can't accept that the analogy is meaningless.
  ...

>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".  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.
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.

>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"?
   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.


>So although a week may be a little short, a competent software
>engineer should be able to become good-and-fluent in ANY new language
>in less than 6 weeks with most learned in 1-3 weeks.
   You may indeed be the programming-language anologue of Charles 
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.
I, for one, will accept the studies of Barry Boehm, as shown in
his Software Engineering Economics Book.  It's the best set of
hard-data that I know.

   But why should I judge?  Why don't you post what the languages
were that you learned in two weeks?  Along with that, post what
was the "hardest semantic" of that language for you to learn.

   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.

  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 ...
Technical Details
Message-ID: <10134@umn-cs.CS.UMN.EDU>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!hal!nic.MR.NET!umn-cs!stachour
References: <325@lafcol.UUCP> <4950001@hpiacla.HP.COM>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!cwjcc!hal!nic.MR.NET!umn-cs!stachour
From: stachour@umn-cs.CS.UMN.EDU (Paul Stachour)
Newsgroups: comp.lang.misc
Subject: Re: Languages in the the REAL world -- Listing
Message-ID: <10134@umn-cs.CS.UMN.EDU>
Date: 20 Nov 88 22:58:39 GMT
References: <325@lafcol.UUCP> <4950001@hpiacla.HP.COM>
Reply-To: stachour@umn-cs.cs.umn.edu (Paul Stachour)
Organization: CSci Dept., University of Minnesota, Mpls.
Lines: 84