Four Dimensions of programming-language independence

  • Authors:
  • Daniel J. Salomon

  • Affiliations:
  • -

  • Venue:
  • ACM SIGPLAN Notices
  • Year:
  • 1992

Quantified Score

Hi-index 0.00

Visualization

Abstract

The features of programming languages can be evaluated according to how they affect programming-language independence in four dimensions. The four dimensions are: 1) machine independence, 2) problem independence, 3) human independence, and 4) time independence. This paper presents a definition of independence, and shows how that definition applies to each of the dimensions. By organizing language features in this way, the strengths and weaknesses of many language designs can be identified, and new directions for programming-language research become apparent. This paper also presents the advantages of, and methods of achieving, independence in these dimensions, and occasionally presents the disadvantages of independence.Each of the four dimensions is treated as a discrete domain, and the elements of each domain are classified according to their properties. The elements of the machine domain are classified according to (a) architecture, (b) machine size, (c) peripheral devices, and (d) operating system. The problem domain is classified according to (a) discipline, (b) problem context, (c) system mode, and (d) problem-solving methods. The human domain is classified according to (a) user qualifications, (b) natural language spoken, (c) the three classes designers, implementors, and users, and (d) independence in the class implementors is considered alone. Finally the time dimension is treated in three time scales: (a) program processing, (b) project development, and (c) language evolution.