The Full Wiki

Source code: Wikis

  
  
  
  

Note: Many of our articles have direct quotes from sources you can cite, within the Wikipedia article! This article doesn't yet, but we're working on it! See more info or our list of citable articles.

Encyclopedia

From Wikipedia, the free encyclopedia

An illustration of Java source code with prologue comments indicated in red, inline comments indicated in green, and program code indicated in blue.

In computer science, source code (commonly just source or code) is any collection of statements or declarations written in some human-readable computer programming language. Source code is the mechanism most often used by programmers to specify the actions to be performed by a computer.

The source code which constitutes a program is usually held in one or more text files, sometimes stored in databases as stored procedures and may also appear as code snippets printed in books or other media. A large collection of source code files may be organized into a directory tree, in which case it may also be known as a source tree.

A computer program's source code is the collection of files needed to convert from human-readable form to some kind of computer-executable form. The source code may be converted into an executable file by a compiler, or executed on the fly from the human readable form with the aid of an interpreter.

The code base of a programming project is the larger collection of all the source code of all the computer programs which make up the project.

Contents

Organization

The source code for a particular piece of software may be contained in a single file or many files. Though the practice is uncommon, a program's source code can be written in different programming languages.[1] For example, a program written primarily in the C programming language, might have portions written in Assembly language for optimization purposes. It is also possible for some components of a piece of software to be written and compiled separately, in an arbitrary programming language, and later integrated into the software using a technique called library linking. This is the case in some languages, such as Java: each class is compiled separately into a file and linked by the interpreter at runtime.

Yet another method is to make the main program an interpreter for a programming language[citation needed], 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.

Moderately complex software customarily requires the compilation or assembly of several, sometimes dozens or even hundreds, of different source code files. In these cases, instructions for compilations, such as a Makefile, are included with the source code. These describe the relationships among the source code files, and contain information about how they are to be compiled.

The revision control system is another tool frequently used by developers for source code maintenance.

Purposes

Source code is primarily used as input to the process that produces an executable program (ie., it is compiled or interpreted). It is also used as a method of communicating algorithms between people (eg., code snippets in books).[2]

Programmers often find it helpful to review existing source code to learn about programming techniques.[2] The sharing of source code between developers is frequently cited as a contributing factor to the maturation of their programming skills.[2] Some people consider source code an expressive artistic medium.[3]

Porting software to other computer platforms is usually prohibitively difficult without source code. Without the source code for a particular piece of software portability is generally computationally expensive[citation needed]. Possible porting options include binary translation and emulation of the original platform.

Decompilation of an executable program can be used to generate source code, either in assembly code or in a high level language.

Programmers frequently adapt source code from one piece of software to use in other projects, a concept known as software reusability.

Licensing

Software, and its accompanying source code, typically falls within one of two licensing paradigms: free software and proprietary software.

Generally speaking, software is free if the source code is free to use, distribute, modify and study, and proprietary if the source code is kept secret, or is privately owned and restricted. Note that "free" refers to freedom, not price. Under many licenses it is acceptable to charge for "free software". The first free software license to be published and to explicitly grant these freedoms was the GNU General Public License in 1989. The GNU GPL was originally intended to be used with the GNU operating system. The GNU GPL was later adopted by other non-GNU software projects such as the Linux kernel.

For proprietary software, the provisions of the various copyright laws, trade secrecy and patents are used to keep the source code closed. Additionally, many pieces of retail software come with an end-user license agreement (EULA) which typically prohibits decompilation, reverse engineering, analysis, modification, or circumventing of copy protection. Types of source code protection -- beyond traditional compilation to object code -- include code encryption, code obfuscation or code morphing.

Legal issues in the United States

In the United States, as of 2003, court systems are in the process of deciding whether source code should be considered a Constitutionally protected form of free speech. Proponents of the free speech argument claim that because source code conveys information to programmers, is written in a language, and can be used to share humour and other artistic pursuits, it is a protected form of communication. The opposing view is that source code is functional, more than artistic speech, and is thus not protected by First Amendment Rights of the U.S. Constitution.

One of the first court cases regarding the nature of source code as free speech involved University of California mathematics professor Dan Bernstein, who had published on the internet the source code for an encryption program that he created. At the time, encryption algorithms were classified as munitions by the United States government; exporting encryption to other countries was considered an issue of national security, and had to be approved by the State Department. The Electronic Frontier Foundation sued the U.S. government on Bernstein's behalf; the court ruled that source code was free speech, protected by the First Amendment.

Quality

The way a program is written can have important consequences for its maintainers. Many source code programming style guides, which stress readability and some language-specific conventions are aimed at the maintenance of the software source code, which involves debugging and updating. Other priorities, such as the speed of the programs execution, or the ability to compile the program for multiple architectures, often make code readability a less important consideration, since code quality depends entirely on its purpose.

See also

References

  1. ^ Extending and Embedding the Python Interpreter — Python v2.6 Documentation [1]
  2. ^ a b c Spinellis, D: Code Reading: The Open Source Perspective. Addison-Wesley Professional, 2003. ISBN 0-201-79940-5
  3. ^ "Art and Computer Programming" ONLamp.com, (2005)

External links


Gaming

Up to date as of February 01, 2010

From Wikia Gaming, your source for walkthroughs, games, guides, and more!

A source code is the term for the coding and programming behind a program/video game. Programs usually keep their source code a secret, so that people cannot easily hack or alter it. When a game releases it's source code to the public, it becomes open source, and people often make and distribute their own versions of it. For example, the operating system linux is open source, which is why people have made their own (free) versions of it.


This article uses material from the "Source code" article on the Gaming wiki at Wikia and is licensed under the Creative Commons Attribution-Share Alike License.

Simple English

In computer programming, source code is a text file version of a computer program or software that contains instructions that the computer follows to do something. Source code is written in a programming language which a human can read and change. A large program may contain many different source code files that all work together. These days most source code is compiled when it is finished. This translates the code into assembly language or machine language which is much faster and easier for the computer to read, but hard for a human to read.

A computer program may be open source, which means the source code is shared with anyone who wants to look at it and change it, or closed source, which means only the people who made the program can look at and change the code.

Example of C source code

  1. include

int main() {

     printf("Hello world!\n");
     return(0);

}

When compiled by a C compiler and executed, this will print "Hello world!" on the computer screen and then exit.








Got something to say? Make a comment.
Your name
Your email address
Message