HDTenEightyP/NetNews huggingface dataset:
From: bs@alice.att.com (Bjarne Stroustrup)
Newsgroups: comp.lang.c++
Subject: Re: Best C++ Books -- Need Opinions!!!
Summary: Booch's OOD book
Date: 9 Apr 92 14:40:21 GMT
Article-I.D.: alice.22522
Organization: AT&T Bell Laboratories, Murray Hill NJ



scott@swindle.Berkeley.EDU (Scott Silvey @ UC Berkeley Experimental Computing Facility (XCF)) writes

 > % These are my favorite books on C++ and OOD.  I refer to them often.
 > % 
 > % Object Oriented Design with Applications
 > % 	Grady Booch

 > How is this book?  Is this the same guy who designed the Booch library?

The book is excellent. In my opinion it is the best book on Object-oriented Design.
Grady Booch designed the Booch components and implemented them in Ada about
ten years ago. A re-implementation in C++ was done by Mike Vilot and Grady Booch
last year.

 > Is the book C++ oriented?  Does it have code for working applications?
 > Does it emphasize the engineering and algorithmic aspects of OO design or 
 > is it just another "this is how you might design a shape library" kind of 
 > book?  

The book has 5 extended examples of about 40 pages each. they include skeleton
code and design discussion, not executable code - the examples are too large for
that. I consider it a nice point about the book that the examples are in 5 different
languages: Smalltalk, Object Pascal, C++, CLOS, and Ada.

 > I am looking for something that covers how to "THINK object oriented" as 
 > oposed to thinking procedurally (as one would with plain C).

Booch's book has more on the concepts of (object-oriented) design than any other
book I know of, a lot on the practice of design, and the examples. It has just
under 600 pages. I don't know exactly what you mean by "THINK object oriented"
but I suspect this ought to be it.
Newsgroups: comp.lang.c++
From: u771414@Eden.nthu.edu.tw (Student ( PME 771414 ) TEL. 715131-4870)
Subject: Mouse Library with C++ Class?
Summary: How about writing mouse library in class?
Organization: National Tsing Hua University (HsinChu)
Date: Fri, 17 Apr 1992 13:13:03 GMT

Dear experters:

    Here comes a new idea to me: could I build a mouse library with
class?   For example:

    class Mouse 
    {
      private:
	int Mouse_Install;
      public:
	int Reset(void);
	void Show(void);
	void Hide(void);
	....
     }

     How will it work?  Are there some disadvantages? Please give
some suggestions.
     Thanks a lot!
	 
	 Alexander  ( u771414@Eden.nthu.tw.edu )



Newsgroups: comp.lang.c++
From: jimad@microsoft.com (Jim ADCOCK)
Subject: Re: About Microsoft's entry into C++ arena
Date: 07 Apr 92 01:37:18 GMT
Organization: Microsoft Corp.
Keywords: C++ compilers for PC

In article <kt1oj0INN98e@alhena.usc.edu> ajayshah@alhena.usc.edu (Ajay Shah) writes.

Note that the comparable C++ products are Borland 3.0 and Microsoft C7.0

Knowledgable C++ programmers writing for DOS and/or Windows will want
to compare these products [and or others] in the flesh in order to choose 
the best compiler [libraries, debuggers, etc] for their particular programming 
project.  

I encourage such careful, knowledgable, in-depth, hands-on comparisons.

There are probably a lot of other ways one can choose a compiler,
if one doesn't care about one's programming project.  

I hope most C++ programmers would not be so foolish.

----

My Opinions Only.
From: bla@hpuplca.nsr.hp.com (      Brad Ahlf      )
Newsgroups: comp.lang.c++
Subject: Re: Re: C++ Motif Class Libraries
Date: 2 Apr 92 03:48:19 GMT
Organization: Hewlett-Packard Neely Golden Gate Area (Northern Calif.)

>   Actually, HP announced something called InterViews Plus a couple of
>   weeks ago.  It's a version of the InterViews toolkit modified to do
>   Motif interaction models, accelerators, mnemonics, etc.  

