J
jacob navia
Dear friends:
Mr Tisdale has often been called a troll here.
I never understood why until I read that sentence.
But he is saying the same thing that Mr Bode.
In another language, yes, but the same thing.
By the way, I am 54, and I feel somehow concerned...
Am I too old to learn anything?
In any case I hope that Mr Tisdale will have to wait
a long time, do not feel like leaving right now.
The crux of the matter is that I never swallowed the
object oriented hype. I think that "object oriented"
programming is OK in a number of applications that
are well described by hierarchical models, but not
for *all* applications.
Surely not.
I saw Bjarne start with the idea of a better C and
get stuck in an ocean of complexity, that swallowed
him and his intrepid collaborators alive.
Is that because of his object oriented mind set?
Maybe, maybe not. There are many other simpler
languages (all object oriented) that have started
after C++. There was already objective C when he started,
that has survived well in the Mac and in the later
incantations of the Next step OS.
The creation/destruction of objects was one of
the innovations of C++. Yes, but:
Automatic creation and destruction of objects can be
obtained with a good GC. And I mean objects not in the
C++ sense but in the C sense, i.e. a contiguous amount of
memory cells, that have related information structured
in a programmer defined way.
The problem of making an incomprehensible compiler, that
generates code with algorithms completely impossible to
follow by hand (i.e. by mind) is that nobody knows
any more exactly how the software works.
Complexity leads to britle software, that is patched
without any understanding because to patch it you
have to understand all the class hierarchy in it.
C software is transparent compared with C++. This
inherent simplicity is the great strength and the
great weakness of C.
Because I am not a "C wave the flag" person either.
Data processing is much more complicated than that.
The positive side of C++ is the STL.
The STL can be done in a simpler way in C. Templates
are just macros. The only thing to do is to make a macro
facility that can be programmed, in C.
I am thinking about an open compiler interface, where you
write your macros not in "template C++" but in C.
The compiler would load a DLL/shared object and execute the
program in there, that will produce (eventually) text to be
inserted at the current position. You write C at compile time
parametizing it in C.
A recursive language.
I "didn't make it" to C++ for many reasons, reasons that I
consider valid. It is a pity there is so little disucssion
here about the real issues in data-processing and we stay
at the superficial level of "I like it" or "I do not like it".
jacob
> 2. Most of today's senior programmers started out with C and feel
> more comfortable using something they know well.
> The only reason that C still exists is that
> there are a large number of C programmers
> that still aren't comfortable with C++.
> There is no reason now to expect them to ever learn C++.
> We are just waiting for them to retire or die.
Mr Tisdale has often been called a troll here.
I never understood why until I read that sentence.
But he is saying the same thing that Mr Bode.
In another language, yes, but the same thing.
By the way, I am 54, and I feel somehow concerned...
Am I too old to learn anything?
In any case I hope that Mr Tisdale will have to wait
a long time, do not feel like leaving right now.
The crux of the matter is that I never swallowed the
object oriented hype. I think that "object oriented"
programming is OK in a number of applications that
are well described by hierarchical models, but not
for *all* applications.
Surely not.
I saw Bjarne start with the idea of a better C and
get stuck in an ocean of complexity, that swallowed
him and his intrepid collaborators alive.
Is that because of his object oriented mind set?
Maybe, maybe not. There are many other simpler
languages (all object oriented) that have started
after C++. There was already objective C when he started,
that has survived well in the Mac and in the later
incantations of the Next step OS.
The creation/destruction of objects was one of
the innovations of C++. Yes, but:
Automatic creation and destruction of objects can be
obtained with a good GC. And I mean objects not in the
C++ sense but in the C sense, i.e. a contiguous amount of
memory cells, that have related information structured
in a programmer defined way.
The problem of making an incomprehensible compiler, that
generates code with algorithms completely impossible to
follow by hand (i.e. by mind) is that nobody knows
any more exactly how the software works.
Complexity leads to britle software, that is patched
without any understanding because to patch it you
have to understand all the class hierarchy in it.
C software is transparent compared with C++. This
inherent simplicity is the great strength and the
great weakness of C.
Because I am not a "C wave the flag" person either.
Data processing is much more complicated than that.
The positive side of C++ is the STL.
The STL can be done in a simpler way in C. Templates
are just macros. The only thing to do is to make a macro
facility that can be programmed, in C.
I am thinking about an open compiler interface, where you
write your macros not in "template C++" but in C.
The compiler would load a DLL/shared object and execute the
program in there, that will produce (eventually) text to be
inserted at the current position. You write C at compile time
parametizing it in C.
A recursive language.
I "didn't make it" to C++ for many reasons, reasons that I
consider valid. It is a pity there is so little disucssion
here about the real issues in data-processing and we stay
at the superficial level of "I like it" or "I do not like it".
jacob