Source code

codesourcesource filesource-codecomputer codesource filesprogram codesource treesourcecodesources
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.wikipedia
2,153 Related Articles

Comment (computer programming)

commentcommentsREM
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.
In computer programming, a comment is a programmer-readable explanation or annotation in the source code of a computer program.

Compiler

compiledcompilerscompile
The source code is often transformed by an assembler or compiler into binary machine code understood by the computer.
The name compiler is primarily used for programs that translate source code from a high-level programming language to a lower level language (e.g., assembly language, object code, or machine code) to create an executable program.

Minification (programming)

minificationJSMinminified
Often there are several steps of program translation or minification between the original source code typed by a human and an executable program.
Minification (also minimisation or minimization) is the process of removing all unnecessary characters from the source codes of interpreted programming languages or markup languages without changing their functionality.

Linux

GNU/LinuxLinux on the desktopLin
The Linux Information Project defines source code as:
The source code may be used, modified and distributed—commercially or non-commercially—by anyone under the terms of its respective licenses, such as the GNU General Public License.

Interpreter (computing)

interpreterinterpretedinterpreters
Alternatively, source code may be interpreted and thus immediately executed.

Type-in program

type-intype-in programsgame code that could be typed into a computer
Most early computer magazines published source code as type-in programs.
A type-in program or type-in listing is a listing of source code printed in a computer magazine or book, meant to be entered on the computer's keyboard by the reader and then saved to cassette or disk.

Computer program

programprogramscomputer programs
The source code which constitutes a program is usually held in one or more text files stored on a computer's hard disk; usually these files are carefully arranged into a directory tree, known as a source tree. The code base of a computer programming project is the larger collection of all the source code of all the computer programs which make up the project.
From the program in its human-readable form of source code, a compiler or assembler can derive machine code—a form consisting of instructions that the computer can directly execute.

Executable

executable fileexecutable codebinaries
Most application software is distributed in a form that includes only executable files.
Executable files can be hand-coded in machine language, although it is far more convenient to develop software as source code in a high-level language that can be easily understood by humans.

Execution (computing)

executionexecutedexecute
The machine code might then be stored for execution at a later time.
This is generally done in source code, which is then compiled at compile time (and statically linked at link time) to an executable.

Programmer

software developercomputer programmerdeveloper
The source code of a program is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source code.
When making changes to the source code that programs are made up of, programmers need to make other programmers aware of the task that the routine is to perform.

Computer programming

programmingcodingprogrammable
The code base of a computer programming project is the larger collection of all the source code of all the computer programs which make up the project.
The source code of a program is written in one or more languages that are intelligible to programmers, rather than machine code, which is directly executed by the central processing unit.

Programming language

programming languageslanguagedialect
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.
The specification of a programming language is an artifact that the language users and the implementors can use to agree upon whether a piece of source code is a valid program in that language, and if so what its behavior shall be.

Snippet (programming)

snippetssnippetcode snippets
It is also used as a method of communicating algorithms between people (e.g., code snippets in books).
Snippet is a programming term for a small region of re-usable source code, machine code, or text.

C (programming language)

CC programming languageC language
For example, a program written primarily in the C programming language, might have portions written in assembly language for optimization purposes.

Assembly language

assemblerassemblyassembly code
The source code is often transformed by an assembler or compiler into binary machine code understood by the computer. For example, a program written primarily in the C programming language, might have portions written in assembly language for optimization purposes. Decompilation of an executable program can be used to generate source code, either in assembly code or in a high-level language.
The conversion process is referred to as assembly, as in assembling the source code.

Version control

revision controlversion control systemsource control
It has become common practice to maintain code bases in version control systems.
In computer software engineering, revision control is any kind of practice that tracks and provides control over changes to source code.

Decompiler

decompiledecompilationdecompiled
Decompilation of an executable program can be used to generate source code, either in assembly code or in a high-level language.
The term decompiler is most commonly applied to a program which translates executable programs (the output from a compiler) into source code in a (relatively) high level language which, when compiled, will produce an executable whose behavior is the same as the original executable program.

GNU Emacs

EmacsEdiffEmacs Lisp Package Archive
Yet another method is to make the main program an interpreter for a programming language, either designed specifically for the application in question or general-purpose, and then write the bulk of the actual user functionality as macros or other forms of add-ins in this language, an approach taken for example by the GNU Emacs text editor.
Common applications are to display a dired buffer along with the contents of files in the current directory (there are special modes to make the file buffer follow the file highlighted in dired), to display the source code of a program in one window while another displays a shell buffer with the results of compiling the program, to run a debugger along with a shell buffer running the program, to work on code while displaying a man page or other documentation (possibly loaded over the World Wide Web using one of Emacs' built-in web browsers) or simply to display multiple files for editing at once such as a header along with its implementation file for C-based languages.

Open-source software

open sourceopen-sourceopen source software
Software, and its accompanying source code, can be associated with several licensing paradigms; the most important distinction is open source vs proprietary software.
Open-source software (OSS) is a type of computer software in which source code is released under a license in which the copyright holder grants users the rights to study, change, and distribute the software to anyone and for any purpose.

Software license

licenselicensedsoftware licensing
The author has the right and possibility to grant customers and users of his software some of his exclusive rights in form of software licensing.
Under United States copyright law, all software is copyright protected, in both source code and object code forms, unless that software was developed by the United States Government, in which case it cannot be copyrighted.

Plain text

textplain-texttexts
In computing, source code is any collection of code, possibly with comments, written using a human-readable programming language, usually as plain text.

Proprietary software

ProprietaryClosed sourceclosed-source
Software, and its accompanying source code, can be associated with several licensing paradigms; the most important distinction is open source vs proprietary software.
Proprietary software, also known as closed-source software, is a non-free computer software for which the software's publisher or another person retains intellectual property rights—usually copyright of the source code, but sometimes patent rights.

Public-domain software

public domain softwarepublic domainPublic-domain
The situation varies worldwide, but in the United States before 1974, software and its source code was not copyrightable and therefore always public domain software.
As software was often written in an interpreted language such as BASIC, the source code was needed and therefore distributed to run the software.

Apple Computer, Inc. v. Franklin Computer Corp.

Apple v. FranklinApple vs. Franklinlegal battle with Apple
In 1983 in the United States court case Apple v. Franklin it was ruled that the same applied to object code; and that the Copyright Act gave computer programs the copyright status of literary works.
As second impact, this ruling clarified that binary code, the machine readable form of software, was copyrightable too and not only the human-readable source code form of software.

Bernstein v. United States

Legal challengesBernstein caseBernstein v. US Department of State
In 1999, in the United States court case Bernstein v. United States it was further ruled that source code could be considered a constitutionally protected form of free speech.
The case was first brought in 1995, when Bernstein was a student at University of California, Berkeley, and wanted to publish a paper and associated source code on his Snuffle encryption system.