From: dpbsmith@world.std.com (Daniel P. B. Smith)
Subject: Subcultures (was: Re: Is FORTRAN a viable language?)
Organization: The World Public Access UNIX, Brookline, MA
Date: Sat, 2 Jan 1993 02:35:55 GMT

Never overlook the fact that computing world is large, complex, and
consists of many subcultures, most of which are astonishingly provincial,
bigoted, and unaware of the existence of the others.

The UNIX community is very heavily oriented toward C, and C++, because
they are the language in which UNIX was developed.  

In the past, the PC community has tended to consist of relatively young
programmers, and hence has tended to track whatever language was most
fashionable in the academic community (notable BASIC and PASCAL).  The
popularity of C is partly based on its intrinsic merits, partly on the
fact that it is a relatively "small" language that is relatively easy
to develop compilers for, and partly on the influence of UNIX-trained
programmers entering the market.

Good, well-entrenched languages don't just evaporate if they have
a) an installed base, b) a decent technical reason for being, c) compilers
on plenty of platforms, and d) a good, active standardization committee
that knows its stuff.  FORTRAN has all of these.  Speaking as someone who
doesn't particularly like FORTRAN and doesn't use it currently, I think it
is a very safe bet that FORTRAN will be alive and well ten years from now.
I think it is a much safer bet that FORTRAN will be healthy than that the
Intel-DOS-PC "architecture" will be healthy.

If you expect your career direction to include science and engineering
with numerical work, you might as well stay comfortable in FORTRAN and
getting a compiler for your PC is a good way to do it.

If you are most concerned with how to get a job as a software engineer
in the next few years, C++ is the thing to learn right now.

If you are most concerned with stretching your mind and understanding
the wonderful possibilities of computer languages, try to expose yourself
to some interesting, different, wild and wonderful languages.  Some
languages that tought ME something include:

APL -- the niftiest language I've ever used for expressing numerical
       problems; the tool I'd most like to use if I had to solve a
       numerical problem myself and didn't care if it had to be
       published, used by others, etc; the language that taught me
       "loopless" programming.

Smalltalk -- the real thing in object-oriented languages.  Much more fun
             than C++.  

Microsoft Visual BASIC -- it's not the language tha matters, it's the
      overall environment.  The language part of VB is boring.  VB
      as a whole is very commendable.  (You can learn the same thing
      from HyperCard on the Mac, or Toolbook on the PC).

M (formerly MUMPS) -- the language with the universal data type.  
      The things called "arrays" don't need to have dimensions declared
      in advance, are sparse, allow STRINGS as subscripts.  Wanna
      express the idea that Dan Smith lives in Norwood?  Just write
      set town("Dan Smith")="Norwood"

Spreadsheets.  The macro "languages" in them are bogus at best, but the
      overall concept of "formulas" and automatic recalculation are
      very interesting and quite unlike anything in traditional languages.

Well, I could go on and on, but the point is -- explore.  Stretch yourself.
Don't try to find the "one best language" and become a boring language
bigot.  But if you like FORTRAN, don't be afraid it will die.  You don't
hear a lot about it here because this isn't part of the FORTRAN subculture.


-- 
Daniel P. B. Smith
dpbsmith@world.std.com