G
Guest
Eric Sosman said:So by "C is a semantic subset of C++" you mean "Everything
in C is also in C++ except for those things that aren't."
Gotcha.
For our next exercise, we will prove "All crows are purple
except for those that aren't," and continuing in this way we will
advance human understanding immeasurably, except for the parts
that are measurable.
I just ask you for getting out from your world of perfect logical jokes
and pure mind stimulations, and come for a moment in a practical world
where programming is not a logical and philosophical speculation, but a
tool used to make software. In mathematics a single negative case
against a theorem is enough to drop that thesis. In real life, if
something is true in 98% of cases, nobody, or almost nobody, cares if
there is a 2% of cases in which it's not valid. They're just called
"exceptions". Have I been poorly accurate saying C is a semantic and
syntactic subset of C++ for that 2% of cases? Ok, let's say it's
*almost* a subset of C++, except for a pair of cases, that you can
almost count, where a C++ compiler gets angry while a C compiler says
nothing. And of course I know an implicit cast void* -> char* works for
a C compiler but not for a C++ compiler, and there are cases similar to
this. But I also know in *almost* any other case C is actually a subset
of C++, for the things already said in this thread. I don't really give
a **** that you can mention a pair of cases where this is not true,
because in 98% of cases my sentence remains true. And *almost* nobody
cares pedantic or strictly accurate definitions, or logical and steril
speculation on the nature of a programming language, in the real world
of computing.
--
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCS/CM/CC/E/IT/LS/M d-(--) C++++$ UBL++++$ P++++ L+++++$ E--- W+++ w--
PS+++ PE-- Y++ PGP+++ R++ tv-- b++>+++ D+ G>+++ e++>+++++ h* r++ z+++
------END GEEK CODE BLOCK------