소프트웨어
저장장치에 저장된 특정한 목적의 하나 또는 다수의 컴퓨터 프로그램 / From Wikipedia, the free encyclopedia
컴퓨터 소프트웨어(computer software, 혹은 간단히 소프트웨어, 문화어: 쏘프트웨어, 순화 용어: 무른모)는 컴퓨터에게 동작 방법을 지시하는 명령어 집합의 모임이다.[1][2] 프로그램 소프트웨어는 컴퓨터 하드웨어에 직접 명령어를 주거나 다른 소프트웨어에 입력을 제공함으로써, 명령어의 기능을 수행한다. 컴퓨터 소프트웨어는 컴퓨터 하드웨어의 반대 의미로, 컴퓨터 하드웨어는 해당 일을 실제로 수행하는 시스템이다. 쉽게 설명하자면 생명체를 하드웨어라고 가정한다면, 그를 구성하는 유전자가 소프트웨어라고 생각할 수 있다.
다른 뜻에 대해서는 소프트웨어 (동음이의) 문서를 참고하십시오.
"소프트웨어"라는 용어는 1957년에 존 터키(John W. Tukey)가 처음 사용한 용어이다. 일상적으로 이 용어는 응용 소프트웨어의 의미로 자주 쓰인다. 컴퓨터 과학과 컴퓨터 공학에서 "컴퓨터 소프트웨어"는 컴퓨터 시스템, 프로그램, 데이터에 의해 처리된 모든 정보를 말한다.
소프트웨어 대부분은 고급 프로그래밍 언어로 개발된다. 이 유형의 프로그래밍 언어는 프로그래머들에게 더 쉽고 더 효율적인데, 그 이유는 기계어보다 자연어에 더 가깝기 때문이다.[3] 고급 언어는 컴파일러나 인터프리터, 또는 이 둘의 조합을 이용하여 기계어로 변환된다. 소프트웨어는 컴퓨터의 기계어와 상당히 일치되는 저급 어셈블리어로도 개발이 가능하며 이는 어셈블러를 사용하여 기계어로 변환된다.