Branimir Maksimovic wrote:
C++ only smooths over C's rougher spots, and adds some OO abstractions.
I can't completely agree here.
C++ allow possibility to have proper string instead of assembler
string,
real array and so fort. With templates and possibilities to pass
different types through pointer/reference to single type it allows
type safe operations. For example I use event handling template
classes that can be embedded into any C event handling
system, which dispatch events to handlers (virtual or non virtual)
without single cast.
That's enough for us to program far beyond C, because OO is good.
Not just OO. OO is not enough to provide type safety.
Both OO and templates accomplish that task.
But C++
should still be considered "very high level portable assembler".
Agreed, as C++ is also built on assembler constructs.
C++ is hard to use, and hard to avoid undefined behavior.
I thought so, but then again I learned language myself.
But I had young programmers who used language to
do everyday tasks after couple of months when day first
saw language. With one experienced C++ programmer,
,there are good books too,I never saw that young programmers
produce undefined behavior programs or that they had
problems with language.
But then again, problem arises because there are lot of things
that can be done in other languages (functional, scripting,assembler),
and can't be done in C++ easily or at all.
Then fight with a language starts, but then again, I just
figured out, not to fight with a language, but to use other
ones when appropriate
The benefit is
high performance. So if you need high performance, then you need to learn
C++'s quirks, and then you need to learn how it compiles into opcodes, so
you can reduce those and make a program faster.
Not necessarily. For everyday tasks I don;t have to even think
about performance and I don;t care because I have never had
problems with performance.
But I have tried Haskell and concluded that for reasonable performance
and memory usage I have to use assembler arrays, strings, and malloc/
free with even more unsafe techniques

When I looked that I got that for free with high level constucts in C+
+,
and that C++ programs work with required performance
without any effort, but I have to be ultra guru to barely get
required performance in Haskell, I give up on that language.
So the best way to use C++
is still as "portable assembler".
C++ can be used as portable assembler,too,
but rarely as most task does not require low level programming.
But then again, when low level constructs are needed I use
real assembler more and more.
You may want to consider using your newsreader's killfile mechanism. Some
people are not here to learn.
My principle is basically not to filter anyone's messages except
spamers
that advertise products on newsgroups and are not
interested in discussion. Default user does not behaves like a
educated gentlemen, but that is his problem, not mine.
Perhaps this is because he is young and has
strong emotions about this.
Greetings, Branimir.