There are too many programming languages to consider them
all in this handbook. This page
considers only languages of interest to researchers in
computer vision. Some of these are languages currently used in
computer vision or allied fields.
Some are languages that researchers in computer vision
might want to consider learning about, either for
practical programming or for useful ideas.
Programming Language Research
The Programming Language Research Page contains pointers
to current research on programming language design.
Programming Language Implementation
Particularly good books on programming language implementation include the
- Christian Queinnec (1996) Lisp in Small Pieces, Cambridge
University Press, Cambridge UK (ISBN 0-521-56247-3, hardbound).
- Richard Jones and Rafael Lins (1996)
Garbage Collection : Algorithms for Automatic
Dynamic Memory Management, John Wiley, Chicester
- Steven S. Muchnick (1997) Advanced Compiler Design and Implementation,
Morgan Kaufman, San Francisco (ISBN: 1-55860-320-4)
The children of Algol
Because computer vision programs process huge amounts of data,
they must be efficient. This efficiency is normally achieved by
writing them in C, though this tends to make the programs unreadable.
Although C programs can be made extremely portable by careful
programming practice, computer vision algorithms rarely achieve
- C: assembler
- C++: object-oriented assembler supporting
abstract data types
- Fortran: archaic assembler, still used by numerical analysis
- Pascal: clean assembler used to teach undergraduates to write C
- Assembler: a language used to teach computers to understand C
Most researchers in computer vision would prefer to use a modern
high-level programming language. These languages, however, do not
reliably and portably support efficient image operations: the portable
and reliable implementations tend not to be efficient, and the
efficient implementations tend not to be portable or reliable.
User-interface, and Package-Connection Languages
- Xlib: interface between C and the X window system
- Tcl/Tk: C-like interpreted language for building
graphical user interfaces under the X window system
- HTML: 1970's style text formatter for web pages
- Elk :
a version of Scheme used to glue together user-defined packages, e.g.
High-Power Graphics Languages
- GL: low-level language for programming high-powered graphics workstations
Text Formatting Languages
- TeX: assembly language for text formatting
- LaTeX: front-end that makes TeX less unfriendly
- Scientific Word/Workplace: user-friendly front-end to LaTeX
- nroff/troff: 1970's text formatter, kept alive to support
Unix man pages