# Is there data for programming language popularity pre year 2000?

Besides the TIOBE Index, which ranks programming language popularity by search engine hits and seems to have data reaching back to the year 2001, are there other sources with some form of measure for the popularity of programming languages in the last millennium?

• FWIW, the "Very Long Term History" section on that page has some information going back to 1989. (C, C++, and LISP were apparently the big three.) So that site may have information that they're not presenting in detail. – fadden Jun 8 at 20:23
• Define 'popularity' – Bruce Abbott Jun 10 at 2:14
• Asking 'for some form of measure' I meant to keep this as general as possible knowing how vague the term 'popularity' is but also how hard it might be to find any pre-WWW data at all: number of usenet questions, number of scientific articles stating a language being used... I have added an answer based on a search for number of library items: many books about Pascal and BASIC being published in the 80s 'rhymes' with my memory of these languages being very popular among hobby programmers at that time. – v-joe Jun 11 at 1:37
• I wonder if maybe Dr. Dobb's Journal might have done some surveys back in the day? – LAK Jun 13 at 14:46

Below is an attempt of ranking 'popularity' of programming languages invented in the 1980s or earlier by searching for "language programming" on worldcat. The table lists how many library items exist per year. C and C++, e.g., can unfortunately not be distinguished in this search, and there are also false positives, considering that C's first release year is 1972.

           1970    1972    1974    1976    1978    1980    1982    1984    1986    1988    1990    1992    1994    1996    1998
Ada          0   0   0   2   0   0   0   0   0  22 141 140 145 185 258 244 384 439 562 736 452 658 389 279 263 141  91  57  37  31
Algol       16  15  16  11   9  13  17  19  13  11   7  12   2   9   4   2   4   0   1   0   1   0   0   0   0   1   0   1   0   0
APL         13  20   4  13  11  13   9  14  21   9  11  17   4  18  18  14  16  12   8  13   8   5   4   7   9   2   3   2   2   4
Assembly     9   4   6   3  11  12   7  13  17  20   9  12  12  33  43  38  34  39  22  25  28  20  23  14  21  19  11  21  17  19
AWK          0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   2   5   8   3   5   7   3   3   5   9   7   4   5
BASIC       19  31  44  55  65  56  46  61  73  49  96 132 196 218 214 233 186 127 107  77  78  59  87  92  73  78  73  84  73  75
BCPL         0   0   1   1   2   1   1   1   5   2   1   1   0   1   0   0   0   0   0   0   0   0   1   0   0   0   0   0   0   0
Caml         0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   1   1   0   0   1   2
COBOL       18  23  15  20  30  21  40  36  48  31  27  46  31  44  44  35  19  22  22  28  25  24  15   7  18   9  16  42  11  14
COMAL        0   0   0   0   0   0   0   1   0   0   0   0   0   0   0   0   0   0   1   1   0   0   0   0   0   0   0   0   0   0
C            9  12  11  11  13  23  20  27  38  27  30  48  73  83 130 170 196 278 265 259 370 352 376 498 517 582 465 469 513 392
dBase        0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   2   3   2   4   3   2   2   4   2   3   4   2   0   1   0
Eiffel       0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   3   2   1   2   1   4   4   5   4   7   1   2   1
Forth        0   0   0   1   0   0   0   1   0   0   1   2   8  12  11  11  12  13   3   9   7   5   2   2   8   1   1   0   2   2
FORTRAN     65  63  60  56  59  69  72  91  79  64  60  48  55  44  73  72  68  55  49  81  39  43  38  36  46  36  30  29  20  17
FoxPro       0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   1   3   3   1   3   2   3   1   1
Lisp         3  10   9  14  17  16  20  26  19  16  26  38  23  26  54  57  73  94  46  76  72  43  33  37  31  17  17   8  11   6
Logo         0   2   2   5   4   0   0   0   1   1   3   1   3  36  57  37  59  30  36  32  51  31  25  20  23  29  19  16  21  19
MIMIC        1   0   2   1   5   0   0   0   0   0   0   2   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
ML           0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   1   0   0   1   2   7   9  14   1   9  10  11  16
Modula-2     0   0   0   0   0   0   0   0   0   0   0   0   5   5   3  14  12  13   9  12   9   8   3   1   9   1   0   0   0   0
Modula-3     0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   0   1   0   1   1   2   0   1   0
Oberon       0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   5   8   5   1   5   6   3   4   2   2   0
Occam        0   0   0   0   0   0   0   0   0   0   0   0   0   2  11   6  11  20  35  19  19  19  13  15  11   8   8   2   4   5
Pascal       0   0   0   2  15   6  19  13  34  30  56  60  62 128  90 109 101 125 105  98  99  85  60  68  46  32  28  17  24  15
Perl         0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   4   0   3   9  14  30  37
PL-11        0   0   0   0   1   0   1   0   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0
PL/C         0   0   0   2   4   0   1   0   1   0   2   0   1   0   1   1   0   0   0   0   0   0   0   0   0   0   0   0   0   0
PL/I         7  17  16  16  15   9   7  10  15   8   5   6  13   3   3   6   2   2   2   0   1   2   0   0   2   1   0   1   1   0
Postscript   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   9   0   6   5   3   0   0   1   1   1   0   1
Prolog       0   0   0   0   0   0   0   1   0   1   0   4   8  12  31  43  77  89  68  53  70  62  44  71  43  22  30  16  17   9
REXX         0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   3   1   0   1   0   4   1   3   5   5   3   2   2   2   0
Scheme       0   0   0   0   0   2   0   0   2   0   0   0   0   0   4   3   4   4   2   2  10  16   5   2   6   6  11   8   4   6
sed          0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   2   0   0
Simula       0   0   0   0   3   6   3   2   2   9  14   3   4   0   0   0   0   1   3   0   0   0   0   0   2   0   0   1   0   0
Smalltalk    0   0   0   0   0   1   0   3   0   0   0   0   2   2   4   6   3   8   4   8   6  12   5  14  20  19  11   6   9  12
tcl          0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   1   3   1   2   2


Graphing the top-eleven languages (by overall publications) per year gives:

• Added a graph of the top-eleven languages by year... hope that's OK. – TripeHound Jun 10 at 10:13
• The graph does add a nice overview. I'm surprised about Ada having such a high publication count. – v-joe Jun 10 at 10:24
• Very interesting. I see you have FoxPro in the list, but that didn't exist until 1994 (it was called 'FoxBase' before that). 'dBase' or 'xBase' might be worth including, though. – LAK Jun 10 at 19:44
• @MichaelShopsin "Assembler" might show more/better results: one might generically talk of "assembly language" but I have a feeling (from memory only) that books (especially processor-specific ones) might be more along the lines of "Programming in Z80 Assembler" etc. – TripeHound Jun 10 at 20:01
• @LAK good catch, I've added dBASE to the list (FoxPro for DOS was indeed only introduced in 1989: foxprohistory.org/foxprotimeline.htm ). – v-joe Jun 11 at 1:28

While only limited to one month of data and to only one provider, here is a ranking of the top 20 programming languages by number of readers of newsgroups under comp.lang from March 1995 as collected by DEC Network Systems Laboratory (data taken from this link):