HDTenEightyP/NetNews huggingface dataset:
From: henley@eng.auburn.edu (James Paul Henley)
Subject: Re: Is Borland the leader in technology?
Keywords: engineering
Organization: Auburn University Engineering
Date: Mon, 14 Dec 1992 14:43:20 GMT

In article <H5NPVB1w164w@arasta.uucp> philbo@arasta.uucp (Phillip Lindsay) writes:
>>
>I think you missed the most important role of an indivdual with a Computer
>Science background.  Most Chemical Engineers don't have time to be experts
>in two sciences...It is the responsibility of the Software Engineer to
>connect Software Technology to the Chemical Engineer's needs.  Would a
>Chemical Engineer know if fuzzy logic was applicable to particular problem

Interesting example.   There are a couple of faculty members that don't know
nearly as much as I do about computer science, yet know quite a bit more about
fuzzy logic because their area is process control.  Fuzzy logic has been the
"in" thing for a while now in process control.  I would even say that no one
in the computer science department knows nearly as much as they do about when
fuzzy logic is applicable in Chemical Engineering.

Agreed, the Software Engineer has an important role to play, but it is not
being played in many cases.

>domain?  A Chemical Engineer should be in a role where they best express their
>needs. We need to be in role that best addresses their needs.  High level
>tools alone is not the answer.
>.....................comments deleted

So, we don't need high level tools?  Or you don't want to develop high level
tools?  What *is* the answer?  All I want to do is make life easier for both
of us.  I want you to do what you do best, and let me do what I do best.  I
realize that involves more that just developing the tools, but without them
things are going to stay in the current rut.

>
>--
>Phillip Lindsay "Government for the Politicians for Japan."
>INTERNET: 75230.300@compuserve.com ** UUCP: uunet!zardox!dhw68k!arasta!philbo
>Phone: 714-385-2311 ** USMAIL: 2955 Champion Way, #175, Tustin, Ca. 92680

James P. Henley Jr.
Visiting Assistant Professor
Department of Chemical Engineering
Auburn University

Newsgroups: comp.object
From: henley@eng.auburn.edu (James Paul Henley)
Subject: Re: Is Borland the leader in technology?
Organization: Auburn University Engineering
Date: Tue, 15 Dec 1992 20:31:28 GMT

In article <wf=CTpm00WD5Ni0uYz@andrew.cmu.edu> jb7m+@andrew.cmu.edu (Jon C. R. Bennett) writes:
>
>
>in your other post you give an example of the Tennesse Eastman plant where
>you say that the only programmers that are not Chem E's are systems
>analysts, must systems analysts that ive met would be proud to tell you
>that they dont write code, please dont degrade programmers by saying that
>systems analysts are programmers...... the problem with the plant in
>question and with the process that you describe is that it starts with

Sorry for the unintentional slur.

>
>>    Chemical Engineer writes some FORTRAN
>>    Chemical Engineer give FORTRAN to programmer
>
>when it should start with 
>
>Chemical Engineer gives brief problem statment to the programer, and they
>trade it back and forth until it is detailed enough for the programmer to

And do in a month what could be done in a few minutes?  NO THANKS!

>code from, that your process has this loop

>
>>   REPEAT
>>      Programmer writes some C and links with Chemical Engineer's FORTRAN
>>      Programmer takes finished program to Chemical Engineer, and says:
>>       "Is this what you had in mind?"
>>      Chemical Engineer says:
>>       "No, that is not at all what I wanted."
>>   UNTIL time runs out, at which point Chemical Engineer lives with what
>>      he has at that point 
>
>tells me that you dont have a programing problem, you have a
>communications problem, and until you address the communications problem,
>you will continue to get poorly done programs as output.
>
>jon


Yes, it is a communications problem.  And that communications problem is
exactly what I am trying to solve.  You are giving us a wonderful demonstration
of the failure of a computer programmer to comprehend the problem that an
engineer is trying to solve, and thinking that the solution is just a matter
getting the engineer to do things YOUR way.  Well, this engineer knows better!

Dr. James P. Henley Jr.
Department of Chemical Engineering
Auburn University
Newsgroups: comp.object
Subject: Re: Is Borland the leader in technology?
From: philbo@arasta.uucp (Phillip Lindsay)
Date: Sun, 13 Dec 92 00:01:04 PST
Distribution: world
Organization: Phillip Lindsay, Tustin CA
Keywords: engineering

