Departments


Editor's Forum


I'm going to have to mess with your heads this month. There's a whole lot going on here at CUJ (some of it very good), and it can be a bit confusing. For starters, I am pleased to introduce our newest columnist, Thomas Becker, and his bimonthly column, "STL and Generic Programming." Believe it or not, that was the shortest title we could come up with that would accurately communicate what the column was about. Thomas will mostly focus on the STL, which, for those of you who just woke up from a coma, stands for Standard Template Library. However, we could not in good conscience just talk about the STL without discussing the much larger thing it is a part of; hence the "Generic Programming" part of the title.

Generic Programming is a cool thing, with the potential to rock our little world as much as OOP has to date — and of course nobody agrees on what it is. I will leave it to Thomas to give you his working definition; see p. 70. If you don't like his definition, bear in mind that he is presenting it mainly as a practical starting point. I am sure he is open to other views and would love to hear from you.

The "mess with your head" part of this news is that we now have two Beckers as columnists, Pete and Thomas. You're to be excused if you get them mixed up. To make things more confusing, Pete's not in CUJ this month, so readers who routinely skip this forum (unthinkable!) may falsely conclude that Pete has changed his name. Weirder things have happened with magazine columnists.

There's more. With this issue we're making some changes to our naming conventions. That is, we're adopting a different set of rules for what we call a "Figure" and what we call a "Listing." (Okay, not quite as earth shaking as an asteroid blowing up Canada, but some people really care about this stuff.) I think we have just about succeeded in confusing everyone with our last naming convention, so here is our new, improved version: any text that is meant to be processed by a computer as a part of some language — C, C++, Java, Javascript, Visual Basic, XML, HTML, etc. — will be referred to as a Listing. It doesn't matter whether the text is a fragment or a whole source file. We're calling it a Listing. Every other kind of text we're going to call a Figure. The latter includes things like program output and raw data files.

Of course there will be special cases; there always are with naming conventions. (Should a makefile be a Figure or a Listing? Well, make is kind of a language...hmmm.) But I believe there will be fewer such conundrums than with our last scheme, which at this point I do not care to describe.

Well, I guess that's enough mind bending for this month. There are more exciting changes on the way, but I'll save them for later. Please join me in giving Thomas Becker a warm "welcome aboard."

Marc Briand
Editor-in-Chief