
As I study Computer Science, I am often surprised at the timeline of discoveries. It is easy to assume that the greatest advances in Computer Science happened within the last twenty years because of the proliferation of computers in that period. In fact, most of the fundamental algorithms were developed in the 60s and 70s, some even earlier. Arpanet, which would eventually become the Internet, has its roots in 1969. Machine learning, a branch of Computer Science that still feels futuristic, was being developed intensely in the early 80s.
Technologies emerging from Computer Science go through two phases. First is a phase of discovery and initial development. During this phase the science itself is fleshed out thoroughly, but is applied narrowly. Second is a phase of wide application. This phase usually begins when hardware and manpower catch up to the science. A good current example is natural language processing. The science was fleshed out in the 80s and 90s, but now that hardware has caught up and a large number of programmers are developing NLP software, NLP is emerging into the mainstream.