>>937898
>sophisticated
That's not the word I would use.
>>937924
>once upon a time there was C and C was king, because it was pretty good for practical reasons
C and UNIX became popular in the 80s with RISC workstations because they could get the code for cheap. They didn't have to write an OS.
>Then some narcissistic faggot called Bjarne Stroustrup decided he's gonna make an OO language to make him popular. Of course he'd have to piggyback on the popular language of the time, which was C. So: popular C + popular OOP = popular C++.
C++ is based on C because Stroustrup worked at AT&T and was stuck using C, but wanted to fix some of the parts that sucked, like strings and error handling. He couldn't really fix them because C sucks too much, but that was his intent with C++. If there were any "narcissistic faggots", they were the creators of C and UNIX who spread their code everywhere even though they knew it was bad. That is a good theory that they did it because they wanted to be popular because they certainly didn't do it because they thought it would be good for the users.
>Bjarne didn't care about the fact that OOP actually requires the language underneath to be high level i.e. garbage collected (among other things, like arrays being first class citizens)
This is true, but neither did anyone else at AT&T. They could have told him not to waste so much company time on that bullshit, like they could have done with C and UNIX, but for some reason, he was allowed to turn C++ into an AT&T product and they marketed it.
>all he cared about was making a popular language that weenies would quickly adopt as a replacement for C.
It wasn't until later that C became popular and then the UNIX weenies invented some bullshit excuse for why they're stuck with C and C++. C was the language replacing other languages, like Pascal, Fortran, and Lisp.
I've always thought that if Lisp were a ball of mud,
and APL a diamond, that C++ was a roll of razor wire.
That comparison of Lisp and APL is due to Alan Perlis - he
actually described APL as a crystal. (For those who haven't
seen the reasoning, it was Alan's comment on why everyone
seemed to be able to add to Lisp, while APL seemed
remarkably stable: Adding to a crystal is very hard, because
you have to be consistent with all its symmetry and
structure. In general, if you add to a crystal, you get a
mess. On the other hand, if you add more mud to a ball of
mud, it's STILL a ball of mud.)
To me, C is like a ball. Looked at from afar, it's nice and
smooth. If you come closer, though, you'll see little
cracks and crazes all through it.
C++, on the other hand, is the C ball pumped full of too
much (hot) air. The diameter has doubled, tripled, and
more. All those little cracks and crazes have now grown
into gaping canyons. You wonder why the thing hasn't just
exploded and blown away.
BTW, Alan Perlis was at various times heard to say that
(C|Unix) had set back the state of computer science by
(10|15) years.