Software is the machine-readable instructions that direct computer processors perform operations.  Writing software is called programming or coding.

Software is a broad term and can include both low-level machine language, libraries, and applications. Most people know software simply as the invisible hand that directs the computer to do what they wish with the hardware they can see.

The first programmer was, arguably, a woman named Ada Lovelace in the 1800’s. While there have been many following heroes in software, during World War II Alan Turing was a significant player, for sure, and while not exactly thanked for it in the end, helped make sure programs were not all in German.

Here is where things took an interesting turn when software became “connected” in 1968 or so, though it took a while to catch on.

A major milestone was the compiler that translates a  more human-friendly language into machine instructions around 1952.  The introduction of a non-mainframe computer in the 1970s, the personal computer in the 80’s and the public internet in 90’s, all were dependent on increasing software capabilities as well as the hardware.

Today, software is running in just about everything. The languages and tools have improved and spread so much that it is truly an Exponential Technology.

What will the tomorrow of Software Technology be? Perhaps there are some clues here:


12 predictions for the future of programming | InfoWorld We gaze into our coding crystal ball to find the sure bets and intriguing developments developers should target in the next five years