Ada suffered for years for being an unimplementable language. It was a long time before compiler technology caught up with it, but Ada found it hard to shake that stigma.
C came along at the right time, did not have those problems, and so took off. On the PC, for example, in the early days C was the only possibility other than assembler.
Could you explain what features of the language made it that hard to implement?
I would really like to see your general opinion on Ada from a language designer standpoint. Considering you're the main mind behind D - did you draw any inspiration from Ada while fleshing out the language?
I don't recall just what it was that made it hard, other than being so complicated. I doubt I'd feel the same way looking at it now, as I have a lot of practice implementing complex features from writing a C++ compiler :-)
What I find attractive about Ada is the emphasis on writing programs that are checkably correct. I believe that, with the ever increasing complexity of software, better and much more mechanically checkable encapsulation, etc., is the way of the future, as opposed to what I call "faith based programming" where you overly rely on the programmer not making mistakes.
A large focus of D has been and continues to be on being able to write mechanically checkable code.
Kernighan himself weighs in: http://www.lysator.liu.se/c/bwk-on-pascal.html
Then C, especially old school C can almost be converted into assembly by YACC without a real compiler
I'd be interested to see this, if you have an example - for example how does it manage the stack?
It's Pascal like syntax. In the 80's there was a very real Pascal vs. C war, literally based upon "BEGIN" and "END" being too verbose compared to "{" and "}" argued by guys with 300bps modems and crap like that. Pascal got an unfair bad rap. Ada looks an awful lot like it though.
Then C, especially old school C can almost be converted into assembly by YACC without a real compiler. While it's very hard to make a good or great C compiler, it's not hard to just make a C compiler. Ada came with a much larger library and then, if I'm not mistaken, there was a certification process to make sure your Ada was really "Ada" and that was fairly pricey.
It's worth a look if you're doing some kinds of green field development, the GNU Ada compiler is pretty good. I think there was a plan for like an eclipse plugin too.