"The nice thing about standards is that there are so many of them to choose from."
A. S. Tanenbaum
portability of other languages:
- ANSI C (1989)
- currently: C99 (1999)
- perl, python, c++, shell scripts
- early diversity of early Unices provoked standardization at early as 1983 (UDS83)
- POSIX (name suggested by R. Stallman), first release 1990
- SUS (Single Unix Specification)
- SUS conformance test required to use "UNIX" name
- specifies the POSIX base (1003.1)
- in contrast to POSIX freely available
- POSIX (by IEEE) defines
- 1003.1: C API
- 1003.2: Shells and helper programs (ksh, vi, awk, sed)
- 1003.1b: realtime extensions
- 1003.1c: threads
- -> is the basis of all later standards
* FHS (Filesystem Hierarchy Standard)
- above standards specify "what"
- FHS specifies "where"
- Linux Standard Base
- incorporates the above specifications and extends
- IETF RFCs
- working implementation required!
- best way to achieve portability is use of Free Software