In reply to:
Sure, every single programmer who's ever made that mistake smacks themselves in the forehead and blames themselves. But think of all the saved foreheads there'd be if C had a proper string data type.
A modern programmer is one that only uses C when he has to. :) At one time, C was the only language WORTH using.
Large projects in C quickly turn into a bad thing. It is more time consuming, more prone for errors, etc. Using Visual Basic, Delphi or some other higher level language is a much better idea, and creating DLLs or ActiveX components in C to use in VB/Delphi WHEN you need to is a good thing (or at least better).
I personally vouche for using C ONLY when what you are writing is time critical/must run in real time, or if there isn't any other language that will do it appropriately. C strings are good because they are fast (in some cases). A large bloated string class may not be acceptable some times.
Many a project would be much better if they just didn't use C to begin with. Some programmers are more concerned with "which language is better", that they only use C and hurt themselves for their own stupidity.
There is a tool for every kind of product. In modern application programming, C maybe is better used as a tool for creating "building blocks" that other "safe" tools can use.
Anyway, my opinion
Kureg