Group: natural language
Group: types of programming languages
Topic: learning a programming language
Topic: primitive functions
Topic: programming by sequential implementation
Topic: programming environment
Topic: programming language design
Topic: programming system
Topic: symbolic representation
Topic: von Neumann computer
| |
Summary
A programming language forms the interface between contradictions. It can be actively used for idea development and communication or passively used for specification. Natural languages are active, allowing design while most programming languages are passive for program specification, but a programming language needs to be both passive and active, since it is used by man and machine. For humans, a programming language should be locally understandable, yet no where should it impose constraints. For the machine programming languages must be simple and straight forward. Modifications of existing programming languages are seldom justifiable by increased programmer productivity. (cbb 5/80)
A language expresses new information through a framework of previously known information. Programming languages, such as Pascal, provide a fixed framework while the framework of natural languages is fluid. Programming languages consist of a notation, a computational model, and user specified declarations. A language should allow all possible computations and all possible machine actions. The latter is not possible in high-level languages since their abstract computational model is different from physical machines. Processing a programming language involves changing text into lexical atoms, atoms into syntactic structure, structure into a computational sequence, and sequence into code. Most programming languages are enhancements of FORTRAN and ALGOL, while a few, such as APL, LISP and TRAC, demonstrate alternative approaches. (cbb 5/80)
Subtopic: language for problem
Quote: the primary purpose of a language is to express oneself in a given problem area [»rossDT3_1957]
| Quote: a language helps to organize thinking about a problem area [»rossDT3_1957]
| Quote: a language represents the important features of a problem area and thus channels expressions [»rossDT3_1957]
| Quote: the Analytical Engine links the operations of matter with the abstract mental processes of mathematical science; a new language for analysis
| Subtopic: language for descriptions
Quote: a programming language is a tool for creating descriptions, irrespective of readability
| Subtopic: language for communication
Quote: a programming language should maximize the ability to write readable programs [»spooCR4_1986]
| Quote: how does writing programs on a computer differ from writing essays; both are long duration messages [»goodFL_1981]
| Quote: a programming language is for communication between man and machine [»dijkEW_1963]
| Quote: a language communicates descriptions between human models and computer models; and commands for human-computer interaction [»ingaDH8_1981a]
| Quote: programming languages are communication media with computers; semantics should be similar [»wirtN1_1966]
| Subtopic: language as notation
Quote: programming languages are really notations [»stoyJ_1977, OK]
| Quote: language condenses meaning; simple and expressive notation, easily understood, easily remembered [»babbC_1826, OK]
| Quote: high level languages allow one operator to generate many operations and one operand to indicate many attributes [»browPJ_1969, OK]
| Quote: computer code is a very compact deposit of our intellectual labors [»dijkEW_1976]
| Quote: using FORTRAN reduces the amount of thinking, bookkeeping, writing, and time [»backJW_1957]
| Quote: a programming language's style translates brief statements into complex functions
| Quote: J's primitives are one or two letters, e.g., $y for shape of y, #y for count of y, x,:y append itemized x to itemized y, f^:n y apply f n times to y [»huiRKW8_1991]
| Subtopic: language is not notation
Quote: the true contraction of reference is machine code; a language should be an expansion of reference; unlike VHLLs [»cbb_1980, OK]
| Subtopic: language is primitive operations -- state machine
Quote: a programming language is a set of basic things and a way to express things in terms of other things [»landPJ3_1966]
| Quote: a programming language defines the fixed and given things; in ML this is the environment [»spooCR4_1986]
| Quote: a programming paradigm is the set of features that a programming system provides for free with a warranty of correctness and general efficiency [»thimH6_1989]
| Quote: a programming language provides a fixed framework and changeable parts [»backJ8_1978a]
| Quote: to learn a computer command or construct need to learn its side effects and typical uses; what it is for [»diseAA_1986a]
| Quote: von Neumann languages must have their semantics closely coupled to the state; every computational detail changes the state
| Subtopic: surveys and history
QuoteRef: wegnP_1979b ;; good review of literature on programming languages. emphasis on abstraction.
| QuoteRef: knutDE8_1976 ;;excellent coverage of 20 earliest programming languages
| QuoteRef: addyAM4_1980 ;;A draft proposal for Pascal
| Quote: computer language design is a primary research area in computer science
| Subtopic: problems with programming language
Quote: the EDSAC group remained skeptical of programming languages. They preferred symbolic machine code, a subroutine library, and powerful diagnostics [»campM1_1980]
|
Related Topics
Group: natural language (16 topics, 539 quotes)
Group: types of programming languages (29 topics, 611 quotes)
Topic: learning a programming language (15 items)
Topic: primitive functions (34 items)
Topic: programming by sequential implementation (26 items)
Topic: programming environment (46 items)
Topic: programming language design (53 items)
Topic: programming system (9 items)
Topic: symbolic representation (26 items)
Topic: von Neumann computer (14 items)
|