Where do you go to find your C++ articles and/or news these days? => How D influences modern C++ libraries

Matthew Wilson matthew at hat.stlsoft.dot.org
Tue Apr 8 14:43:04 PDT 2008


"Georg Wrede" <georg at nospam.org> wrote in message news:47F80B34.1050709 at nospam.org...
> Matthew Wilson wrote:
> > Hi
> >
> > It's been a while since my consulting practice stole all the time I wanted to spend researching and writing, and things in the
> > publishing world seem to have changed considerably in that time. CUJ is gone, and other magazines seem to have lost their pizzaz
> > (and some, perhaps, quality along with it). Other than the ACCU, I'm not aware of anything C/C++-related maintaining any
significant
> > momentum. Of course, I could be quite wrong, which is why I'm putting out the question.

<snip>

> Well! The second guy this week, who walks in from ages of absence.
> Welcome back, Matthew!

Thanks, but I'm not back yet. A return-to-D is still at least 5-6 months away. But I will be back for sure -> see below

> When I last remember having seen you here, D was unknown to most folks.
> Today things are different.
>
> Why not quickly publish what you already have, and then start writing
> about D? Why beat a terminally ill horse, when you should use a car.
> (The horse bit is actually your own first paragraph, above!)

Well, there're several answers. One is that commercially I earn my bread-and-butter from teaching C++, C# and Java development teams
how to do their thing better, or building products for clients (in C++, C# or Java). As yet there are no D things happening in any
commercial space that I come near.

Another side of things is that I've been working on C++ libraries that, in part, borrow some ideas from D (and other languages). You
may or may not have heard of Pantheios, my C++ logging API library. It's 100% type-safe, extensible, generic and *extremely*
efficient - up to two orders of magnitude faster than all the other C++ logging libraries. Part of the reason for this is that it is
able to convert logging statement components to string slices (len+ptr) - i.e. like a D string - which are then treated generically
by the core functions that congregate them into a logging entry. And it only does any of this _after_ it's determined whether a
given statement is to be logged or not, so it's effectively zero-cost when that logging level is switched off.

In one fell-swoop, Pantheios can eliminate #ifdef DEBUG from application code forever, thanks in part to its D influences. ;-)

As soon as I get Pantheios out of beta (it's at beta 119, even though it's in production systems around the globe) I plan to write
Pantheios.D, and am open-armed to any willing D-collaborators.

The other major library that I'm working on is FastFormat, which is be a generic, extensible, 100% type-safe, *highly* efficient,
I18N/L15N-enabling formatting library that I expect (or at least hope) will kill stone dead C's streams, C++'s IOStreams and any
other C++ output/formatting libraries currently in use. It uses similar technology to Pantheios, and is influenced by D's writef()
to some degree. I hope to release this in the next few weeks, and again spreaD some Design into the C++ worlD. ;-)

> Switch to D, and see Scott Meyers &co sink in the C of obsolesence,
> while your street credibility does the Red Bull.

Well, not sure I think of it quite like that, but I'm definitely still interested in D and plan to get back into it when I am able.

Cheers

Matt





More information about the Digitalmars-d mailing list