What is the difference between a program and software?

I’ve often wondered this but finally stopped to do a little research while completing [https://www.codecademy.com/paths/computer-science/tracks/cspath-development-skills/modules/learn-git-git-workflow-u/lessons/git-workflow/exercises/hello-git](https://this lesson).

It seems that these terms are interchangeable but I just want to be sure.

I understand that software is code or possibly a collection of programs that interact with hardware and a program is part of software.

Also: software can be a program but a program can’t be software.

Any links to more thorough or clear resources would be much appreciated.

Links I found on google to answer my question:
[https://www.quora.com/What-is-the-difference-between-software-and-a-program](https://On Quora)
[https://www.britannica.com/technology/software](https://Britannica on Software)
[https://www.britannica.com/technology/computer-program](https://Britannica on computer program)

On the most basic level I understand a program to be a set of directions.
Software can be a single program, or a bundle including different programs.

In practical terms while learning it’s not too big of a deal if the difference is not apparent at first.


Thanks @toastedpitabread! So in doing these tutorials, learning to code etc, we are learning to make small programs, and if we keep at it we’ll eventually get to the point of making more modular, larger and cohesive programs that would be considered software. Right? I just want to make sure so I am informed so if it comes up in conversation or interviews I won’t sound uninformed.

Yes that’s a good way to think of it! Also fun fact: programs and algorithms predate computers by a mile.

@toastedpitabread hmm, I know about algorithms from math class as a kid but, programs? In what sense? I’m trying to google it but I keep coming up with the other definitions like a plan or a set of instructions in general.

A quote from an old lecture I took: “In 1801, the Jacquard loom used something akin to punch-cards to automate the action of a loom to create patterns with yarn. These ‘punch-cards’ were effectively programs to control the loom.”

1 Like