60 years ago, John Von Neumann made a revolution when he figured out his famous architecture for computers.
Computers at this time were told what to do as any other machine ; by plugging cables once to do only one thing.
Von Neumann introduced first the idea of a computer with a memory to remember.
Some persons used this memory idea to remember as digits numbers, colors, texts.
Von Neumann then introduced a second more important idea : a computer able to remember an instruction aka "what to do".

Since then a computer was able to get from memory what to do as instructions.
This made an interface between circuits made with transistors to "do" the instructions and something else to make many instructions triggered by only one instruction from a person.
This gave birth to what we're calling now "software", the capability for a computer to do many things from one thing from a person.

The problem since then has always been the gap between the instructions done by circuits in a computer and the instructions a person can tell to do.

A person is thinking and telling to other persons in a language such as English, French, Mandarin or Spanish whereas a circuit can understand only instructions in a so called "machine language" to move, calculate and compare numbers.

The history of software is the one of narrowing this gap by making stuffs between "natural" languages and "machine" languages.

This history is full of attempts from assembly language to C, C++, LISP, Smalltalk, Java, Python, Ruby, Perl, Javascript, HTML, CSS...

This history is also full of (very) successful companies, from Microsoft to Google.

Any successful company today has to deal with software.

What is the most striking to me is that NONE of the most successful software makers don't sell it to individuals using it!

Yes, Microsoft is selling software but gets 90% of its sales and profits by selling it either to PC makers selling to people or to companies buying PCs for employees or servers for themselves.
Yes, Apple is selling to people but gets 90% of its profits by not selling the software but the machines (iPods and Macs) in which the software is.
Google is not selling software at all but the spacetime people spent using its software to advertisers.
Adobe is selling software not to users but to groups making either software, videos or images.

That is the rule to remember : if you want to get big profits from making software for people, don't sell it to them !!!