Source code

Source code is the program code of a programming language as stored in a computer's memory or in a file or other storage medium (programs have been stored on cassettes, punched cards, and many other media). Except in interpreted languages (like BASIC) which execute the program directly from the source, source code needs to be compiled or assembled into executables in the target machine code (possibly passing through intermediate stages of object code needing to be linked or code in some intermediary language that is in turn compiled, assembled or interpreted).

Most of the time, program source code is stored as plain text (in a character encoding), so it can be viewed or edited in any text viewer or editor, though programmer-oriented development environments offer enhanced features such as language-specific syntax highlighting and integrated access to compilers. However, there are also some specialized source code formats that do not use plain text, instead doing some sort of tokenization to the keywords and syntactic elements of the language. This was more common on early computers that had much more limited memory, disk space, and bandwidth than the present ones.

Non-text-based source code formats

 * APL
 * APL workspace: .apl, .atf, .dws, .dxf
 * BASIC
 * Tokenized BASIC: .bas
 * Scratch
 * Scratch 1.4 File Format .sb, .sprite
 * Scratch 2.0 File Format .sb2

Text-based source code formats
Programming languages that use a plain text source code format are not listed here. Refer to Programming Languages instead.

Source metadata

 * Debian source control file
 * Emacs file variable
 * Shebang

Links

 * Planetary: collecting and preserving code as a living object
 * Source Code Poetry