What is the difference between software as a tool and something mechanical as a tool? Mechanical devices, for which there are many patents, take a state of matter and change it to another state of matter. Why should you be able to patent a circuit board, but not a set of program code that does exactly the same transformation to a set of bits? Why are mechanical engineers able to patent their devices, but computer eng…
A normal patent is for a specific way to reach a result. I can patent my specific "illumination device" (light bulb), but I can't patent "illumination of a space" (lighting a room).
To bring up a well known softare example, Amazon has a patent on one-click shopping. There is no way to create another way to let customers buy things with a single click without infringing that patent, because the patent is for the result (order & payment of goods with one human-computer interaction) not the way it's implemented.