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