Computer programming and document markup languages

Last update: Tue Jul 14 10:37:37 1998

Table of Contents

Introduction

This document enumerates the computer languages available on the local and Utah Supercomputing Institute facilities. Documentation on these languages can be found in:

In the following sections, languages are subdivided by computer architecture, operating system level, and CPU type. If you are unsure of what system you are running on, use the UNIX uname -a command to find out.

When a particular language is listed in the sections below as (not installed) on some system, this does not usually mean that one cannot purchase and install it on that system, but more likely that budgetary constraints prevent our making it available.

If (a) there is sufficient demand, (b) additional financial support can be found, (c) the language implementation on another local system is outdated or otherwise inadequate, and (d) the language is available from a vendor for the system on which it is currently missing, then it is possible to add it. See local systems staff for further information.

Assembler

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
as
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
as
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
as, gas
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
as
NeXT Turbostation: Mach 3.0: Motorola 68040
as
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R5000, R8000, R10000, R12000
as
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
as
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
as

BibTeX

BibTeX is a bibliography database system for use with the TeX typesetting system. It is available on all local systems as the bibtex program. A small sample bibliography gives a flavor of the markup.

BibTeX collects citation commands, a bibliography style, and a list of bibliography databases from an auxiliary ( .aux ) file that is automatically created when TeX runs. It then extracts the cited bibliography entries from the database files, and formats them according to the requested bibliography style.

Because literature references tend to be cited many times, and because there is wide variation in both the style of citation, and the format of bibliography data in a reference list, BibTeX makes it possible to have bibliography data that is both reusable, and able to be expressed in a wide variety of formats (more than 50 bibliography styles are available). Large and growing collections of bibliography data are available in various Internet archives.

The best way to create BibTeX databases is with the excellent bibtex-mode support in GNU Emacs.

There are also programs that can convert output logs of various Internet library catalogs and CD ROM bibliography databases to BibTeX form; for details, look at the local bibliography index.

The American Mathematical Society Math Reviews Online service expected to be available in 1996 will be able to output bibliography data in BibTeX form.

Several BibTeX support tools are also available:
bibcheck
apply heuristic checks for common errors
bibclean
prettyprint and syntax check
bibdestringify
replace string substitutions in a BibTeX database
bibdup
check for duplicate abbreviations and entries
bibextract
extract BibTeX entries from a list of BibTeX files to make a smaller specialized bibliography database
bibindex
create a fast binary index of one or more BibTeX databases
bibjoin
join duplicate or similar entries
biblabel
generated standardized BibTeX citation labels
biblex
lexically analyze database files
biblook
search a binary index generated by bibindex
biborder
standardize key field order
bibparse
verify a bibclean or biblex lexical token stream
bibsearch
search a large and growing bibliography archive (147MB+, 191K+ entries) covering electronic document production, fonts, linear algebra, Internet, numerical analysis, statistics, typography, UNIX, and major portions of computer science
bibsort
sort a database file by citation key, by year, or by volume/number/pages.
bibunlex
reconstruct a BibTeX bibliography data base file from bibclean or biblex lexical analysis output

C

Local copies of the evolving draft C9X standard are available in HTML, PDF, PostScript, and text forms.

There is an online version of Steve Summit's book C Programming FAQs: Frequently Asked Questions, ISBN 0-201-84519-9, Addison-Wesley 1996 with lots of useful commentary on the finer points of the C programming language.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
cc, gcc, lcc
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
cc, c89, gcc
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
cc, c89, gcc
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
cc, c89, gcc, xlc
NeXT Turbostation: Mach 3.0: Motorola 68040
cc, gcc, lcc
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
cc, gcc, lcc
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
cc, gcc, lcc
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
cc, c89, gcc, lcc

C-language prettyprinters cb and indent are available on most of these systems.

C++

On all systems for which the GNU g++ compiler is available, it may also be invoked as c++.

An HTML version of the December 1996 working draft C++ Standard is available at http://www.cygnus.com/misc/wp/dec96pub/. The final standard was sent on 14-Nov-1997 to ISO for ratification, which is expected in mid-1998.

