Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Editorial


SP95: EDITORIAL

When I look at the recent C++ compiler offerings from companies such as Microsoft, Borland, and Symantec, the first thing I notice is the development environment. Somehow, I feel a bit like the pilot of a Cessna 182 who has wandered into the cockpit of a Boeing 767. Some things look vaguely familiar, but most of the console is a blur of knobs and switches. Give me an editor and a make utility any day. Oh, I need a resource compiler, too. That's it. That's all I need. And a debugger. A C++ compiler, a make utility, an editor, a resource compiler, and a debugger. That's all I need. And a profiler. Okay, a faster linker might be nice, too--and that class browser does look pretty cool. Hey, wouldn't it be great if I could just drag some knobs and switches and drop them on the screen. Then, I could junk that old editor and get something with syntax-directed highlighting.

Still, for all of the sparkle and flash of integrated-development environments, the real tool is (and will be) the language. That the C++ language is going through a public review should not go unnoticed. Working group WG-21 of the ISO SC-22 committee and ANSI's X3J16 committee have made the draft C++ standard generally available for public review. The committees are soliciting comments on the clarity and completeness of the document in its description of the standard. This is a necessary step in the adoption process. However, they are not looking for major rewrites. Rather, the committees are looking for comments that would polish the description of the language and its standard libraries.

Strangely, the committees seem to be forging ahead at speeds uncharacteristic of a standards body. One indication of this is the short review period. Although the working paper was released on May 1 (actually, "two hours remained in the month of April in the time zone of the first FTP site," said Andrew Koenig), the C++ community has until mid-July to make comments. To make matters worse, the document is some 720 pages, and it makes for anything but light reading--even Evelyn Wood might find it difficult to get through in a weekend.

It's the WG-21 committee's position that you've had five years to make suggestions on the standard. According to Bjarne Stroustrup, "a public review is primarily an exercise for language lawyers." At this point, the committee has no intention of redesigning the language. Items that stand little chance of being accepted, says Stroustrup, include banning the preprocessor, requiring automatic garbage collection, and adding a persistence library.

Even if you've missed the opportunity to provide comments, you may still find the draft interesting. It is available via anonymous ftp at research.att.com in the dist/C++/WP directory. You'll also find some interesting discussions of the standard taking place in the comp.std.c++ newsgroup. If you would like to make an official comment, you can get the procedures for doing so by sending e-mail to [email protected].

Speaking of standard C++ libraries, this issue of Dr. Dobb's Sourcebook provides some useful techniques for programming with the Standard Template Library, which was adopted by the standards committees late last year. As Rogue Wave founder Tom Keffer points out, the STL is not particularly object oriented. However, it provides trade-offs in terms of flexibility. This issue also provides three class libraries you should find useful. For instance, Todd Esposito and Andrew Johnson present a generalized parsing engine that can be used to parse anything from command lines to your WIN.INI file. Michael Yam provides a C++ framework that abstracts DCE's pthreads, and William Hill takes a close look at associative arrays in C++. These libraries were developed in the context of real-world projects and are currently being used in the development of serious applications.

Now you have something to do with all of those knobs and switches.

Michael Floyd

executive editor


Copyright © 1995, Dr. Dobb's Journal


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.