HP'S SOFTWARE TECHNOLOGY ENTERS PUBLIC DOMAIN

HP's Standard Template Library, Hailed as Important Advance in Software,
Accepted by ANSI/ISO C++ Standards Committee

Palo Alto, California, Dec. 19, 1994. -- Hewlett-Packard Company today
announced that its Standard Template Library (STL) has been accepted by
the ANSI/ISO Standards Committee as a part of the emerging international
standard for the C++ programming language. HP has placed its
implementation of STL in the public domain as a service to the programming
community.

STL, designed by HP Laboratories researchers Alexander Stepanov and Meng
Lee, provides a comprehensive set of programming guidelines and a large
collection of generic software components. Many software experts believe
that STL may radically change the way software is developed. "The Standard
Template Library may be the single most important advance in the software
art within the last decade," said Steve Johnson, one of the founders of
UNIX (R) compiler technology and the president of USENIX.

"Using STL, both as a tool and as a guide for building new tools, is as
significant an advance over object-oriented programming as object-oriented
programming was over traditional procedural programming," said P.J.
Plauger, author of numerous programming books.

"We are in great debt to Alex, his co-workers and HP for what may be the
single greatest contribution to the C++ standards effort," said Bjarne
Stroustrup, the designer of C++ and a researcher at AT&T Bell
Laboratories. "The inclusion of STL into the standard library remedies a
serious problem by providing for the first time a set of container classes
and fundamental algorithms to go with them. It provides programmers with a
large, systematic, clean, formally sound, comprehensible, elegant and
efficient framework."

Business Appeal

Many companies are looking to STL for its potential cost-saving benefits.
"STL has more useful features than any of the commercial libraries we use
today, but more important, because it's part of the C++ standard we can
use it to write portable code we can take from project to project,
compiler to compiler," said Larry Podmolik, a technical manager at
Andersen Consulting in Chicago. "Our people don't have to learn a new
library for every project and can at last work with a truly standard set
of tools."

Algorithms: Generic and Efficient

STL contains a broad set of algorithms that perform the most common kinds
of data manipulations all programmers use, including searching, sorting,
merging, copying and transforming. The algorithms work with diverse data
types residing in different data structures, yet they have been designed
to be as efficient as hand-crafted code. For example, the "find" algorithm
in STL works on lists, vectors, files or any data structure for which the
concept of finding makes sense.

Iterators: A Data-Accessing Concept

STL formally defines the standard data-accessing concept - "iterator." It
defines several categories of iterators, each providing a different way of
accessing data. A forward iterator guides the algorithm through the data
from beginning to end - like reading words in a book. A bi-directional
iterator lets the algorithm move forward and backward - like the
fast-forward and rewind functions for searching a VCR tape. A
random-access iterator can jump around - like looking up individual words
in a dictionary.

All the algorithms are written in terms of these abstract categories.
Because of this, one implementation of an algorithm works with any type of
data structure, eliminating the need to create a specific implementation
for each data structure.

A Formal Framework

STL establishes mathematical guidelines for the software components.
Programmers who follow these guidelines are guaranteed the
interoperability of the components they create with other STL-conforming
components.

"To transform programming from an art to a science, it is necessary to
develop a conceptual taxonomy of software components together with a
system of laws governing their behavior," said Stepanov. "STL does that."

 ============================================================
 From the 'New Product News' Electronic News Service provided
 via AOL (Keyword = New Products) & Delphi (GO BUSINESS PROD)
 ============================================================
 This information was processed from data provided by the 
 company or author mentioned. For additional details, please 
 contact them directly at the address/phone number indicated.
 OmniPage Pro is now used for converting all printed input! 
 ============================================================
 All submissions for this service should be addressed to:
 BAKER ENTERPRISES,  20 Ferro Dr,  Sewell, NJ  08080  U.S.A.
 Email: RBakerPC (AOL/Delphi), rbakerpc@delphi.com (Internet)
 ============================================================