>   I haven't seen it, so I don't know how clean it is internally, nor do 
>   I know the details of availability.  (As some readers probably know, I 
>   use to OI toolkit :-)  But I've heard that Mark Linton was involved to 
>   some degree in the work, so I suspect it's not a complete hack.
------------------------------------------------------------------
Hewlett Packard Company recently introduced HP InterViews Plus, a 
library of reusable components for accelerating the development of OSF/Motif
graphical user interfaces (GUIs).

InterViews Plus is based on the InterViews library, a research project with
participation from Stanford University and Silicon Graphics Corp.  

InterViews Plus is an object-oriented class library that consists of over
150 pretested classes of interactive objects, such as push buttons, dialog
boxes and scroll bars.  Software developers can use these objects to 
construct custom user interfaces much faster than they could by using
the OSF/Motif toolkit.

Software developers who use C++ and object-oriented programming techniques
can use InterViews Plus to reduce OSF/Motif user interface development time.
HP estimates that software developers can spend up to 70 percent of their
total programming time developing the GUI.

**************************************************************************

HEWLETT PACKARD'S ENHANCEMENTS TO THE INTERVIEWS PLUS LIBRARY INCLUDE:

** Full support for OSF/Motif including:
     -  Keyboard Traversal
     -  Event Translation
     -  Menu mnemonics
     -  Menu accelerators
     -  Predefined Motif dialog boxes
     -  Option Menu
     -  Scale Interactor
     -  Customization through X Resources
     -  Cut, copy and paste
     -  Virtual keysym support

** ICCCM support

** Complete Documentation
     - Programmer's Guide 
     - Reference Manual of man pages

** HP Support

** Video-based training

**************************************************************************

Because InterViews Plus is fully object-oriented, developers can extend 
the library to provide new user interface classes or compositions of classes 
through inheritance.  They can then build future applications with these 
blocks rather than building the GUI components from scratch each time.  
In addition, debugging new programs takes less time since the code has 
already been tested.

U.S. List Prices and Availability
---------------------------------

The InterViews Plus library is currently orderable for HP 9000 systems and 
Sun SPARCstations at $4950 per developer.  Both versions are expected to 
ship in the summer of 1992.

For more information, contact your local Hewlett Packard Sales Office, or
call (800) 637-7740.
Newsgroups: comp.lang.c++
From: gregde@microsoft.com (Greg Demichillie)
Subject: Re: Borland's design decisions
Date: 10 Apr 92 19:14:38 GMT
Organization: Microsoft Corp.

In article <1992Apr2.131624.245@pictel.com> boba@pictel.com (Bob Alexander) writes:
>
>Secondly, Borland extended C++ with dynamic dispatch virtual tables.  Why?
>Why not just just create virtual member functions like WMLButtonDown that
>always receive a particular message and that the user can override?  What
>do DDVTs add that is so worthwhile as to justify a non-standard extension
>to C++?
>
There is a very simple reason why both Borland and Microsoft do not use
direct virtual function calls.  Multiply the number of messages
Windows sends times up to 4 bytes per vtable entry and you have created
vtables that are prohibitively large.  What is called for is a sparse
array of function pointers so that you have entries for the messages 
you actually care to recieve.  

For the Microsoft Foundation Classes we achieved the same effect with
our message maps.  Borland uses a language extension.  You can argue
about which is a better approach, but clearly something other than
straight virtual function tables was required.

-Greg
 



-- 
Greg DeMichillie
Software Design Engineer - Application Frameworks (AFX)
gregde@microsoft.com
Newsgroups: comp.lang.c++
From: feustel@netcom.com (David Feustel)
Subject: Re: C++ Critique (1 of 4) (long)
Date: Thu, 16 Apr 92 03:07:06 GMT
Organization: DAFCO: OS/2 Software Support & Consulting
Keywords: religious, C++, criticism, Babel, babble

It appears that this C++ Critique makes a strong case for a C++
specific version of LINT that performs the consistancy  checks that
C++ doesn't.
-- 
David Feustel N9MYI, 1930 Curdes Ave, Fort Wayne, IN 46805. (219)482-9631
Republicans believe in the "carrot and stick" approach to social problems:
 	   - carrots for the rich and sticks for the poor -
