\<a href="http://www.knowing.net/images/ComputersoftheAncientGeeks_74BC/image05.png"" atomicselection="true">Scientists have reverse engineered the Antikythera Mechanism, a sophisticated analog computer that was known to have calculated lunar phases and a luni-solar calendar. Newly reported is that it additionally calculated lunar and solar eclipses! Additionally, it may have (correctly) modeled the moon as having a slightly elliptical orbit. The Mechanism predates by at least a thousand years other devices of similar complexity (I'm not sure if that claim is restricted to Western technology or includes the Chinese).
I often fantasize about what life must have been like for an ancient geek. Both the career challenges ("You battle the Hittites without me, I'm going to look at the stars. Again.") and, more amazingly, the induction. Sure, you're going to figure out that the moon waxes and wanes regularly. The seasons, complete with solstices and equinoxes? Given the relationship to food, I'll grant you that. But how in the world do you model lunar and solar eclipses that only occur a few times per lifetime, in a time when you are absolutely beholden to clouds, correspondence is limited to trading routes, and the vast majority of learning is transmitted orally? Or the irregularities of orbits when your instruments of measurement are your eyes and fixed stars? Just incredible.
It gives me hope for the future of programming. However we program the computers that run the United Federation of Planets, it won't be with text files containing linear descriptions adhering to context-free grammars.