A local PDF version of this document is also available.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
g++
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
cxx -x cxx, g++
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
CC, g++
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
g++, xlC
NeXT Turbostation: Mach 3.0: Motorola 68040
cc++, gcc -ObjC (Objective C), g++
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
CC, g++
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
CC, g++
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
CC, g++

Expect

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
expect
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
expect
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
expect
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
expect
NeXT Turbostation: Mach 3.0: Motorola 68040
expect
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
expect
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
expect
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
expect

Fortran

Local copies of the 1977 Fortran Standard are available in HTML, PDF, PostScript, and text forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
f77
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
f77
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
f77
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
f77, xlf
NeXT Turbostation: Mach 3.0: Motorola 68040
(not installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
f77
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
f77
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
f77

Fortran prettyprinters pretty and sf3pretty are available on most of these systems, and pfort (for Fortran 66) and ftnchek (for Fortran 77) are excellent syntax and portability checkers. There is also a lexer, sf3lex, which can be used for construction of other software tools for Fortran and SFTRAN3.

Guile

Guile is the Free Software Foundation's GNU Project scripting language, an implementation of the Lisp dialect, Scheme. with extensions.

Guile is installed on all local systems under the name guile, and documentation in the form of a tutorial, a reference manual, and the Revised(4) Report on Scheme can be found in the GNU Emacs info system.

Although daily snapshots of Guile are available for the adventuresome, the last stable release was version 1.2, on 7-May-1997.

HTML (Hypertext Markup Language)

HTML is the document markup language used on the World-Wide Web. HTML version 2.0 is supported by all Web browser client programs, including arena, grail, hotjava, netscape, and xmosaic. HTML version 3.0 is under development, and includes new support for tables, figures, and limited mathematics; only the arena browser supports it.

At present, the only way to conveniently produce HTML is to enter it in a text editor. GNU emacs provides adequate support in html-mode and sgml-mode ; the latter requires loading the psgml library. Local Silicon Graphics systems should have a fancier editor in the Web Force software by early 1996.

Other software support includes an HTML prettyprinter, html-pretty, two syntax checkers, html-check and html-ncheck, and an SGML tag normalizer sgmlnorm. html-pretty can be of substantial assistance in converting ordinary ASCII text files to HTML.

A bibliography of books on HTML and SGML is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

If you are curious about what HTML markup looks like, turn on the View Source option in the Web browser that you are using to read this file. The text of this file has been prettyprinted by html-pretty, and grammatically validated by html-ncheck.

Literate programming

Literate programming combines descriptive text with program code fragments in a single file; processing by separate utilities extracts the text and code fragments as a TeX file for typesetting the program, and the code fragments as a program file that can be given to a compiler. Several literate programming systems have been devised, and pointers to them, and to entire books that are themselves literate programs, can be found in an extensive bibliography available in BibTeX , HTML , PostScript , and Acrobat PDF forms. On all local systems, tangle and weave support literate programming in Pascal, and ctangle and cweave provide for literate programming in C.

Most TeXware and MetaFontware is written in Pascal Web, and on UNIX systems, automatically translated by the Web2C system into C code, due to the lack of Pascal compilers on many UNIX systems. Because of substantial limitations of the Pascal language, and its significant decline in popularity and vendor support, newer literate programming efforts are more likely to use the CWeb system.

An alternative literate programming environment is available on all local systems in the noweb system, with notangle and noweave counterparts to the programs above. noweb is simpler than Knuth's original Pascal Web, and can support use of multiple programming languages.

Maple

Maple is a language for symbolic algebra; other languages in this class include Axiom (formerly known as Scratchpad ), MACSYMA, Mathematica , MuPAD, Reduce , and VAXSYMA.

The current release of Maple is 5.4, but some systems also have 5.0, 5.2, 5.3, and 5.5 available. Names that begin maple are non-window-based, so that they can be used via a serial dialup connection; names that begin xmaple require the X Window System.

Maple is widely available under a campus site license, on UNIX workstations, IBM PC, and Apple Macintosh systems.

An extensive bibliography of books is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
maple, mapleV2, mapleV3, mapleV4, mapleV5, xmaple, xmapleV2, xmapleV3, xmapleV4, xmapleV5
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
maple, mapleV3, mapleV4, mapleV5, xmaple, xmapleV3, xmapleV4, xmapleV5
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
maple, mapleV3, mapleV4, mapleV5, xmaple, xmapleV3, xmapleV4, xmapleV5
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
maple, mapleV5, xmaple, xmapleV5
NeXT Turbostation: Mach 3.0: Motorola 68040
maple, xmapleV5 (only 5.0 installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
maple, xmaple, mapleV, xmapleV, mapleV2, xmapleV2, mapleV3, xmapleV3
Silicon Graphics O2, Origin 200: IRIX 6.x: MIPS R5000, R8000, R10000, R12000
maple,mapleV4, mapleV5, xmaple, xmapleV4, xmapleV5
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
maple, mapleV2, mapleV3, mapleV4, mapleV5, xmaple, xmapleV2, xmapleV3, xmapleV4, xmapleV5
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
maple, mapleV2, mapleV3, mapleV4, mapleV5, xmaple, xmapleV2, xmapleV3, xmapleV4, xmapleV5

Mathematica

Mathematica is a language for symbolic algebra; other languages in this class include Axiom (formerly known as Scratchpad ), Maple , MACSYMA, MuPAD, Reduce , and VAXSYMA.

Although Mathematica is available commercially for most of these platforms, until recently, licensing was prohibitively expensive. Consequently, there is no University of Utah campus site license.

An extensive bibliography of books about Mathematica is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
(not installed)
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
(not installed)
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
(not installed)
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
(not installed)
NeXT Turbostation: Mach 3.0: Motorola 68040
math
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
(not installed)
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
(not installed)
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
(not installed)

Matlab, Octave, Scilab, and RLAB

Matlab is widely available under a campus site license, on UNIX workstations only. Although it is available for IBM PC and Apple Macintosh systems, these are not included in the campus site license. Matlab will make use of an X Window System display if available, but does not require it; the same program name works in both cases.

Octave and RLAB are two Matlab-workalikes that are relatively freely available; Scilab has similar capabilities, but with a different syntax. RLAB and Octave can read and write Matlab binary files, but Scilab cannot. None has the Matlab external file capability that allows linking in user-written Fortran and C code.

An extensive bibliography of books is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
matlab, octave
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
matlab, octave
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
matlab, octave
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
matlab
NeXT Turbostation: Mach 3.0: Motorola 68040
matlab, octave
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
matlab
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
matlab, octave
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
matlab, octave

Pascal

Local copies of the ISO Pascal standards are available in PDF (ISO 10206), gzipped PostScript (ISO 10206), PDF (ISO 7185), and gzipped PostScript (ISO 7185) forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
pc
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
pc
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
pc
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
(not installed)
NeXT Turbostation: Mach 3.0: Motorola 68040
(not installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
pc
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
pc
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
pc

A Pascal-language prettyprinter, pindent, is available on some of these systems.

PDF (Portable Document Format)

Portable Document Format (PDF) is a relative of Adobe PostScript , which is documented in a published book. PDF is designed to allow rapid screen display and text searching in typeset text and graphics using any of thousands of available PostScript fonts.

PDF is produced by the commercial Adobe Acrobat Distiller program, or PDF-Writer printer drivers on IBM PC Windows and Apple Macintosh systems, from arbitrary PostScript files.

PDF files can be viewed by the freely-available Acrobat Reader program, acroread, available for several popular computer systems from Adobe Systems, Inc. Adobe also markets a more sophisticated reader program, called Acrobat Exchange, which permits addition of notes to a PDF document, such as might be required by an instructor correcting student assignments, or a reviewer commenting on a paper submitted to a journal. Other tools in the Acrobat product family include Catalog, for creation of inverted indexes of collections of PDF files, and Capture, for converting scanned images of documents to a PDF form in a way that accurately reproduces their original appearance.

The Adobe acroread, acroexch, distill, and distilld programs are available on all local architectures, although on some of them, this is accomplished by (transparently) running the program on another machine for which a native version is available.

Aladdin Ghostscript (gs) version 3.x, 4.x, and 5.x is capable of displaying PDF files in page order.

A freeware PDF file browser, xpdf, is installed on all local systems.

A bibliography of books on PostScript and PDF is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

PostScript

PostScript is a powerful page description language invented by Adobe Systems, and implemented in millions of laser printers from scores of vendors, most notably, the Apple LaserWriter, and the Hewlett-Packard LaserJet.

Although it is not common for users to program directly in PostScript, except for the authors of other programs that produce PostScript output, it is certainly possible to do so, and sometimes, this can be done for useful effects. As an example, try the Acrobat reader zoom option on figures in this local document: /u/cl/doc/ma119/quadrature.pdf .

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
ghostview, gs
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
ghostview, gs
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
ghostview, gs
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
/usr/lpp/DPS/bin/dpsexec, ghostview, gs
NeXT Turbostation: Mach 3.0: Motorola 68040
??
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
ghostview, gs, showps, xpsview
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
ghostview, gs, pageview
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
ghostview, gs, pageview

A bibliography of books on PostScript and PDF is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

Python

Python is a popular object-oriented scripting language, with its own Website, where you can find extensive information about the language, and pointers to documentation and books. Python has been implemented on all popular workstation and personal computer platforms, and is freely available.

Python is available on all local architectures under the name python.

An extensive bibliography of books and other publications about Python is available in BibTeX , HTML , PostScript , and Acrobat PDF forms.

Reduce

Reduce is a pioneering language for symbolic algebra; the current version is 3.6. Other languages in this class include Axiom (formerly known as Scratchpad), Macsyma, maxima, Maple , MACSYMA, Mathematica , MuPAD, and VAXSYMA.

Reduce 3.6 is available as reduce on all local architectures, except IBM systems. However, on all but the Sun Solaris 2.6 systems, this is accomplished (transparently) by running Reduce remotely on a Sun compute server.

Extensive bibliographies of books and other publications on Reduce are available in BibTeX, HTML, PostScript, and Acrobat PDF forms at http://www.math.utah.edu/pub/tex/bib/index-table-r.html#red-a-f

Scheme

Scheme is a small clean dialect of Lisp. A native version is installed on the Sun Solaris systems; on the other systems listed below, it is (transparently) available via a remote process on a Sun compute server.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
scheme
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
scheme
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
scheme
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
scheme
NeXT Turbostation: Mach 3.0: Motorola 68040
(not installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
scheme
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
(not available)
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
scheme

SFTRAN3

SFTRAN3 is a structured Fortran preprocessor that provides advancing looping, conditionals, and local procedures. It is used for the PLOT79 graphics system. The user's guide is available in Postcript and Acrobat PDF forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
xsf3
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
xsf3
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
xsf3
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
xsf3
NeXT Turbostation: Mach 3.0: Motorola 68040
(not installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
xsf3
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
xsf3
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
xsf3

An SFTRAN3-language prettyprinter, sf3pretty, is available on some of these systems. There is also a lexer, sf3lex, which can be used for construction other software tools for Fortran and SFTRAN3.

Statistics

Extensive bibliographies are available for BMDP ( BibTeX , HTML , PostScript , Acrobat PDF ), SAS ( BibTeX , HTML , PostScript , Acrobat PDF ), SPlus ( BibTeX , HTML , PostScript , Acrobat PDF ), and SPSS ( BibTeX , HTML , PostScript , Acrobat PDF ).

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
bmdp, sas, Splus, spss , statit
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
(not installed)
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
(not installed)
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
(not installed)
NeXT Turbostation: Mach 3.0: Motorola 68040
(not installed)
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
(not installed)
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
(not installed)
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
bmdp, sas, Splus, spss , statit

Tcl/Tk

Tcl (Tool command language) is a popular scripting language, originally developed by University of California, Berkeley, researchers, then later at Sun Microsystems, and now, at a separate company, Scriptics.

Tcl has been ported to UNIX, Microsoft Windows (95 and NT), IBM OS/2, and Apple Macintosh platforms, and is freely available.

The Tk portable window system interface was originally developed with Tcl, but now is accessible from other scripting languages, including Guile and Python.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
tclsh
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
tclsh
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
tclsh
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
tclsh
NeXT Turbostation: Mach 3.0: Motorola 68040
tclsh
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
tclsh
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
tclsh
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
tclsh

Tcl and Tk documentation is available in these books:

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}

@String{pub-AW:adr              = "Reading, MA, USA"}

@Book{Harrison:1998:ETT,
  author =       "Mark Harrison and Michael McLennan",
  title =        "Effective {Tcl\slash Tk} programming: writing better
                 programs with {Tcl} and {Tk}",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xv + 405",
  year =         "1998",
  ISBN =         "0-201-63474-0",
  LCCN =         "QA76.73.T44H37 1998",
  bibdate =      "Fri Dec 19 10:57:35 1997",
  price =        "US\$38.50",
  acknowledgement = ack-nhfb,
}

@String{pub-MT                  = "M\&T Books"}

@String{pub-MT:adr              = "M\&T Publishing, Inc., 501
                                  Galveston Drive, Redwood City, CA
                                  94063, USA"}

@Book{Johnson:1996:GAT,
  author =       "Eric F. Johnson",
  title =        "Graphical Applications with {Tcl} and {Tk}",
  publisher =    pub-MT,
  address =      pub-MT:adr,
  pages =        "x + 374",
  year =         "1996",
  ISBN =         "1-55851-471-6",
  LCCN =         "T385.J618 1996",
  bibdate =      "Wed Aug 20 16:36:53 1997",
  price =        "US\$39.95",
  acknowledgement = ack-nhfb,
}

@String{pub-ORA                 = "O'Reilly \& {Associates, Inc.}"}

@String{pub-ORA:adr             = "981 Chestnut Street, Newton, MA 02164, USA"}

@Book{Libes:1994:EET,
  author =       "Don Libes",
  title =        "Exploring Expect: {A Tcl}-based Toolkit for Automating
                 Interactive Programs",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxxiii + 566",
  month =        dec,
  year =         "1994",
  ISBN =         "1-56592-090-2",
  LCCN =         "QA76.755 .L52 1995",
  bibdate =      "Sat Dec 02 17:04:17 1995",
  bibsource =    "ftp://ftp.ora.com/pub/book.catalog",
  price =        "US\$29.95",
  URL =          "http://www.ora.com/gnn/bus/ora/item/expect.html",
  acknowledgement = ack-nhfb,
}

@Book{Ousterhout:1994:TTT,
  author =       "John K. Ousterhout",
  title =        "{Tcl} and the {Tk} Toolkit",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xx + 458",
  year =         "1994",
  ISBN =         "0-201-63337-X",
  LCCN =         "QA76.73.T44 O97 1994",
  bibdate =      "Thu Oct 13 11:06:16 1994",
  price =        "US\$36.75",
  acknowledgement = ack-nhfb,
}

@String{pub-PTRPH               = "P T R Pren{\-}tice-Hall"}

@String{pub-PTRPH:adr           = "Englewood Cliffs, NJ 07632, USA"}

@Book{Young:1997:VTH,
  author =       "David H. Young",
  title =        "The {Visual Tcl} handbook",
  publisher =    pub-PTRPH,
  address =      pub-PTRPH:adr,
  pages =        "xxx + 512",
  year =         "1997",
  ISBN =         "0-13-461674-X",
  LCCN =         "QA76.9.U83Y68 1997",
  bibdate =      "Thu Aug 07 14:01:02 1997",
  acknowledgement = ack-nhfb,
}

Text processing

A brief bibliography of all known books on these computer languages is available.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
awk, gawk, nawk, perl
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
awk, gawk, nawk, perl
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
awk, gawk, nawk, perl
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
awk, gawk, perl
NeXT Turbostation: Mach 3.0: Motorola 68040
awk, gawk, nawk, perl
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
awk, gawk, nawk, perl
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
awk, gawk, nawk, perl
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
awk, gawk, nawk, perl

Typesetting and font generation

Extensive bibliographies of books about TeX are available in BibTeX , HTML , PostScript , and Acrobat PDF forms, and books typeset by TeX in BibTeX , HTML , PostScript , and Acrobat PDF forms.

DECstation 3100, 5000: ULTRIX 4.3: MIPS R2000, R3000
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
DEC Alpha: OSF/1 (Digital UNIX) 3.x: Alpha 21064
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
Hewlett-Packard 9000/7xx: HP-UX 10.01: PA-RISC 1.1
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
IBM RS/6000: AIX 3.2.5, 4.1, 4.2: Power, Power II, Power PC
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
NeXT Turbostation: Mach 3.0: Motorola 68040
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
Silicon Graphics Indy, Indigo, Indigo-2, Power Challenge: IRIX 5.3, 6.x: MIPS R3000, R4000, R4400, R4600, R8000, R10000, R12000
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
Sun SPARCstation: SunOS 4.1.3: SPARC Version 7, 8, 9
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf
Sun SPARCstation: Solaris 2.x: SPARC Version 7, 8, 9
amstex, amslatex, lamstex, latex, latex2e, nlatex, tex, texinfo, mf

Three particularly useful support tools, available on all local systems, are:

chkdelim
delimiter balance checking
lacheck
LaTeX heuristic syntax checking
tex-pretty
TeX (any variant) file prettyprinter

vtk (Visualization Toolkit)

vtk is analogous to tk, but for visualization: simple files accomplish sophisticated visualization tasks.

vtk is available only on the Silicon Graphics systems (vtk version 1.x on IRIX 5.3, and 2.x on IRIX 6.x). However, with vtk 2.x, it is possible to display the output windows on some other architectures, such as Sun systems.

The only vtk documentation currently available is this book:

@String{pub-PH                  = "Pren{\-}tice-Hall"}

@String{pub-PH:adr              = "Englewood Cliffs, NJ 07632, USA"}

@Book{Schroeder:1998:VT,
  author =       "William J. Schroeder and Kenneth M. Martin and William
                 E. Lorensen",
  title =        "The Visualization Toolkit",
  publisher =    pub-PH,
  address =      pub-PH:adr,
  edition =      "Second",
  pages =        "xx + 645",
  year =         "1998",
  ISBN =         "0-13-954694-4",
  LCCN =         "QA76.64.S36 1997",
  bibdate =      "Mon Apr 13 10:46:55 1998",
  note =         "With special contributors Lisa Sobierajski Avila, Rick
                 Avila, and C. Charles Law. Includes CD-ROM with
                 vtk-2.0. The most recent release is available on the
                 World-Wide Web at
                 \path=http://www.kitware.com/vtk.html=.",
  acknowledgement = ack-nhfb,
}

Bibliographies

Portable Document Format bibliography

@String{pub-ADOBE-PRESS         = "Adobe Press"}
@String{pub-ADOBE-PRESS:adr     = "Mountain View, CA, USA"}

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr              = "Reading, MA, USA"}

@String{pub-HWS                 = "Howard W. Sams"}
@String{pub-HWS:adr             = "Indianapolis, IN 46268, USA"}

@Book{Ames:BP93,
  author =       "Patrick Ames",
  title =        "Beyond Paper: The Official Guide to Adobe Acrobat",
  publisher =    pub-ADOBE-PRESS,
  address =      pub-ADOBE-PRESS:adr,
  pages =        "127",
  year =         "1993",
  ISBN =         "1-56830-050-6",
  LCCN =         "TK5105.9 .A48 1993",
  price =        "US\$16.95",
  acknowledgement = ack-nhfb,
  bibdate =      "Thu Jul 7 07:43:49 1994",
}

@Book{Bienz:PDF93,
  author =       "Tim Bienz and Richard Cohn",
  title =        "Portable Document Format Reference Manual",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "xii + 214",
  year =         "1993",
  ISBN =         "0-201-62628-4",
  LCCN =         "QA76.9.F5P67 1993",
  price =        "US\$24.95",
  acknowledgement = ack-nhfb,
  bibdate =      "Wed Feb 23 14:42:18 1994",
}

@Book{Grant:AAH93,
  author =       "Kenneth Grant and W. David Schwaderer",
  title =        "Adobe Acrobat Handbook: Digital Publishing in the
                 Post-Gutenberg Era",
  publisher =    pub-HWS,
  address =      pub-HWS:adr,
  pages =        "xxvii + 254",
  year =         "1993",
  ISBN =         "0-672-30393-0 (includes diskette)",
  LCCN =         "QA76.76.W56 G833 1993",
  price =        "US\$19.95",
  acknowledgement = ack-nhfb,
  bibdate =      "Thu May 12 08:17:37 1994",
}


Text processing bibliography

@String{pub-AW                  = "Ad{\-d}i{\-s}on-Wes{\-l}ey"}
@String{pub-AW:adr              = "Reading, MA, USA"}
@String{pub-ORA                 = "O'Reilly \& {Associates, Inc.}"}
@String{pub-ORA:adr             = "981 Chestnut Street, Newton, MA 02164, USA"}

@Book{Aho:APL87,
  author =       "Alfred V. Aho and Brian W. Kernighan and Peter J.
                 Weinberger",
  key =          "AWK87",
  title =        "The {AWK} Programming Language",
  publisher =    pub-AW,
  address =      pub-AW:adr,
  pages =        "x + 210",
  year =         "1988",
  ISBN =         "0-201-07981-X",
  LCCN =         "QA76.73.A95 A35 1988",
  bibdate =      "Tue Dec 14 22:33:46 1993",
  nb =           "the author order is AKW, but the key looks better as
                 AWK",
}

@Book{Dougherty:SA91,
  author =       "Dale Dougherty",
  title =        "sed {\&} awk",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "xxii + 394",
  year =         "1991",
  ISBN =         "0-937175-59-5",
  LCCN =         "QA76.76.U84 D69 1991",
}

@Misc{Wall:perl,
  author =       "Larry Wall",
  title =        "perl\emdash Practical Extraction and Report Language",
  howpublished = "Usenet \path|mod.sources| archives",
  year =         "1987",
  note =         "Electronic mail:
                 \path|lwall@jpl-devvax.jpl.nasa.gov|.",
}

@Book{Schwartz:1993:LP,
  author =       "Randal L. Schwartz",
  title =        "Learning {Perl}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "274",
  month =        nov,
  year =         "1993",
  ISBN =         "1-56592-042-2",
  LCCN =         "QA76.73.P225 S39 1993",
  note =         "Foreword by Larry Wall.",
  price =        "US\$24.95",
  acknowledgement = ack-nhfb,
  bibdate =      "Tue Sep 13 11:59:48 MDT 1994",
  bibsource =    "ftp://ftp.ora.com/pub/book.catalog",
}

@Book{Wall:1991:PP,
  author =       "Larry Wall and Randal L. Schwartz",
  title =        "Programming {\tt perl}",
  publisher =    pub-ORA,
  address =      pub-ORA:adr,
  pages =        "482",
  month =        jan,
  year =         "1991",
  ISBN =         "0-937175-64-1",
  LCCN =         "QA76.73.P43 W35 1990, QA76.73.P226 W34 1992",
  price =        "US\$29.95",
  acknowledgement = ack-nhfb,
  bibdate =      "Tue Sep 13 11:59:48 MDT 1994",
  bibsource =    "ftp://ftp.ora.com/pub/book.catalog",
}