From: brian@npri6.npri.com (Brian Kim)
Newsgroups: comp.lang.c++
Subject: Borland's "Object" class...
Keywords: Object Borland
Date: 7 Apr 92 17:38:14 GMT
Distribution: all
Organization: NPRI, Alexandria VA

Can someone explain to me how to store in a queue objects that weren't
derived from class "Object"?  Am I missing something?

- brian
-- 
Brian Kim at NPRI Inc, Alexandria, VA USA
Ma Bell (703)683-9090  (UUCP:  brian@npri.com or ...uunet!uupsi!npri!brian
Newsgroups: comp.lang.c++
From: doug@monet.ads.com (Doug Morgan)
Subject: Re: A really good way to do this is?
Organization: Advanced Decision Systems, Mountain View, CA 94043, +1 (415)
	960-7300
	<DOUG.92Apr8102050@monet.ads.com> <1992Apr8.215426.4551@cs.brown.edu>
Date: Wed, 8 Apr 1992 23:56:32 GMT

In article <1992Apr8.215426.4551@cs.brown.edu> sdm@cs.brown.edu (Scott Meyers) writes:
   In article <DOUG.92Apr8102050@monet.ads.com> doug@monet.ads.com (Doug Morgan) writes:
   | In article <1992Apr8.004446.3033@ncsu.edu> easchwei@eos.ncsu.edu (ERIC ARNOLD SCHWEITZ) writes:
   |    ...
   |    The problem at hand is I'd like to be able to define a general
   |    class which I can inherit from that has a the following property:
   |    each time a member function is called a hidden member function,
   |    eg. an access function, is called and when the member function
   |    exits a `deaccess' function is called.
   |    ...
    [expanding the ... here:
        Anyhow, if I do a ``obj.spill_guts();'' call I'd like the object
        to fix its location in memory, do whatever it was supposed to do,
        and then free itself to walk around memory again.  There seem to
        be some simple approaches, such as forcing the user to call an
        ``access'' and ``de-access'' function before and after each call.
        Yuck!  Or forcing each member function to do this -- equally
        yucky -- especially with inheritance.
    ]
   | 
   | The easiest way to do this in C++ (under UNIX) is to make an exec of a
   | CommonLISP process where you do the rest of your program using CLOS.
   | Seriously though, forget it. 

   Ah, now, it's not that bad, really it's not.  It's just that you have to do
   it manually. For every member function f that you want to have a wrapper
   for, you just declare a wrapper function wf that calls f.
   ... [description + example with:
      void f() { /* before stuff */ _f_(); /* after stuff */ }
   ...
   This isn't quite what is asked for, because it's not automatic, but it does
   get the job done.

Unfortunately, this is just the "equally yucky" approach that Eric
wanted to avoid.  My "forget it" only meant forget trying to find some
transparent inheritance-based approach in C++ (i.e., go with the
yuck).  I thought such an approach didn't exist, but then you wrote:

   An earlier version of g++ supported wrapper functions in
   the manner you desire, but I don't know if it still offers that language
   extension.

So, maybe he better not forget it just quite yet.

   Scott


   -------------------------------------------------------------------------------
   What do you say to a convicted felon in Providence?  "Hello, Mr. Mayor."
From: sam4628@zeus.tamu.edu
Newsgroups: comp.lang.c++
Subject: Question about classes and interrupt handlers
Date: 16 Apr 92 12:27:00 GMT
Article-I.D.: zeus.16APR199207272677
Organization: Texas A&M University, Academic Computing Services
News-Software: VAX/VMS VNEWS 1.41

Hopefully, this isn't a totally stupid question (I'm new to both C++
and interrupt handling...)

Is it legal to define a class member function as an interrupt handler
(MS-DOS using BC++3.0)? If so, does it therefore have to be a public
function? (this could result in antisocial behavior if someone tried
hard enough...)  Am I totally clueless and missing an obvious point?
Thanks in advance for any help on this...

------------------------------------------------------------------------
| Steven A. McCluney                 |"Strange women lying in ponds    |
| sam5628@zeus.tamu.edu              | distributing swords is no basis |
| I'm a grad student, so my opinions | for a system of government!"    |
|    are worthless anyway            |          Dennis, to King Arthur |
------------------------------------------------------------------------
From: scott@swindle.Berkeley.EDU (Scott Silvey)
Newsgroups: comp.lang.c++
Subject: Re: Best C++ Books -- Need Opinions!!!
Date: 8 Apr 92 10:05:30
Organization: UC Berkeley Experimental Computing Facility (XCF)
NNTP-Posting-Host: swindle.berkeley.edu
In-reply-to: rmartin@willing.Rational.COM's message of 6 Apr 92 16:22:11 GMT


% These are my favorite books on C++ and OOD.  I refer to them often.
% 
% Object Oriented Design with Applications
% 	Grady Booch

How is this book?  Is this the same guy who designed the Booch library?

Is the book C++ oriented?  Does it have code for working applications?
Does it emphasize the engineering and algorithmic aspects of OO design or 
is it just another "this is how you might design a shape library" kind of 
book?  

I am looking for something that covers how to "THINK object oriented" as 
oposed to thinking procedurally (as one would with plain C).

Scott Silvey
scott@xcf.berkeley.edu
From: twong@civil.ubc.ca (Thomas Wong)
Newsgroups: comp.lang.c++
Subject: Re: C++ as a 1st programming language ?
Date: 15 Apr 92 16:50:25 GMT
Organization: Dept. of Civil Engineering, U.B.C., Vancouver, B.C., Canada

I hate to say this in the c++ group but...
doesn't "Intro to programming" or "First computer language" courses
still teaches Basic or Pascal as opposed to C or C++. It has something
to do with these lanuages using english words for expressions as 
opposed to symbols in c or c++. And these _simpler_ languages are 
_safer_ than c or c++ in that it's less likely for you to create 
_fatal_ crashes as opposed to programming in c or c++. But once you
have had your taste of programming, I would recommend moving to
c++ (as opposed to c) for your next language. Object oreinted
programming is the way to go! :)

Thomas.
From: amehta@dice3.rdrc.rpi.edu (Alok Mehta)
Newsgroups: comp.lang.c++
Subject: Problem with static members in ATT C++ 3.0
Date: 17 Apr 92 19:46:18 GMT
Article-I.D.: rpi.+x#v9=_
Distribution: usa
Organization: Rensselaer Design Research Center, RPI, Troy, NY


There appears to be a problem in ATT C++ 3.0.
The problem is that static members are sometimes automatically
implemented by the compiler.  If it is declared in a header file,
then EVERY file that includes the header file will have the
static symbol defined.  

This causes a "multiply-defined symbol" error at link time.
I am including the source code that demonstrates the problem.
We tried this program on a SUN sparc.  BTW, this program
compiles and links correctly using ATT C++ 2.0 and other C++ compilers
as well.

Alok

Source code follows:

# ---------------------------------------------------------
# File: Makefile

works:	; $(CPLUSPLUS) a.c b.c
works2:	; $(CPLUSPLUS) -DTEST2 a.c b.c
wont_link:	; $(CPLUSPLUS) -DTEST1 a.c b.c

/* ------------------------- File: a.h ----------------------------- */

#include <stdio.h>
class MyClass { public:
	static MyClass MyStaticMember;
#ifdef TEST1
	/* This causes "MyStaticMember" to be defined in 
	 * EVERY file that includes this file 
	 */
	MyClass();
#elif TEST2
	/* This works OK */
	MyClass() { printf ("Hi There\n"); }
#else
	/* Placing no constructor also works */
#endif
};

/* ------------------------- File: a.c ----------------------------- */

#include "a.h"
void afunction () { printf ("Just testing\n"); }

/* ------------------------- File: b.c ----------------------------- */

#include "a.h"
void main () {	printf ("Hi\n"); }
--
-- Alok --
From: wbos@uhura.cc.rochester.edu (Wayne Bosma)
Newsgroups: comp.lang.c++
Subject: Contiguous memory in multidimensional arrays ?
Date: 9 Apr 92 16:20:33 GMT
Organization: University of Rochester (Rochester, NY)


Pardon me if this is a FAQ:

If I declare an array :

	double a[3][4]    ,

does a[1][0] NECESSARILY follow a[0][3] in memory?  This seems to be the case
in C, but I'm not really fluent in either language.


					Wayne Bosma
					University of Rochester
					Dept. of Chemistry
Newsgroups: comp.lang.c++
From: ebergman@isis.cs.du.edu (Eric Bergman-Terrell)
Subject: Re: Julian dates
X-Disclaimer: Nyx is a public access Unix system run by the University
	of Denver for the Denver community.  The University has neither
	control over nor responsibility for the opinions of users.
Organization: Nyx, Public Access Unix at U. of Denver Math/CS dept.
Date: Fri, 17 Apr 92 13:23:36 GMT

In article <92107.133616SESPC369@ysub.ysu.edu> David M. Onder <SESPC369@ysub.ysu.edu> writes:
>We are going to be writing an inhouse report generator that will
>store dates in the Julian format.  We would like to be able to
>convert to Gregorian for the output on the report.  Does anyone
>know where we can find procedures for this, or does anyone have
>such a procedure?
>
>We would appreciate any assistance provided.  Thank you.
>
>David M. Onder
>Student Intern
>Youngstown State University Computer Center

See "Date Management" in Computer Language, December 1990.

Terrell
From: skip@taygeta.oc.nps.navy.mil (Skip Carter)
Newsgroups: comp.lang.c++
Subject: A coding style question
Date: 15 Apr 92 22:34:38 GMT
Reply-To: skip@taygeta.oc.nps.navy.mil (Skip Carter)


	This is a question of what the consensus is on style, not on what works,

	Suppose I have a class that is defined in a header file, and implemented
	in a seperate file, such as:

	class BlueFile
	{
	                    private:
		    int    ccount;
                                            char linebuf[120];
		    void EBCDIC_to_ASCII(char *, int);
		    void ASCII_to_EBCDIC(char *, int);
	                    public:
		    BlueFile(char* name, int mode);	// open an EBCDIC file
	                      ~BlueFile();			// close it
                                            int read(char*, int);			// read from it
		    int write(char*, int);		// write to it
	};

	(with the appropriate code in the implementation file).

	The question is:

	If the functions EBCDIC_to_ASCII and ASCII_to_EBCDIC
	get pass all data in/out by the parameter list should they be made
	private members of the class or  should they be removed from the
	class specification and be made ordinary static functions ?		


	What are the pros and cons of these two designs ?



-- 
   Everett (Skip) Carter              Phone:  408-646-3318 FAX: 408-646-2712
   Naval Postgraduate School          INTERNET: skip@taygeta.oc.nps.navy.mil
   Dept. of Oceanography, Code OC/CR  UUCP:     ...!uunet!taygeta!skip
   Monterey, CA. 93943                TELEMAIL: s.carter/omnet
Xref: sparky comp.lang.c++:6846 comp.std.c++:401
From: lam@saifr00.cfsat.honeywell.com (Josh Lam)
Newsgroups: comp.lang.c++,comp.std.c++
Subject: Re: Needed:  Good C++ Training Video Course
Date: 16 Apr 92 15:34:10 GMT
Article-I.D.: saifr00.1992Apr16.153410.4164
Organization: Honeywell Air Transport Systems Division

Hi Ruth!

I happen to be reading news and I saw your article!
Way to go!  Isn't emacs wonderful?  Now let's see
what vi can do! :-)

Josh
-- 
Josh Lam
Honeywell Inc
lam@saifr00.cfsat.honeywell.com
From: jamesh@cs.umr.edu (James Hartley)
Newsgroups: comp.lang.c++
Subject: Reference for Object Identification?
Date: 13 Apr 92 16:52:46 GMT
Organization: University of Missouri - Rolla
Originator: jamesh@mcs213j.cs.umr.edu

I vaguely remember that Stroustrup, et. al. were writing a paper/proposal
for objects to identify themselves.  I would appreciate if someone could
tell me where this can be found.  Thanks.
-- 
James J. Hartley               _   /| Internet: jamesh@cs.umr.edu
Department of Computer Science \'o.O'   Bitnet: jamesh@cs.umr.edu@umrvmb.bitnet
University of Missouri - Rolla =(___)=    UUCP: ...!uunet!cs.umr.edu!jamesh
"If at first you don't succeed,   U   compile, compile, again..."
From: michel@vedge.UUCP (Michel Trudeau)
Newsgroups: comp.lang.c++
Subject: TD386 and more than 16megs or ram
Date: 15 Apr 92 14:43:22 GMT
Article-I.D.: vedge.28567
Organization: Visual Edge Software, St. Laurent, Quebec

When I run td386 on my 486DX2/50 Mz with 32 megs of
ram, the machine reboots itself.

When I run td386 on the same machine with 16 megs of
ram, then the machine is alright.

Did anyone have ever heard about such a problem,
is there any fix ???

Thanks
From: mamisra@pollux.usc.edu (Manavendra Misra)
Newsgroups: comp.lang.c++
Subject: task library supporting monitors or asynch message passing
Date: 8 Apr 1992 19:28:21 -0700
Organization: University of Southern California, Los Angeles, CA
NNTP-Posting-Host: pollux.usc.edu
Keywords: tasks asynch monitors

Does anybody know of a task library supporting asynchronous message
passing between C++ processes, or supporting monitors ?

Please send responses by email to alfredo@usc.edu

Thanks,

Alfredo
Newsgroups: comp.lang.c++
From: ethanb@ptolemy.astro.washington.edu (Ethan Bradford)
Subject: Re: Book Review wanted: "C++ for Engineers and Scientists."
To: garyp@manutius.UUCP (Gary Powell)
Organization: U. of Washington
Distribution: usa
Date: Sat, 11 Apr 1992 06:38:02 GMT

"C++ for Scientists & Engineers", James T. Smith, McGraw-Hill, $29.95.
322 pages.

I have the book and have read about half of it.  However, I am not
much of an expert on C++ or the other books.

The book mostly just introduces Turbo C++ on the IBM PC and the
numerical-analysis (mostly linear algebra and complex arithmetic)
package (called MSP) which the author wrote (and which one can get
from him by snail-mail).  He uses C++ as a "better C": it uses
operator overloading and data hiding, but not much real
object-oriented structure.

Overall, it is a good brief introduction to C++ (before the latest
round of improvements) and some numerical-analysis issues.  If you are
a scientist or engineer planning to do such programming, it is likely
to be helpful, though if I could only buy two books, I would still get
Stroustrup's "C++ User Manual" and "Numerical Recipies in C".

Here is the TOC:

1. Introduction
	Who Needs This Book
	Working with Software Tools
	This Book's Structure
	C, C++, and Turbo C++
	This Book's MSP Software Took Kit
	References and Further Topics

2 Software Organization
	Software Layers
	C++ Minor Features
	Abstract Data Types and Classes
	Member and Friend Functions
	Constructors and Destructors
	Overloading
	Derived Classes

3. Introduction to MSP
	General Module
	Scalar Module: Double Version
	Handling Vector Objects
	Vector Algebra Functions
	Handling Matrix Objects
	Matrix Algebra Functions
	Polynomials

4. Computing with Real and Complex Numbers
	Integer Arithmetic
	Floating Point Arithmetic
	Math.H Library Functions
	MSP Module RealFunc
	TurboC++ Arithmetic and Math.H Error Handling
	Using Complex Scalars
	Complex Library Functions

5. Solving Real and Complex Equations
	Preliminaries
	Bisection Method
	Fixpoint Iteration
	Newton-Raphson Iteration
	Real Polynomial Roots
	Complex Equations and Roots

6. Matrix Computations
	Systems of Linear Equations
	Gauss Elimination
	Determinants
	Gauss Elimination Software
	Rectangular Systems in General
	Matrix Inverses
	Testing with Hilbert Matrices
	Eigenvalues and Complex Linear Systems

7. Iterative Solution of Systems of Equations
	Multidimensional Fixpoint Iteration
	Iterative Solution of Linear Systems
	Mutidimensional Newton-Raphson Iteration

Appendix: Selected Source Code

Bibliography

Index
--

-- Ethan (ethanb@u.washington.edu)