A programming language should embody the collective wisdom of common sense practices that have been learnt over many years, by common and painful experience. It fails to draw on the insights and progress made by many researchers. C encourages gurus who spout false wisdom on obscure subjects. C also encourages programming by guesswork. The view that correctness checks are training wheels for students, which gurus don't need must be dispelled.
Many disciplines have techniques to ensure correctness.
For example, the metronome in music is not just for stu dents, but will help an advanced musician ensure that the tempo of a piece is correct, and since playing with a metronome is more difficult it will help sharpen the musicians performance of the piece. The musician does not just view the metronome as an aid for beginners, or as something that restricts him to a set beat, but as a tool that helps produce a polished and professional performance. C should not be seen as a language to which you grad uate after you have learnt to program in languages with safety checks. Languages with consistency and semantic checks are essential aids to the production of professional software. A programming language cannot be seriously viewed as some authoritarian that stops us doing what we want or need to do.