henley@eng.auburn.edu (James Paul Henley) writes:
.....comments deleted
>
> So, to avoid this problem, companies like Tennessee Eastman take Chemical
> Engineers, and train them to be computer programmers.  Then the programmer
> understands what it is that he is trying to accomplish, and the loop
> gets tighter.
>
> Problem?  Yes again, on two fronts.  First of all, where does that leave the
> people who graduated in Computer Science?  It puts them out of the loop.
> Second, in my experience, Chemical Engineers do not think the same way about
> performance as Computer Scientists do.  To a Chemical Engineer, whatever gets
> you to the end result first has the best performance.  And that includes
> development time.  So efficiency is sacrificed for expediency, and once it
> works, as the saying goes, "if it ain't broke, don't fix it."
>
I think you missed the most important role of an indivdual with a Computer
Science background.  Most Chemical Engineers don't have time to be experts
in two sciences...It is the responsibility of the Software Engineer to
connect Software Technology to the Chemical Engineer's needs.  Would a
Chemical Engineer know if fuzzy logic was applicable to particular problem
domain?  A Chemical Engineer should be in a role where they best express their
needs. We need to be in role that best addresses their needs.  High level
tools alone is not the answer.
.....................comments deleted
>
> OK, there is the problem, and the cure.  Does this sound like a job for OOP?
>
It might make the job easier.

> Dr. James P. Henley Jr., former professional computer programmer
> Visiting Assistant Professor
> Department of Chemical Engineering
> Auburn University

--
Phillip Lindsay "Government for the Politicians for Japan."
INTERNET: 75230.300@compuserve.com ** UUCP: uunet!zardox!dhw68k!arasta!philbo
Phone: 714-385-2311 ** USMAIL: 2955 Champion Way, #175, Tustin, Ca. 92680
Newsgroups: comp.object
From: grogono@cs.concordia.ca (Peter Grogono)
Subject: Re: Object hidden state and side effects
Organization: Computer Science, Concordia University, Montreal, Quebec
Date: Sat, 12 Dec 1992 18:10:59 GMT

In article <1992Dec11.163449.18439@crd.ge.com> eaker@ukulele.crd.ge.com (Chuck Eaker) writes:
>In article <knight.724021213@cunews>, knight@mrco.carleton.ca (Alan Knight) writes:
>
>|> In Smalltalk one cannot delete an object of any kind. One can,
>|> however, create numbers perfectly well. 
>|>   Fraction numerator: 3 denominator: 4 
>|> 
>|> is perfectly valid Smalltalk code which creates a new fraction with
>|> value 3/4. Why is that crazy?
>
>It's crazy because it is not an example of creating a value. The
>value 3/4 has been around a long time. What this example creates
>is yet another digital representation of that value.
>
>It is more accurate to say that you have created space, and in
>that space will be placed a bit pattern which represents a value. 
>But even that is a fiction. What is really created is not space
>but a way to refer to a space which can hold only one of many
>things each of which is taken to represent a value or even a range
>of values.
>
>In short, software must use objects to represent values. This is
>why the distinction between values and objects is of enormous
>importance. . . . . [stuff deleted]
>Chuck Eaker / P.O. Box 8, K-1 3C12 / Schenectady, NY 12301 USA
>eaker@crd.ge.com        eaker@crdgw1.UUCP       (518) 387-5964

I completely agree with Chuck's analysis, but I would like to
add my 2 bits' worth.

In thinking about, designing, and teaching OOLs, I have found it more
useful to distinguish "mutable objects" and "immutable objects"
rather than "objects" and "values". A class is immutable if all its
objects are immutable.

Integers, for example, are immutable. The interpretation of 2+3
is (!): "send message +3 to object 2, giving a new object 5."
If we allowed the object 3 to change into 5, there would be terrible
confusion -- as in FORTRAN.

It is better to regard literal constants, such as 57 and "wow",
as constructors with special syntax.

For the implementation, immutability allows optimization. It is
not necessary, for example, to create three new objects in order to
evaluate 57+57 (the three objects being "57", "57", and "104").
The reason that it is not necessary is that integers are immutable:
a programmer has no way of discovering that the two objects with
value "57" happen to share space or that the space is never even
allocated (except perhaps in a register).

Most languages treat integers, strings, and a few other basic classes
as special, largely because they are efficiently implemented by
hardware. (Peano arithmetic is not good for number crunching.)
The (im)mutable distinction, however, is orthogonal to implementation.
There is no reason why we should not, for example, declare matrices
to be immutable, if we could gain efficiency by so doing.

Peter



