[net.lang] Language use

wpl@burdvax.UUCP (William P Loftus) (02/05/86)

I am looking for a good reference that will tell me what percent of
the programs written are in each programming language.

I have heard that 75% of all programs are written in COBOL, 24% are
written in FORTRAN, and 1% are written in other languages, but
I would like a reference.


Thanks,
--
      /
     /         /======/                 Ronin   ..!burdvax!wpl
=======       /      /
/  /  /      /======/
======      /      /
 /         /======/
/

taylor@glasgow.glasgow.UUCP (Jem Taylor) (02/10/86)

Also interesting, but even harder to discover, would be the source-langauge
of programs , in proportions of CPU time used and or images executed . . .
languages like BLISS and BCPL which are most used in OS's would figure higher
in such an ordering, I guess.

doug@terak.UUCP (Doug Pardee) (02/21/86)

> I am looking for a good reference that will tell me what percent of
> the programs written are in each programming language.
> 
> I have heard that 75% of all programs are written in COBOL, 24% are
> written in FORTRAN, and 1% are written in other languages, but
> I would like a reference.

There are too many variables to give anything that even approximates
an answer.  For example,

Do you want to know
  a)  The percentage of programs ever written, or
  b)  The percentage of programs written for computers still in use, or
  c)  The percentage of programs still being used themselves, or
  d)  The percentage of programs still being maintained, or
  e)  The percentage of programs currently being written?
  
Do you count copies on different systems individually?  Or is the
VAX/Unix 4.2 C compiler on this system not count if you've already
counted it on another VAX?

Do you count one, two, or three different programs for "lint" running on
VAX, PDP/11, and Motorola 68000?

Do you count different versions as the same program?  Is Unix 4.2
and System V the same program?  What about the two versions of PCC
we use here:  one generates VAX code, one generates NS32000 code?

Do you count a program that is run once and then discarded to be the
same as a program like "ls" that is run many times a day?

Do you count a shell script as a program?

Getting even more esoteric:  do you count anything programmable, or
is there some specific definition of a "program" that you're thinking
of?  Does the microcode inside a 68000 count as a program?  Or maybe
it counts as a hundred programs, one for each instruction?  What about
the cooking instructions on my microwave oven?

Getting serious again...  the figures that were suggested above are
probably based on "customer-developed mainframe applications" -- that
is, the programs that run on big IBM/Honeywell/CDC/etc computers;
programs that were written by programmers at the computer site; programs
whose results are supposed to benefit non-computer people.

That estimate was probably made 15 years ago or more; there's no way
that anyone could make any sort of rational estimate now.  By the time
you specify enough parameters to make it measurable, the result would
be meaningless.
-- 
Doug Pardee -- CalComp -- {hardy,savax,seismo,decvax,ihnp4}!terak!doug

doug@terak.UUCP (Doug Pardee) (02/22/86)

> Also interesting, but even harder to discover, would be the source-langauge
> of programs , in proportions of CPU time used and or images executed . . .
> languages like BLISS and BCPL which are most used in OS's would figure higher
> in such an ordering, I guess.

My money's on MCS-48(R) assembler.

[Okay, I'll explain.  MCS-48 is Intel's low-end microcontroller line.
You'll find one in just about every keyboard made in the last few years,
as well as in things like microwave ovens, washing machines, intelligent
thermostats, stereo equipment, televisions, and just about any place
else that low-cost computer control is desirable.  There are zillions of
them out there...]
-- 
Doug Pardee -- CalComp -- {hardy,savax,seismo,decvax,ihnp4}!terak!doug

x@mit-prep.ARPA (Dean Elsner) (02/27/86)

Doug@terak.UUCP was correct that you can't account programming languages
sensibly for a networked environment. A useful metric is "what % of bodies
are programming in a XXX environment, as distinct from a YYY environment".

I regret to report that names like COBOL JCL BAL RPG PL/1(which is better
than the others by my reconning) are far more common in corporate DP than
eg ForTran C Pascal Modula2 Simula Lisp.
Interestingly, almost as many corporate scriveners do it in (many mutually
incompatible varieties of) BASIC as in COBOL in my town (Perth Western
Australia) but they
usually do it on smaller boxes. These rankings were derived from fresh
chicken entrails propitiously read through dark glass under a full moon.
-- 
x@prep.ai.mit.edu Disclaimer: I am not me.

ladkin@kestrel.ARPA (Peter Ladkin) (02/28/86)

In article <6@mit-prep.ARPA>, x@mit-prep.ARPA (Dean Elsner) writes:
> Interestingly, almost as many corporate scriveners do it in 
> [..] BASIC as in COBOL in my town [..]
> but they usually do it on smaller boxes. 

Is that so they can't be caught at it?
In public, or in private?

Peter Ladkin

doug@terak.UUCP (Doug Pardee) (03/03/86)

> A useful metric is "what % of bodies
> are programming in a XXX environment, as distinct from a YYY environment".

It'd be nearly impossible to determine exact numbers; some of the
sub-industries are difficult to quantify.

For non-professional programmers, I'd guess BASIC.

For the really huge employers (GM, TRW, government, etc.), probably the
biggest single group is CICS Command Level/COBOL.  [For those
unfamiliar, the base language is COBOL, but the bulk of the program
consists of calls to CICS Command interface routines.]  Add in the other
IBM COBOL programmers, and you've probably got a majority.  And there's
still a lot of FORTRAN in the scientific community.  PL/I was stillborn,
and RPG's limited range of applicability prevented it from becoming
really popular with the big data centers.  Assembler is used only in the
Systems Programming departments.

For the smaller employers, it depends on the kind of programming.  For
ordinary business-type stuff, it's virtually all COBOL and RPG.  The RPG
contingent is slowly dying off; this is primarily because these smaller
businesses can now afford computers that are capable of much more
complex jobs than one can express in RPG.

An almost invisible horde of smaller companies employ programmers to
write programs for embedded microprocessors.  How many companies, how
many programmers, how many programs, it's hard to tell.  Most of this
work is in assembler (when you've only got 2K of program storage, you
don't mess around).  With the advent of larger control stores, some
shops are experimenting with C and FORTH.  From what I've heard, the
C projects have had mixed results, and the FORTH projects have usually
been failures.  A small number of programmers are employed developing
microcode for bit-slice machines.  This is virtually all in assembler.

And a number of smaller employers develop software specifically.  I
include in this both software houses and (for example) Tektronix's
development of the UTek operating system.  Here again, it's hard to
tell how many companies, how many programmers, and how many programs.
C and assembler are the most common languages, with C usually being
used on applications intended for Unix boxes and IBM-PCs.

Then there are the one-man software developers.  It's anyone's guess how
many people consider themselves to be in this category.  Again, C and
assembler predominate, with C again being used on applications targeted
to Unix boxes and IBM-PCs.  Very few of these programmers are able to
support themselves through these efforts, so there's some question as to
how many truly "professional" programmers there are in this group.
-- 
Doug Pardee -- CalComp -- {hardy,savax,seismo,decvax,ihnp4}!terak!doug