ある機能をもつソフトウェアに対して、「ソフトウェア」という言葉が
接頭辞・
形容詞的に用いられることがある。
エンコードをするソフトウェアを「ソフトウェアエンコーダ」、
DVDを再生するソフトウェアを「ソフトウェアDVDプレーヤー」と呼ぶことがある。情報を処理する(DVD再生の場合、DVDに収録されたデジタル画像データを可視化する)際に、当該情報専門の単体のハードウェア(DVD再生機・録再機)で処理されるか、汎用コンピュータ(
PC等)用のソフトウェアで処理されるかを区別するためである。
ソフトウェアは、物理的なハードウェアと対比した言葉であり、
LSIなどの電子回路そのものは、コンピュータに処理をさせる手順を記述していても、物理的な物であるのでソフトウェアとは呼ばない。ハードウェアでありソフトウェアでもある中間的な存在として、
ファームウェアがある。
コンピュータにおいて、ソフトウェアは
RAMにロードされ、
CPUで実行される。最も低いレベルでは、ソフトウェアは特定のプロセッサに固有の
機械語で構成されている。機械語はプロセッサへの命令となる2進数の値から構成されていて、それによってコンピュータの状態を次々と変化させる。従ってソフトウェアは、コンピュータハードウェアの状態を変化させる命令列である。通常、機械語よりも人間が使いやすい
高級言語で書かれる。高級言語は
コンパイラか
インタプリタによって機械語のコードに変換される。他にも機械語とほぼ一対一に対応した
アセンブリ言語があり、アセンブリ言語で書かれたソフトウェアはアセンブラによって機械語に変換される。
1957年にJohn W. Tukeyがこの意味で「ソフトウェア」という用語を最初に使用した
[John Tukey, 85, Statistician; Coined the Word 'Software', New York Times, Obituaries, 2000年7月28日.]。
情報工学および
ソフトウェア工学では、ソフトウェアはコンピュータシステム、プログラム、データにより処理される情報全般やあらゆる「機械装置以外のもの」を示す。
記憶装置に異なる命令群を読み込んで計算を制御する概念は
階差機関の一部として
チャールズ・バベッジが考案した。これがほとんどの近代ソフトウェアの基礎となる理論は
アラン・チューリングの
1935年の論文
Computable numbers with an application to the Entscheidungsproblem で初めて提唱された
[Hally, Mike (2005:79). Electronic brains/Stories from the dawn of the computer age. British Broadcasting Corporation and Granta Books, London. ISBN 1-86207-663-4.]。