History of Zero
Historical scientists categorize the types of number systems peoples use, much the same way philologists break down languages into "analytic," "agglutinative," "inflectional," etc.
The path that leads to the discovery of "0" lies only in the most advanced type of number system, which is called "positional" because the value of a character depends on its position. Our modern way of counting is positional. The base figure "5" has a different value in 514 and in 145, determined by its position.
The Romans, Greeks, Hebrews (and Aztecs and pre-Islamic Arabs and a great many others) used an "additive" system, which is fundamentally a transcription of counting. A Roman "V" meant "five" and that's all it could mean.
An additive system can develop into a positional one -- the abacus has a tendency to suggest the positional model -- but as far as we know, the positional concept has emerged in only four places: c.2000 B.C.E., in Babylon; around the start of the Common Era, in China; between the 4th and 9th centuries C.E. among the Mayan astronomer-priests; and in India.
Positional systems have certain features in common. One is that each base number is denoted by a discrete symbol, purely conventional and not a graphic representation of the number itself (i.e., not "four slashes" for "four," as the Greeks and Romans had). Imagine the scribal confusion if the Romans had tried to use positional mathematics with their numbering system: "423" would be IIII II III, while "342" would be III IIII II.
Another feature of positional number systems is that they lack special symbols for numbers which are orders of magnitude of the base number. Romans had a symbol for "10," and a separate symbol for "100" (10 x 10) and another for "1,000" (10 x 100) and so on. This is necessary in an additive system, for simplicity of notation and record-keeping, but it is incompatible with a positional system.
But think about the positional system. You come across a big stumbling block when you try to write a number like 2,002. For a Roman, that's no problem: MMII. But in a positional system, you have to find a way to indicate the absence of "tens" and "hundreds." You could leave a gap (the Babylonians did this at first), but that opens the door to more scribal errors, and anyway how do you indicate two gaps, as in 2,002?
It becomes necessary to have a "zero," a character that signifies "empty." Maybe not necessary, because the brilliant Chinese mathematicians somehow managed to run a positional system without making this discovery. The Babylonians (eventually), the Indians, and the Mayans did discover it, however.
But the next step, the true miracle moment, is to realize that that "symbol for nothing" that you're using is not just a place-holder, but an actual number: that "empty" and "nothing" are one. The null number is as real as "5" and "2,002" -- that's when the door blows open and the light blazes forth and numbers come alive. Without that, there's no modern mathematics, no algebra, no modern science.
And as far as we know, that has only happened once in human history, somewhere in India, in the intellectual flowering under the Gupta Dynasty, about the 6th century C.E. There was no "miracle moment," of course. It was a long, slow process.
The daunting realization, for heirs of "Western Civilization," is that the Greek and Roman cultures we revere were benighted mathematically, plodding along in the most primitive of number systems. But as champions of these cultures point out, we can admire their accomplishments all the more for that.
Some authorities, however, put up strong resistance to the theory of the Indian origin of modern mathematics. At first, they were mired in the same religion-based worldview that denied the Indo-European linguistic link: the number system simply had to be Hebrew in origin, because nothing else would comport with the Bible (so they thought). Later, however, resistance took refuge in unwillingness to concede cultural superiority to non-Western civilizations.