Departments


Editor's Forum


I'm writing code again, and I must say I enjoy it. It's been nearly two years since I finished The Standard C Library. The code I wrote for that book is popping up in more and more commercial products, much to my personal delight. Yes, I appreciate the revenues, but I enjoy at least as much seeing the stuff I write put to practical use. Most of you, as practicing programmers, can understand that feeling, I'm sure.

So I dug a ten week hole in my travel schedule and curled up in my office at home. The first month went to writing all the code for the Normative Addendum now being considered by WG14, the C Standards committee. (See my "Standard C" columns from April through July, 1993.) The good news is that all those proposed additions really do seem to make sense, and can be added without compromising the size or performance of programs that don't want to use the new features. The bad news is that they make the Standard C library about 50 per cent larger. (And that library was already easily twice as large as the library normally associated with "Kernighan and Ritchie"C.)

I've now got a great chunk of working C code that's mostly debugged. And I've got a list of corrections and suggested improvements to take to the next WG14 meeting.

Half the second month went to writing all the code for C++ iostreams. I used as a spec Revision 6 of the description that's been accepted by X3J16/WG21 for inclusion in the draft C++ standard. Jerry Schwarz gets credit for much of the amalgamation of prior art that went into this extensive document. Again, I can happily report that the spec is mostly doable, and sits pretty comfortably atop the Standard C library. The bad news is that iostreams makes a few demands not easily translated into calls on the existing Standard C library.

So I've also got a great chunk of C++ code that's much less debugged. I've got a list of corrections and suggested improvements to take to the next WG21 meeting. And I've got a small list of suggested extensions to the Standard C library to take to the next WG14 meeting.

The next challenge is to marry the new support in C for large character sets (the bulk of the Normative Addendum) with the C++ concept of iostreams. I have a good initial design, I think. But I've only got a few weeks left before the travel picks up again — beginning with two weeks in Europe at those meetings I mentioned above. And I still have lots of documenting to do.

When I quit my day job, a few years ago, my biggest worry was that I would run out of things to write about. I hate being repetitious, even when I know that I'm reaching new congregations with old sermons. Writing code is my principal way of recharging batteries. Exhausted as I am most of the time right now, I haven't felt this good in years.

P.J. Plauger
pjp@plauger.com