"For years I've tried my damnedest to get away from C. Too simple, too many details to manage, too old and crufty, too low level. I've had intense and torrid love affairs with Java, C++, and Erlang. I've built things I'm proud of with all of them, and yet each has broken my heart. They've made promises they couldn't keep, created cultures that focus on the wrong things, and made devastating tradeoffs that eventually make you suffer painfully. And I keep crawling back to C."
Among it's other virtues, he points out that it is a fantastic high level language that "makes it easy to reason about high level algorithms and low level hardware at the same time." It offers the best speed, debugging environment, consistency of execution, a uniform ABI, compatibility with other languages, and a fast build-test-debug cycle. It has many flaws, but as Katz says "Its flaws are very very well known, and this is a virtue. All languages and implementations have gotchas and hangups. C is just far more upfront about it."
So, Slashdot, is everything old new again?