computers

As it turns out, the first computers didn't even use electricity, there’s nothing inherent to the concept of a computer that requires electricity (it just so happens that electric current flows pretty fast, which makes it useful for doing things really fast). In theory you could create a computer using gears and levers powered by steam, which is exactly what Charles Babbage designed in Victorian Era England, 100 years before the first electronic computers were made. In a sense Babbage was the first computer engineer and his Analytical Engine (had it been completed) the first computer, capable of doing all the key things, as proven/articulated by Ada Lovelace who, in her Notes of the Analytical Engine, described how the Engine could be used to calculate all kinds of things. She detailed the specific instructions necessary for “programming” the Engine, in a sense making her the first computer programmer.

the analytical engine

from 'The Thrilling Adventures of Lovelace and Babbage' by Sydney Padua

Again, it [the Analytical Engine] might act upon other things besides number, were objects found whose mutual fundamental relations could be expressed by those of the abstract science of operations, and which should be also susceptible of adaptations to the action of the operating notation and mechanism of the engine . . . Supposing, for instance, that the fundamental relations of pitched sounds in the science of harmony and of musical composition were susceptible of such expression and adaptations, the engine might compose elaborate and scientific pieces of music of any degree of complexity or extent.

Ada Lovelace (from her notes on the Analytical Engine)


While you could build a steam power computer out of gears (or anything really like dominoes or even blocks in minecraft) things got a lot more practical and faster when we replaced gears with electro-mechanical relays and cables, and even faster when we replaced those relay switches with vacume-tube switches and even faster still when we replaced those with transistors, all the while more or less the same basic idea, but each time smaller and more efficient:

...and so, computers are really just a very massive/complex arrangement of circuits, or small switches connected together that pass along electrical signals from one part of the circuit to another. We can arrange these circuits in ways that do arithmetic (in the CPU) or remember things (in memory) and in ways that can keep that current flowing incredibly fast.

while it's totally possible to build your own computer (some folks do it for fun) as programmers we don't really have to worry about putting the circuits together we just focus on programming the computer, telling the computer what to do or telling the computer how the electricity should flow, that's programming.