Re: What's up with Diggins?
Posted: Jan 18, 2006 7:28 AM
> > In my experience, with C++, using the right libraries,
> > can get any level of abstraction as you like.
> This is not true. C++ doesn't have the right mechanisms to
> do abstraction properly.
As a generalization, I do not believe this to be true. Many of my articles and blog entries, have been an attempt to show just what you can do with C++. You can implement garbage collectuib, functional languages, dynamic typing, structural subtyping, declarative languages, concurrent code, programming with contracts, etc. The only paradigm which I have found hard to bridge is AOP.
> Then a programmer usually has to wory about lots of
> completely unnecessary "gochas",
I agree the "gotchas" are very annoying, but they are neccessary for the C++ constraints of performance, backwards compatibility, and portability.
> resulting in more effort
> for programmer and more bugs in code.
Yes I agree that they do slow down production and increase bugs. I simply think that one can't dismiss them as being "unneccessary", unless you consider the context of the design goals of the language.
It is my experience that virtually ever dark and dusty corner of C++, no matter how bizarre it appears initially, has been well thought out.
> And, also, it's too hard to write a well-designed library
> in C++.
Contentious as it may be, I agree. Which is why I am designing a new language.
> And this is where C++ has failed most.
Here I disagree. I don't know any language, which is as good for writing libraries (in the general sense). Most other languages, have serious shortcomings which mean that entire application domains can not be addressed with the language. This why Heron resembles C++.