On 21/05/13 16:21, Brad Roberts wrote:
On 5/20/13 9:49 PM, Peter Williams wrote:
Yes, if D aspires to be a systems programming language it can't keep
relying on wrappers around C/C++ libraries (especially C++). In the
long term, it should be D all the way down to the OS API.
You wrote this as if not using c and c++ libraries is a predicate for
being a systems language. It's not.
It is for me. I also won't count D as a systems language until DMD is
implemented in D.
What's with the D community's (yes, I'm over generalizing some)
not-invented-here syndrome? Avoiding the incredible body of existing
code out there that's accumulated over the decades is foolhardy and
narrow sighted.
I did say "in the long term".
Are all c and c++ libraries great bodies of code,
absolutely not.
I am not a fan of C++ (and don't really trust C++ libraries). I went to
C++ from Modula-2 due to job constraints but eventually ditched it and
moved on to C - yes, I went from C++ to C. The main reasons were that I
felt C++ caused more problems than it cured. Plain C is a perfectly
good language for OOP as GTK+ demonstrates and there's no need for all
the complexity that comes with C++.
Is some of the code that predates D worth reusing, yup.
Yes, but "in the long term" it should be replaced by D code so that you
get all the many advantages (better testing, contracts, simplicity,
etc.) that brings. Redo the ones that suck first but do them all
eventually.
Peter