[net.lang.c++] what about a c++ programming environment

bobr@zeus.UUCP (Robert Reed) (09/18/86)

I've finished reading the C++ book and think that it embodies some great
concepts, but I am concerned about the surrounding programming environment,
and in particular, the notion of tags.

The combination of function overloading and base/sub-classes introduces
semantics to the language which greatly complicates the ability of a
developer to move around the system; that is, function overloading requires
that a tags package (available in Emacs and built into vi) receive not only
a function name, but a sequence of parameter types, in order to find the
specific function desired.  The notion of classes requires knowledge of the
class of an object to resolve requests for names representing a sequence of
virtual functions.  All these features are very powerful and valuable
additions to the languaged structure, but make maintenance of large software
systems more difficult via decreased accessibility.

We rely heavily on the use of tags for maintaining a substatial software
package (around 150,000 lines of c).  We use an extended tags scheme which
starts with ctags, and then using syntactic conventions for various data
structures, adds typedefs, structs, unions, defines and global data to the
tags file.   Is anyone working on developing a tags package for c++?  Use of
such a system would require source code changes for vi to support the
additional input, and though it may be possible to write a lisp extension to
handle it in Emacs, efficiency may require code changes there, too.

OTHER TOOLS.  We also implement a module scheme on top of C by automatically
generating our .h files.  The additional syntax of c++ poses possible
headaches in this area, too, though one thought was to incorporate header
generation into the normal cfront preprocessing step, thereby creating the
header as a side effect.