I find all the comparisons of circuit design and logic implementation to stone tools to be more than absurd. Microcontrollers are only yet another tool available to solve design problems. They will never supplant, or make obsolete, all other methods and tools which have been developed, or those that will be developed. When I first began to develop custome ASICS during the early part of the decade, we were using a couple million gates, and a single processor, mostly for house keeping; setting up registers, etc. Some of the last projects I worked on used nearly 20 million gates and about 10 processors. Much of the processing had been offloaded to the processors by that time; however, logic has continued to grow exponentially on these products. Efforts to replace all or most of the logic design with processors is pretty much running out of steam. Processors just can't come close to logic when it comes to speed, parallel capabilities and low power consumption. Even after all these years since the death knell was rang for digital logic, we still do design the old fashioned way: with state machines, coders/decoders, fifos, etc.
On of the last designs I worked on was an update to DOCSIS. The "new and improved" design is processor and memory based. It was supposed to make the core more flexible. My contribution was to synthesize the core and optimize for speed and area. When the numbers came in, the new core was 3X larger than the old one, due to the large memory arrays that were required. The power numbers were even worse. These results nearly cost the project manager her job.
I routinely come across ridiculous suggestions of how to replace logic with microcontrollers. Seems some designers think they can't light an LED without a controller anymore. Beyond that, others will make absurd claims that already simple circuits will be simplified by 1000% with microcontrollers. Those claims are laughable, since it's clear that many think circuit design is just too damn hard to do now in the new age of controllers.
Not long ago, I had to invert and tri-state a signal on a "finished" product that had been a design flaw which got missed before it went to manufacturing. I ordered that a simple logic chip be deadbugged and connected to the original signal pin. I used the signal as the tri-state control as well because it was only important to have the signal on the trace when it was active. During the signal's inactive period, a different chip used the trace. Simple fix. Product shipped. No microcontroller needed. No code to develop, debugg and download. No reset to worry about. No watchdog timer to program, the simple logic always runs, never hangs.
Remember when analog design was supposed to become obsolete? That never happened. Neither will logic design ever be obsolete.