소스 코드

소스 코드() 또는 원시 코드란 컴퓨터 프로그램을 사람이 읽을 수 있는 프로그래밍 언어로 기술한 텍스트 파일이다. 평문으로 작성되고 프로그래밍에서 자료(재료)이자 설계도의 역할을 하며, 한 개, 또는 여러 개의 텍스트 파일로 구성되어 있다. 현대 소프트웨어 개발에서 기계어는 극히 일부 영역에서만 쓰이며, 대부분 고급 언어로 된 소스 코드를 재료로 컴파일하여 프로그래밍한다. 소프트웨어와 이에 동반하는 소스 코드는 일반적으로 크게 자유 소프트웨어와 사유 소프트웨어 가운데 하나의 라이선스를 지닌다.

역사 
프로그램 내장식 컴퓨터를 위한 최초의 프로그램들은 컴퓨터의 전면 패널 스위치를 통해 바이너리 형태로 입력되었다. 1세대 프로그래밍 언어는 소스 코드와 기계어 간의 구별이 없었다.

IBM이 최초로 기계와 함께 작업할 소프트웨어를 제공했을 때 소스 코드는 무료로 제공되었다. 당시 소프트웨어를 개발하고 지원하는 비용이 하드웨어의 가격에 포함되었다. 수십년 간 IBM은 1983년까지 소스 코드를 자사의 소프트웨어 제품 라이선스와 함께 배포하였다.

조직 
프로그램을 구성하는 소스 코드는 일반적으로 컴퓨터의 하드 디스크에 저장된 하나 이상의 텍스트 파일에 위치한다. 일반적으로 이 파일들은 소스 트리(source tree)로 불리는 디렉터리 트리에 주의를 기울여 정렬된다. 소스는 데이터베이스(예: 저장 프로시저) 등의 다른 곳에 저장할 수도 있다.

목적 
소스 코드는 주로 실행 프로그램을 만드는 과정을 입력하는 데 이용된다. (이를테면 컴파일이나 해석 과정) 또, 사람들 사이에 알고리즘을 주고 받는 방식으로 이용되기도 한다. (이를테면 책의 코드 조각)

프로그래머는 프로그래밍 기술을 배우려면 기존에 있던 소스 코드를 살펴보는 것이 도움이 된다. 개발자들 사이의 소스 공유는 프로그래밍 기술의 발전에 기여하는 역할을 하며 자주 인용된다. 일부 사람들은 소스 코드를 풍부한 화재(그림의 소재)로 생각한다.

소프트웨어를 다른 컴퓨터 플랫폼에 포팅하는 것은 일반적으로 소스 코드 없이는 불가능하다. 이진 번역과 원본 플랫폼의 에뮬레이션과 같이 이용할 수 있는 포팅 옵션들이 있다.

실행 프로그램의 디컴파일은 고급 언어에서나 어셈블리어로 소스 코드를 만들어내는 데 쓰인다.

같이 보기 
 레거시 모드
 머신 모드
 오픈 소스 소프트웨어
 구문 강조
 목적 코드

각주

외부 링크 

  Source Code Definition by The Linux Information Project (LINFO)