APPENDIX A. SURVEY INSTRUMENT
The data collection form used in the survey is provided in the pages
that follow. Two minor changes to the "System Life-Cycle" portion of
the data collection form were made to tailor it for the AIS survey: 1)
Engineering and Manufacturing Development was replaced by Development,
and 2) Major Modification was replaced by Operations and Support.
Language Survey
1. Name of Program: ________________________________________
2. System Name (if different than above): ______________________________
3. Acquisition Category: I: ____, II: ____, III: ____, IV: _____
4. System Life-Cycle Phase: |
Concept Exploration: ____
Demonstration/Validation: ____
Engineering and Manufacturing
Development: ____
Production and Deployment: ____
Major Modification: ____ |
5. Total Current Source Lines of Code: |
1,000 - 99,999: ____
100,000 - 499,999: ____
500,000 - 999,999: ____
1,000,000 - 4,999,999: ____
5,000,000+: ____ |
Please complete the remaining portion of the form by indicating the
programming languages currently being used in developing or maintaining
all the software (e.g., operational, support) for this
program/project.
- For each language being used, estimate the amount of usage in the
appropriate "% of Total" column. Most programs should use percentage of
source lines of code compared to the total number of source lines of
code. However, if your program uses a different method for this
calculation (e.g., function points), use this percentage and make a
note.
- Most languages identified in Table 1 have a year designation that
refers to a specific language version. If you are unable to identify
the specific version, please provide supportive information.
- For second generation (assembly) languages, we are asking for a count
of distinct versions being used. The "% of Total" column should be
filled out for the aggregate of all assembly languages being used on
your program.
- Definitions for language generations are found after Table 2.
- If your language version is not listed, identify the version in the
space provided below.
Table 1
Language Type |
Language Name and Version |
% of Total |
| <5% | 5- 25% | 25 -50% | 50 -75% | >75% |
First Generation | Machine | | | | | |
Second Generation | Assembly (Provide Count of Distinct Versions Being Used): ___________ | | | | | |
Third Generation | Ada 83 | | | | | |
ALGOL | ALGOL 60 | | | | | |
ALGOL 68 | | | | | |
APL 89 | | | | | |
BASIC | BASIC 78 (minimal) | | | | | |
BASIC 87/93 (full) | | | | | |
C 89 | | | | | |
C++ (identify version on page 4) | | | | | |
CHILL 89 | | | | | |
COBOL | COBOL pre-85 | | | | | |
COBOL 85 | | | | | |
CMS-2 | CMS-2 Y | | | | | |
CMS-2 M | | | | | |
FORTRAN | FORTRAN pre-91/92 | | | | | |
FORTRAN 91/92 | | | | | |
JOVIAL | JOVIAL pre-J73 | | | | | |
JOVIAL J73 | | | | | |
LISP (identify version on page 4) | | | | | |
MUMPS | MUMPS pre-90 | | | | | |
MUMPS 90 | | | | | |
Pascal | Pascal pre-90 | | | | | |
Pascal 90 (extended) | | | | | |
PL/I | PL/I 76/87/93 | | | | | |
PL/I 87/93 subset | | | | | |
PROLOG (identify version on page 4) | | | | | |
SIMULA | SIMULA pre-67 | | | | | |
SIMULA 67 | | | | | |
Smalltalk (identify version on page 4) | | | | | |
TACPOL | | | | | |
Others: list and identify on page 4 | | | | | |
Fourth Generation | e.g., SQL, RPG, Clipper, Visual BASIC | | | | | |
Fifth Generation | e.g., Knowledge/rule base shells | | | | | |
Table 2: Special Purpose Languages
Application Area | Generic Language Name | Version Name and/or Number | % of Total |
| <5% | 5 - 25% | 25 - 30% | 50 - 75% | >75% |
Equipment Checkout | ATLAS | | | | | | |
Hardware Description | VHDL | | | | | | |
CDL | | | | | | |
Simulation | GPSS | | | | | | |
SIMSCRIPT | | | | | | |
CSSL | | | | | | |
Signal Processing | SPL/1 | | | | | | |
Space Programming | SPL | | | | | | |
Statistics | SPSS | | | | | | |
SAS | | | | | | |
Robotics Languages | AL | | | | | | |
AML | | | | | | |
KAREL | | | | | | |
Expert System Languages | KRL | | | | | | |
OPS5 | | | | | | |
The following definitions are provided for language generation:
- A first generation language is the same as a machine language,
usually consisting of patterns of 1's and 0's with no symbolic naming
of operations or addresses.
- A second generation language is the same as assembly language.
- A third generation language is a high order language that requires
relatively little knowledge of the computer on which a program will
run, can be translated into several different machine languages, allows
symbolic naming of operations and addresses, provides features designed
to facilitate expression of data structures and program logic, and
usually results in several machine instructions for each program
statement.
- A special purpose language is used for special-purpose application
areas such as robotics, machine tool control, equipment testing, civil
engineering, and simulation. Problem-oriented languages are a subset of
third generation languages.
- A fourth generation language is designed to improve the productivity
achieved by high order (third generation) languages and, often, to make
computing power available to non-programmers. Features typically
include an integrated database management system, query language
facility, report generator, screen definition facilities, graphics
generators, decision support capabilities, and statistical analysis
functions. Usually available as components of a commercial
off-the-shelf software package.
- A fifth generation language incorporates the concepts of
knowledge-based systems, expert systems, inference engines, and natural
language processing.
Please provide the language name, version, generation, application area
(for special purpose languages) and a reference to the manual (i.e.,
title, date and publisher) for each programming language or version not
listed above. Provide any additional information that would
prove useful in uniquely identifying the language.
Language Name, Version, etc. |
Manual Title, Date, and Publisher |
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
____________________________________________________________________
|