Charles Babbage is generally considered to have invented the