The Computer Journal
Towards monolingual programming environments
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
LUCID, the dataflow programming language
LUCID, the dataflow programming language
Programming languages for computer music synthesis, performance, and composition
ACM Computing Surveys (CSUR)
A proposal for an extended form of type checking of expressions
The Computer Journal
On understanding types, data abstraction, and polymorphism
ACM Computing Surveys (CSUR) - The MIT Press scientific computation series
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
ACM Computing Surveys (CSUR)
Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
Programming language concepts (2nd ed.)
Programming language concepts (2nd ed.)
Programming in Prolog (3rd ed.)
Programming in Prolog (3rd ed.)
Automatic translation of FORTRAN programs to vector form
ACM Transactions on Programming Languages and Systems (TOPLAS)
Unifying functional, object-oriented and relational programming with logical semantics
Research directions in object-oriented programming
Dimensions of object-based language design
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Understanding object-oriented: a unifying paradigm
Communications of the ACM
The C programming language
The Vienna Definition Language
ACM Computing Surveys (CSUR)
An Assessment of Techniques for Proving Program Correctness
ACM Computing Surveys (CSUR)
A Sampler of Formal Definitions
ACM Computing Surveys (CSUR)
Programming in an Interactive Environment: the ``Lisp'' Experience
ACM Computing Surveys (CSUR)
Retargetable Compiler Code Generation
ACM Computing Surveys (CSUR)
Communications of the ACM
The Cornell program synthesizer: a syntax-directed programming environment
Communications of the ACM
A comment on English neologisms and programming language keywords
Communications of the ACM
Incorporation of units into programming languages
Communications of the ACM
Communications of the ACM
The denotational semantics of programming languages
Communications of the ACM
The Altran system for rational function manipulation — a survey
Communications of the ACM
An axiomatic basis for computer programming
Communications of the ACM
Revised report on the algorithm language ALGOL 60
Communications of the ACM
Strong typing and physical units
ACM SIGPLAN Notices
A potpourri of notational pet peeves (and their resolution in modcap)
ACM SIGPLAN Notices
ACM SIGPLAN Notices
Object-Oriented Software Construction
Object-Oriented Software Construction
Conversion of Computer Software
Conversion of Computer Software
Elements of Software Science (Operating and programming systems series)
Elements of Software Science (Operating and programming systems series)
Macroprocessors and Techniques for Portable Software
Macroprocessors and Techniques for Portable Software
A Discipline of Programming
Principles of Visual Programming Systems
Principles of Visual Programming Systems
Computer Organization
Theory and Practice of Compiler Writing
Theory and Practice of Compiler Writing
Introduction to Formal Language Theory
Introduction to Formal Language Theory
APL: An Interactive Approach
The design of maple: A compact, portable and powerful computer algebra system
EUROCAL '83 Proceedings of the European Computer Algebra Conference on Computer Algebra
SYMSAC '71 Proceedings of the second ACM symposium on Symbolic and algebraic manipulation
Abstraction mechanisms and language design
Abstraction mechanisms and language design
A programming system
ACM SIGPLAN Notices
Why a Lisp-based command language?
ACM SIGPLAN Notices
The multics system: an examination of its structure
The multics system: an examination of its structure
The SNOBOL 4 programming language
The SNOBOL 4 programming language
Programming in Modula-2
Report on the algorithmic language ALGOL 68
Report on the algorithmic language ALGOL 68
History of programming languages I
History of programming languages I
Classics in software engineering
Classics in software engineering
Structured programming
Functional programming is not self-modifying code
ACM SIGPLAN Notices
Hi-index | 0.00 |
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.