Newsgroups: comp.object
From: Bob Hathaway <objsys@netcom.com>
Subject: Re: Inventory of methods for software development
Organization: Object Systems
Distribution: comp
Date: Fri, 18 Dec 1992 02:33:49 GMT

In article <ULF.92Dec17173940@julius.c3consult.comm.se> ulf@julius.c3consult.comm.se (Ulf Lagerstedt) writes:
>I wish to get as much information as possible about each method,
>but the following will do fine:
>
>                                                (for instance)
>
>Name:                                           Coad/Yordon OOA and OOD
>Key characteristics:                            Object oriented
>Parts of development process concerned:         Analysis, design
>Software tools supporting the method:           ...etc.
>Result/output from method:
>References:
>- Documentation (title, author, etc):
>- Organizations (commercial or other):

This seems to be a FAQ and the last reply was a good one.  Try
CACM, Sept 92, vol 35, no 9. "A Research Typology for Object-Oriented
Analysis and Design". Monarchi and Puhr.

They cover quite a few systems and have plenty of tables to present
summaries of their results.

bob
objsys@netcom.com
Newsgroups: comp.object
From: grogono@cs.concordia.ca (Peter Grogono)
Subject: Re: Object hidden state and side effects
Organization: Computer Science, Concordia University, Montreal, Quebec
Date: Wed, 16 Dec 1992 02:56:19 GMT

In article <1992Dec15.224536.13554@crd.ge.com> eaker@ukulele.crd.ge.com (Chuck Eaker) writes:
>In article <1992Dec15.143243.16256@heeg.de>, hasko@heeg.de (Hasko Heinecke) writes:
>|> In article <1992Dec14.175402.1889@crd.ge.com> eaker@ukulele.crd.ge.com (Chuck Eaker) writes:
>|> >The point is that computers cannot use "the *real* 3/4."
>|> 
>|> You wanted philosophy, so here it is: What *is* the real 3/4. What would
>|> Immanuel Kant say?
>
>I'm sure Kant and other philosophers would agree that 3/4 is a rational
>number, and that whatever the nature of its existence, there is only
>one such number, it cannot be created, destroyed, copied, or changed
>in any way. Unlike philosophers, we don't have to worry about "realms"
> ............

I suggest we all go and re-read \cite{Whitehead:1910} and then resume 
the conversation.

@book{Whitehead:1910
         author = "A.N. Whitehead and B. Russell",
         title = "Principia Mathematica",
         publisher = "Cambridge University Press",
         date = "1910--13"}

Peter
From: cgra@btma74.nohost.nodomain
Newsgroups: comp.object
Subject: Re: Object hidden state and side effects
Date: 17 Dec 92 11:57:55 GMT
Reply-To: cgra@btma74.nohost.nodomain ()


In article <knight.724478279@cunews>, knight@mrco.carleton.ca (Alan Knight) writes:|>
|>In <Bz5ruB.5Mw@newsflash.concordia.ca> grogono@cs.concordia.ca (Peter Grogono) writes:
|>
|>>I completely agree with Chuck's analysis, but I would like to
|>>add my 2 bits' worth.
|>
|>Are you sure that you agree with him?  I agree with everything you
|>wrote, and I don't agree with Chuck, and I have a feeling agreement
|>should be commutative.
|>
   Shouldn't that be transitive?  
|:->
Newsgroups: comp.object
From: greg@afs.com (Gregory H. Anderson)
Subject: Re: Really Object-Oriented?
Reply-To: greg@afs.com
Date: Fri, 11 Dec 1992 16:52:12 GMT

In article <142936@lll-winken.LLNL.GOV> jeh@windrider.llnl.gov (Jose E.  
Hernandez) writes:
> Some software packages are internally implemented using object-oriented
> languages.  From an users view point the key thing is wether the
> paradigm is available to the end user too. I am talking about the
> ability to customize the behaviour of the package by allowing the end
> user to define more specialized representations through inheretance.  To
> me this would be the minimum requirement to think of a software package
> as object-oriented.
> 
I agree, and as a third-party NeXT developer, that is the only way we are  
developing software anymore. We have a customizable Wall Street trading  
application that is basically a kit (library) of objects and nib files (if  
you are unfamiliar with NeXT, nib files are archives of the UI objects  
that get reloaded and reinstantiated at runtime) that *just*so*happen* to  
compile into a serviceable "shrink-wrapped" app in their native state. But  
you can subclass them and build a customer-specific version with very  
little knowledge of how actual Wall Street trading works.

