3 ms·
It has been an interesting read of the many different points of view in support of C or of C++. But there is an elephant in the room here. The problem with mos
by oldandtired 9y ago
It has been an interesting read of the many different points of view in support of C or of C++. But there is an elephant in the room here.
The problem with most languages, including the ubiquitous C, C++, Java et al, is that there are implementation defined behaviours and undefined behaviours that are specifically placed in these languages.
A previous discussion, which I can't locate at the moment, did discuss this in detail. Most programmers have a serious flaw in that they do not document. They may produce documents but they do not document. Every assumption, every trick and why it is used, every implementation defined behaviour, every reasoning as to the use of specific algorithms should be documented and is not.
I have seen incredibly detailed documents for programs that just miss some of the basic essential assumptions because "everyone knows them".
In everyday communications, we use language in a dynamic way, meanings can be changed subtly and we get around the errors. With the programming of machines, there is no such leeway ever. Our languages should be defined completely so that we will know that what we have written has actual meaning.
the reality, of course, is that this is a "pipe-dream" and won't happen. But as programmers, we could start calling for such completeness of definition of the languages we use.