>>39
C/C++ isn't bad at producing code. It's actually easy to spew hundreds of lines of code which don't do that much. Modern operating systems such as the Linux kernel or the NT kernel are written in C. They actually exercise pretty strict coding standards to maintain code quality. Reasons could be:
1)speed
2)everyone knows them and they are not hard to learn
3)good for low level programming, but portable enough
C++ adds additional ability to abstract, but it's a lot more broken in that regard than languages which were designed with that goal from the start, as it just tries to add features on top of C, which had different design goals.
The question is to the programmers, what do you gain by using C or C++ as the main language of your project, and what would you gain if you used another language, which could allow you to better express your ideas more efficiently.
A bit offtopic, but using Haskell or Lisp, does not mean you will code faster. You will write much less lines of code, and will end up doing the same task(but it will probably be in a different way than in C), or more than the equivalent of a different order of magnitude of C LoC.
The problem is that you can only code as fast as you can think, and you might find yourself spending time thinking about the problem a lot more than writing actual code, but once you understand what the problem is, the code will flow easily. In C you might end up writing all kinds of needed boilerplate code while eventually getting around to the core of your algorithm.
Interactive development can also speed up the coding process a lot, allow you to do live tests, and if done right, might make you not have to rewrite the entire thing when you found out some of your ideas were wrong.
Not all OSes are coded in C, remember Lisp Machines? And there's a few other newer projects which try to mirror some of the concepts.
The bottom line is that you use what works best for your mind and your patience, if C works best, use it, if Lisp or Haskell work better for you, use it.