Here's another terrific example. Early next year, we will be releasing a  
project management/time billing system and an accounting system built  
along the same lines. End-users can buy a shrink-wrapped package from us,  
which is a simple compilation of the standard AfsAccountingKit, or they  
can buy the kit and customize at their discretion. Since NeXT allows  
delegation and runtime linking/loading, we are taking advantage of those  
capabilities to let users specify on the Preferences Panel which CLASS  
they want to use for certain operations. 

For example, the project management system will (obviously) perform  
graphing of time lines. The graphing classes will have a protocol, similar  
to you might publish as an external API. As long as they observe the  
protocol, users will be able to write (or have someone else write) their  
own graphing objects and then tell the system at runtime, through a  
Preferences selection, to use them instead of the standard class. THIS IS  
COOL STUFF! THIS IS SERVING THE USERS! THIS IS WHY OBJECT-ORIENTED  
PROGRAMMING IS SUPERIOR TO TRADITIONAL METHODS! There is no other way of  
programming that gives users this much control without buying source. Plus  
internalizing the API is inherently faster and more controlled. In my  
view, this is a very big win.

--
Gregory H. Anderson          | Thus spake the master programmer: 
Master Programmer / Manager  | "Let the programmers be many and  
Anderson Financial Systems   | the managers few; then all will be 
greg@afs.com  (Nextmail OK)  | productive." -- Tao of Programming
Newsgroups: comp.object
From: jtruitt@dw3f.ess.harris.com (Jim Truitt)
Subject: Re: FAQ, what's the big secret?
Reply-To: jtruitt@dw3f.ess.harris.com (Jim Truitt)
Organization: Harris GISD
Date: Tue, 15 Dec 1992 14:33:39 GMT

Doesn't exist, though I seem to remember someone almost, kinda, sorta, perhaps,
maybe volunteering
to start one. I guess it never came to pass.Return-Path: jtruitt

================================================================================
===
Date: Thu, 27 Aug 92 12:14:15 -0400
From: jtruitt (Jim Truitt)
To: jtruitt
Subject: FAQ for comp.object

In article <-3bnfyh.objsys@netcom.com>, Bob Hathaway <objsys@netcom.com>
writes:
Newsgroups: comp.object
Path:
mlb.semi.harris.com!darwin.sura.net!mips!decwrl!csus.edu!netcom.com!objs
sys
From: Bob Hathaway <objsys@netcom.com>
Subject: FAQ
Date: Wed, 26 Aug 92 20:36:15 GMT
Organization: Object Systems
Keywords: FAQ

Because of several requests for a FAQ for this newsgroup, Bernhard Rumpe
and I have agreed to collaborate on one.  Our hope is to help clear up
any common misconceptions and misunderstandings due to terminology or
uncommon frames of reference and to provide a handy reference for existing
object-oriented systems and software.  The FAQ should cover most areas of
interest discussed in this newsgroup from available and/or free software to
OOA/OOD, OO programming languages and methodologies, OO databases, OO CASE,
and etc. ad infinitum.  Any qualified help or reference lists would be
helpful; we're just getting started.

bob
objsys@netcom.com

P.S.  I promise the terms RWM, MWM and AWM will not appear in the FAQ;-)

--
-------------------------------------------------------------------------------
| NAME	:JAMES O. TRUITT (JIM)		| HARRIS CORPORATION	| INFORMATION |
| PHONE	:1-407-984-5791			| P. O. BOX 98000	|   SYSTEMS   |
| FAX	:1-407-984-6323			| MELBOURNE, FL 32902	|  DIVISION   |
| EMAIL	:HARRIS.JTRUITT@IC1D.HARRIS.COM	|			|             |	
--------------------------------------------------------------------------------
From: Bob Hathaway <objsys@netcom.com>
Subject: Re: Visual programming
Organization: Object Systems
Date: Fri, 18 Dec 1992 02:28:32 GMT

In article <1gplc2INNbj8@montaigne.lif.icnet.uk> js@montaigne.lif.icnet.uk (Jack Shirazi <js@biu.icnet.uk>) writes:
>I've seen a couple of visual programming environments, and used one
>that was implemented using Smalltalk, and I notice that they are
>really dataflow programs. Does anyone have any ideas about a way of
>visual programming which allows you to create and use objects
>interacting with each other.  I realize that the Smalltalk
>implementation has interacting objects uderlying it, but at the visual
>level you have data comming in, processed through some functions and
>output.  I know the question here is unclear, but I'm having trouble
>thinking up a visual program which is not a dataflow diagram.

