컴퓨터 프로그래밍

컴퓨터 프로그래밍() 또는 간단히 프로그래밍(, ) 혹은 코딩()은 하나 이상의 관련된 추상 알고리즘을 특정한 프로그래밍 언어를 이용해 구체적인 컴퓨터 프로그램으로 구현하는 기술이다. 프로그래밍은 기법, 과학, 수학, 공학, 심리학적 속성들을 가지고 있다.

한편 코딩은 '작업의 흐름에 따라 프로그램 언어의 명령문을 써서 프로그램을 작성하는 일'  또는 '프로그램의 코드를 작성하는 일'로 크게 나누어 언급되고 있는데 이는 알고리즘과의 상관관계를 잘 언급하고 있다.

 프로그래밍 언어 

섬네일|에이다 러브레이스, 최초의 컴퓨터 프로그래머.

특정한 프로그래밍 언어로 쓰인 프로그램은 기계어로 번역되어 컴퓨터에 의해 실행되며, 어떤 프로그래밍 언어도 기계어로 번역이 가능하다. 어떤 언어에서는 기계어 대신 p-부호로 불리는 바리를 생성하기도 한다. 프로그래머가 기계 부호로 직접 작성하는 것도 가능하지만, 이는 굉장히 어려운 작업이다. 때문에 낮은 수준에서의 컴퓨터 제어가 필요한 경우 프로그래머들은 기계어 명령어에 대한 일대일 연상 기호 대응인 어셈블리어를 사용한다.

서로 다른 프로그래밍 언어는 다른 프로그래밍 유형을 지원하기 때문에, 분야에 따라 적합한 언어가 존재한다. 또한 언어마다 프로그래머가 알고리즘을 구현할 때 그 구체적인 방법과 수준의 차이가 있기 때문에, 사용의 편의성과 성능 사이에서 적절한 타협이 이루어진다. 또한 프로그래밍의 언어 중 하나이며 컴퓨터에게 명령을 전달할 수 있다.

 소프트웨어 개발 

소프트웨어는 컴퓨터 프로그램과 데이터를 총칭하는 용어이다. 이에 수반한 문서 자료는 소프트웨어의 필수 요소로 간주되지만, 실제 프로그래밍 과정에 포함되는 것은 아니다.

소프트웨어의 제작은 아래와 같은 과정을 포함한다:
 특정 문제를 해결하기 위한 프로그램의 요구를 인지한다.
 프로그램을 기획하고, 도구(하드웨어 플랫폼과 프로그래밍 언어를 포함한)를 선택한다.
 프로그램 언어를 사용하여 프로그램을 제작한다.
 테스트 등을 통하여 디버깅 과정을 거친다.
 일반 사용자에게 공개한 후, 지속적인 유지/보수를 한다.

 같이 보기 
 프로그래밍 코드 작성
 컨테스트
 ACM-ICPC
 구글 코드잼
 탑코더

 참조 

 외부 링크 

 Programming Wikia