Topic: programming language design

topics > computer science > programming > Group: program representation

goals for a programming system
program design

business application language
design languages
domain specific language
experimental results on programming
extensible languages
formal methods and languages
language flexibility
learning a programming language
primitive functions
programming environment
programming language
uniform language systems
user-defined languages

Subtopic: universal language up

Quote: there should be a single language for all aspects of software engineering from initial conception to use [»rossDT_1970]
Quote: the minimum number of layers in a system is a high-level programming language and hardware; the operating system can be eliminated [»ingaDH9_1982]
Quote: C++ is a general purpose programming language for enjoyable programming by serious programmers [»stroB_1991]

Subtopic: communication with machine up

Quote: programming languages are communication media with computers; semantics should be similar [»wirtN1_1966]

Subtopic: simplicity up

Quote: a language is too complicated if a precise, readable definition requires more than 50 pages [»nelsG_1991]
Quote: keep a language simple by meeting a fixed, page count, complexity budget; helps prune otherwise good ideas
Quote: design one language feature at a time; improvement, efficient, documentation, security, examples, proof rule [»hoarCA_1974]
Quote: separate language definition from program definition; van Wijngaarden grammars mix the two [»wirtN1_1966]

Subtopic: productivity up

Quote: the goal of computer language design is the rapid and easy production of programs that work as intended [»cleaJC_1975]
QuoteRef: smitDC6_1975 ;;ii- "A programming language can be more than just a passive medium for communication.

Subtopic: procedures and parameters up

Quote: the language designer should give the greatest attention to procedures and parameters

Subtopic: expressiveness up

Quote: unnecessarily large gap between mental plans and programming languages
Quote: base programming languages on the structure and expressiveness of natural language; do not implement English [»lopeCV12_2003]
Quote: people can cope with many programming constructs as long as they can easily discriminate them
Quote: FORTRAN designed to express any numerical procedure [»backJW_1957]
Quote: syntax that looks similar should be similar; and different things should look different [»maclBJ_1987]
Quote: Tcl can define a button with a single line. The same button takes 7 lines of code in Java and 25 lines in C++/MFC [»oustJK3_1998]

Subtopic: efficiency up

Quote: FORTRAN was designed as needed; the real problem was a compiler that produced efficient programs [»backJ8_1978]
Quote: FORTRAN was designed for both local and global efficiency of instructions and their context [»backJW_1957]
Quote: FORTRAN was designed for efficiency instead of good language design; Backus believes this decision was correct [»backJ8_1978]
Quote: except for sequencing, the PL360 language maps directly to the IBM 360; operations, storage, segments; sequencing through control structures [»wirtN1_1968]

Subtopic: efficiency and expressiveness up

Quote: the ultimate goal of programming language design is to express rubble programs which are automatically converted to efficient forms [»schwJT_1978]
Quote: a programming language's style should reduce housekeeping in its domain while allowing expression in other domains [»blumBI_1985]
Quote: cost-effective success in language design is progress in programming methodology
Quote: PL360 bootstrapped on a B5500 by reprogramming the compiler in its own language; useful for refining the language [»wirtN1_1968]
Quote: PL360 is a simple, readable, recursive, symbolic machine language for IBM 360 computers; improves program structure and style [»wirtN1_1968]
Quote: ESP language for writing firmware using event-driven state machines; fast, easily programmed, easily debugged, memory management [»kumaS6_2002]
Note: Thesa is a high-level representation of assembly language code [»cbb_1990, OK]

Subtopic: usability up

Quote: usability categories--simple/natural dialogue, user language, reduced memorizing, consistency, feedback, exits and shortcuts, error messages and prevention [»moliR3_1990]
Quote: the language designer selects the best features instead of designing new ones; clear idea of scope, purpose, complexity [»hoarCA_1974]
Quote: Algol was an improvement on its predecessors and nearly all of its successors [»hoarCA_1974]
Quote: listen carefully to what users want; understand what they really want; achieve the latter at a fraction of the cost of the former [»hoarCA_1974]
Quote: zero, one, and infinity are the only reasonable numbers in program language design [»maclBJ_1987]
Quote: Tartan was designed as a simple language that meets most of the Ironman requirements [»shawM9_1978]
Quote: user customization language for screen formatting; popular; very simple, flexible syntax [»boreNS_1991]
Quote: the less needed to explain a language feature, the better its design [»demeA_1978]
Quote: most programming language designs have not encouraged helpful programming environments [»yonkMD10_1975]

Subtopic: portability between languages up

Quote: .NET supports a wide variety of programming languages through the common language runtime (CLR) [»hamiJ2_2003]
Quote: converting a program to another language is always difficult; particularly with semantic equivalence and a rich source language [»tereAA11_2000]
Quote: CLR supports unsafe code, tail calls, user-defined value types, enumerations, unsigned ints, variable length arguments, pointer arithmetic, global variables, private scope, function pointers, call-by-reference, multidim arrays, pinned objects [»hamiJ2_2003]

Subtopic: model of computation up

Quote: a language should be designed around a single, uniform metaphor [»ingaDH8_1981a]
Quote: design a programming language by understanding the structure of computation and data spaces; instead of evaluating features against their costs [»mccaJ8_1962]
Quote: a proficient user must develop a comprehensive internal model of a programming language [»richF12_1977]
QuoteRef: backJ8_1978a ;;614 "Underlying every programming language is a model of a computing system that its programs control
Quote: Fortran and Algol derive their integrity from a simple model [»wegnP12_1976]
Quote: Fortran is based on fixed code and data blocks while Algol is based on an activation record stack
Quote: the local structure of Mesa is like Pascal; its global structure is like Simula 67; used a lot [»gescCM8_1977]

Subtopic: components of design up

Quote: a programming language should support function, object, and constraint-oriented programming [»nygaK10_1986]
Quote: programming language dimensions--functional, notational, and modal (modification) [»halpMI1_1968, OK]
Quote: a program uses computation, data input, verification of data, data output, and data structures [»coucJ_1981]

Subtopic: languages not worth the effort up

Quote: programming languages are not adequate for building computer systems [»winoT7_1979]
Quote: few programming languages are sufficiently cheaper or more reliable to justify producing or using them [»backJ8_1978a]
Quote: Smalltalk is a system for defining systems; it is not a language [»goldA10_1995]

Related Topics up

Group: goals for a programming system   (21 topics, 983 quotes)
Group: program design   (13 topics, 454 quotes)

Topic: business application language (11 items)
Topic: design languages (12 items)
Topic: domain specific language (8 items)
Topic: experimental results on programming (75 items)
Topic: extensible languages (71 items)
Topic: formal methods and languages (53 items)
Topic: language flexibility (34 items)
Topic: learning a programming language (15 items)
Topic: primitive functions (34 items)
Topic: programming environment (46 items)
Topic: programming language (29 items)
Topic: uniform language systems (25 items)
Topic: user-defined languages
(42 items)

Updated barberCB 6/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.