For me, this is an issue with prototyping and perhaps dynamic compilation
in the OO domain.  You can create classes, use dynamic inheritance with
objects from a palette of (new) classes and etc.  From my point of view,
just make objects and classes (and subsystems, and etc.) the primitives
in a GUI and you're set.  This is a higher level of granularity than the
dynamic models I think you're discussing, but its the level I usually
prefer to think of for "visual programming".

Even some formal OO design notations (such as Booch and Rumbaugh(et al))
could be used as a visual programming environment; I think, with a little
code integration and dynamic compilation.  I'm surprised they don't have
anything for it already...

bob
objsys@netcom.com
From: pheras@rediris.es
Newsgroups: comp.object
Subject: Re: Need basic OO information
Date: 19 Dec 92 16:58:17 +0100
Organization: REDIRIS, Red Nacional de I+D

 
> Yesterday evening I attended an "Introduction to Object-Oriented Analysis"
> provided by our training department.  The lecturer started by apologising
> for the lack of concrete examples in her presentation - she had been unable
> to find anything in the literature beyond the old schoolbook of examples of
> closed-curve/polygon/ellipse... and "a zebra is a horse, but black with white
> stripes" (plus you can't ride it, quipped I).

  My god, it's incredible. You must change the teacher, or the teacher must
extend her OO literature.
 
> What she would really have liked was examples of practical design problems
> which were demonstrably better tackled using OOA, or of real systems which
> had benifited from the application of OOA.  She hadn't found any.

  She must work more on this. There exist lots of this kind of examples.

> This is very strange.  Are we to conclude...
> 
> - that in 10 years or so of OO analysis, design, and programming not one
> wothwhile practical example has emerged

NO, NO, NO. The point is that the search was done perhaps on /dev/null.

> - or that the OO community are so unskilled in the art of self-advertisement
> that shining examples of OOA are going unreported?

To start with some example, last edition of JOOP is plenty of practical
examples.

> - or that organisations using OOA are achieving such brilliant results that
> they are concealing the fact in order to retain the competitive advantage
> this wins them?

Is this the next James Bond film? :-)

> OK you guys - flood me with brilliant examples of OOA/D/P that I can feed
> back to teacher.  Fire me with enthusiasm, and convert me (and just about
> everyone I know) from cynical doubter to blazing apostle!

  JOOP, Wiener book on experiences with OO development, Workshops in OOPSLA
about Real time OO applications, GE developments (some examples in Rumbaugh),
uiuc works on frameworks,...
  If you want I could send you some bibliography, but you must promise me
you're going to change the teacher just now.


> Then maybe I'll bother attending the next session - "Introduction to 
> Object-Oriented Design"...              ;->

  No, don't attend if the teacher is the same.




Pedro de las Heras
VIVARIUM TEAM. 
Newsgroups: comp.object
From: jabraham@acs.ucalgary.ca (John Abraham)
Subject: Object Relations - was: Re: Object hidden state and side effects
Date: Wed, 16 Dec 92 18:23:08 GMT
Organization: The University of Calgary, Alberta

In article <1992Dec15.014420.6604@midway.uchicago.edu> dave@alex.uchicago.edu (Dave Griffith) writes:
>
>A more extreme example, and one that I'm working on in my language, is 
>inter-object relationships.  There is no _direct_ way in current object-oriented
>languages to say "object A stands in relation B to object C".  There are
>any number of _indirect_ ways of saying this.  A may be an instance variable
>of C, C may be an instance variable of A, the pair (A, C) may be in some
>dictionary B, etc. ad infinitum.  Things get even more complex if relations of
>arity other than two are allowed, if relations may be many-to-many, if
>constraints on relations hold.  All of these may be modelled by current 
>languages, but none has direct support for the concept "relation".  As such,

RIGHT ON!  This is a very big problem.  When I'm doing OO design,
I end up with all these objects, and they all have relationships
with each other.  The most commen are the ISA relationship
(class-superclass-subclass) and the aggregation relationship (car
is an aggregation of 4 wheels, a body, a steering wheel, etc.),
both of which can be implemented reasonably easily.  BUT all the
other relationships are nightmares when it comes to
implementation.  Especially secondary relationships like the
relationship between the Road and the 4 wheels (which are part of
the car.).  Can anyone give me pointers on some standard way of
dealing with this?

-- 
John E. Abraham
jabraham@acs.ucalgary.ca
Mathematical Modelling-Computer Simulation
Transportation and Land Use Interaction
University of Calgary
Department of Civil Engineering
2500 University Drive N.W.
Calgary, AB, T2N 1N4
Canada