1.4 Language Counting Issues
The classification of programming languages for counting purposes has
always been, and continues to be, a highly debated subject on which
experts differ in definitions and philosophy. Even when definitions are
generally agreed upon, the application of the definition in a
particular case is often difficult, with results depending on the
judgement of a person.
For the purposes of this report, the key issue is the difference
between "version" and "dialect." We use the term "dialect" to indicate
a relatively minor change in a language whereas "version" indicates a
larger change and usually has a different "name" although the new
"name" may only be the concatenation of a different year or number to
the baseline name (e.g., Jovial, Jovial 73). While these definitions
may appear to be abstract issues of interest only to language
specialists, they actually have a profound effect on portability,
interoperability, and counting. If a dialect (involving small changes)
is involved, training and portability may be easier than with a new
"version." A dialect would normally not be considered a separate
language. A version may or may not be considered a separate language,
depending on the purposes of the counting. In this report we counted
historical versions that divide conveniently between pre- and current
version years.
Because the practical usage of programming languages is generally at
the third generation level, this survey concentrates on this level
while still collecting some minimal data for other generations of
languages. Consequently, the results from this survey can be compared
only in a general way with the historical assertion about "450" general
purpose languages as a practical illustration of what is happening in
the DoD environment.
1.5 Scope
The results of this survey are drawn from a limited sample of DoD
weapon systems and AISs; therefore, the survey does not provide an
exact and detailed record of computer programming language usage in the
DoD. Several constraints affected the precision of the results:
- The study's sponsors were primarily interested in knowing the primary
languages being used in DoD. A detailed, comprehensive inventory of
computer programming language usage in the DoD was not called for.
Therefore, the following types of software were partially or wholly
excluded from the survey:
- Software being developed at Service and DoD research laboratories
- Software being developed for highly classified systems
- Commercially purchased software
- Firmware
- Software funded by Operations and Maintenance (O&M)
- Software below the funding level for Presidential budget-line
identification
- The effort required by respondents to complete the survey form was to
be minimized. Therefore, trade-offs were made in the amount and detail
of information requested.
- The resources available for the conduct of the survey were limited.
1.6 Organization
A description of the methods used to identify the survey population and
sample is found in Section 2. A profile of the survey respondents is
presented in Section 3. Analysis of the programming language data
obtained by the survey is provided as findings in Section 4. Section 5
summarizes the conclusions drawn from survey results. Section 6
contains the recommendation. Appendix A contains the survey instrument
and Appendix B provides the data obtained during the survey. We have
provided as much detail as possible about the method and response data
with the intent of providing a documented baseline for future language
studies.