Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: utzoo!mnetor!seismo!rutgers!sri-unix!hplabs!hpcea!hpfcdc!hpldola!hpldora!hpldory!kens
From: kens@hpldory.HP.COM (Ken Shrum)
Newsgroups: comp.lang.misc
Subject: Re: Teaching object-oriented paradigm to beginners?
Message-ID: <5170001@hpldory.HP.COM>
Date: Mon, 12-Jan-87 14:58:32 EST
Article-I.D.: hpldory.5170001
Posted: Mon Jan 12 14:58:32 1987
Date-Received: Tue, 13-Jan-87 21:45:24 EST
References: <4000001@nucsrl.UUCP>
Organization: HP Logic Design Oper. - Col Spgs, CO
Lines: 35

I don't believe that there is one 'right' programming language to teach
to beginners.  It's important to remember that, for the vast majority
of users, software systems are tools and not of interest in their own
right.

If a user is interested in modeling a system, and if that system may be
modeled easily using an o-o approach (a non-trivial restriction), then
o-o is probably one of the best ways to go.  O-o design is built on the
concepts of modeling a system, and describing protocol independently of
how the internal state of the system is modeled.

In the course of system design I often do tasks that are best described
using linear programming techniques.  These include solving large
matrix equations, determining the extrema of constrained functions and
other numerical tasks.  The programs which I develop to determine
solutions to these problems are qualitatively different than the system
which I eventually build - the design style varies with the nature of
the problem.

	Yes, I could use o-o techniques to build such programs, and I
	do within reason.  O-o design just does not work significantly
	better than procedural design for such tasks.  What I'd really
	like is a specialized language...

O-o design is probably an excellent place to start for students who
will someday build many systems for which such techniques are
applicable.  Engineers (non-software) may want to start with numerical
methods, including ways to maximize precision, how to determine the
actual precision of results and techniques for solving matrix eqns,
etc.

	Ken Shrum
	Logic Design Operation
	Hewlett-Packard
	...!hplabs!hpldola!kens