Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!brunix!sdm From: sdm@cs.brown.edu (Scott Meyers) Newsgroups: comp.lang.c++ Subject: Tools for C++ Message-ID: <17974@brunix.UUCP> Date: 15 Oct 89 04:35:41 GMT Sender: news@brunix.UUCP Reply-To: sdm@cs.brown.edu (Scott Meyers) Organization: Brown University Department of Computer Science Lines: 47 Some time ago I asked people to send me information on C++ development tools that they knew about. The results were quite disappointing. I got a lot of information about libraries that are available, but virtually nothing about any other kinds of tools. Now libraries are certainly important, but are they really the only kinds of tools that C++ developers need? This time, I'd like to pose a slightly different question. What are the tools that should be part of an ideal C++ development environment? I'm concerned here with C++-specific tools -- I don't care about what kind of workstation they run on, so you can feel free to posit the existence of any kind of hardware you like. For example, if you can think of a useful tool that would require real-time interactive 3D color graphics with shading and hidden-line removal, then just assume you're working on something that can do that (e.g., something from SGI) and ignore the fact that it wouldn't work on a PC. To get the creative juices flowing, here's part of the product annoucement for Objectworks for C++: Objectworks brings three essential object-oriented programming tools to the C++ system: incremental compiling and linking, source-level debugging and source code browsing. The incremental compiler/linker involves the C++ translator and host compiler and links the modified functions. Use of the host compiler ensures identical behavior of programs during the development process and at the time of application delivery. The source-level debugger allows programmers to interact with the execution state of a program and to inspect and change the values of variables. The source code browser of Objectworks for C++ enables programmers to view the class hierarchy and file structure of application code in a graphical way. Programmers can query the system, dynamically searching for a function's implementors and callers. Additionally, the browser allows programmers to search for references to data types or to filter the search on the basis of C++ private, protected or public interfaces. Additionally, Objectworks for C++ includes a file browser, providing a graphical interface to the Unix operating system and file system that simplifies the management of files and directories. This interface is called the Unix Navigator[TM]. Please post responses to the net; perhaps we can collaborate on a description of the ideal pie-in-the-sky money-is-no-object C++ programming environment. Then maybe somebody will be inspired to start implementing it. Scott Meyers Brown University sdm@cs.brown.edu