# [Edu-sig] creating an interface vs. using one

Michel Paul mpaul at bhusd.k12.ca.us
Sun Sep 24 19:11:52 CEST 2006

```>2+3
>
>What I see from a mathematical point of view is two things,
>and an operator that acts upon those things.

What I see is a partition of the number 5.  We commonly say that 2 + 3 "makes" 5, but I prefer to say that the number 5 has the property that it can be partitioned into a group of 2 and a group of 3.  That it can be partitioned in this way is what we mean when we say that 2 + 3 == 5.  Mathematically, 2 and 3 do not necessarily "turn into" 5, rather, a group of 5 already contains a group of 2 and a group of 3.  The concept of an operator acting upon operands is something we develop later.

It is also a fact that a group of 5 can be partitioned into a group of 2 and a group of 3 in 10 different ways.  It would seem odd to say that these 10 different partitions into 2 and 3 each act to produce a different five, and it would also seem odd to say that these different partitions each act to produce the SAME 5.  Rather, the one group of 5 can be partitioned in various ways.

In a computational context it is true that 2 .__add__(3) creates a new object, 5, and this is sort of an interesting contrast: computation occurs in time and produces new data from old data, but many kinds of mathematical relations already exist as facts - they do not have to "happen".

>The OO point of view is *nothing like* the mathematical point
>of view.

Numbers already are objects that have properties.  They are abstract objects, sure, so you can't analyze them in physical or chemical terms - those aren't the kind of properties they have.  A set of N things has geometric properties that are different from a set of N + 1 things.  Object-oriented thinking doesn't always have to mean object-oriented PROGRAMMING.  Object-oriented thinking already has a deep and rich history in mathematics.  For Pythagoras and Plato, numbers were things in themselves, not just wisps in our mind, and I don't think Heisenberg was wrong to say things like QM vindicated Pythagoras.  Thematically speaking, of course.  What we have accomplished with our technology is to give object-oriented thinking computational power.  We no longer have to perform computations - objects themselves can.

>In math, operators and numbers are two different things and the
>former don't "belong" to later.

I see arithmetic statements composed of operators and operands as our descriptions of the ways in which numbers can be partitioned.  A sum is the fact of a particular partition.  A difference is a complementary partition.  Products and quotients involve partitions containing equally sized parts.  Our syntax of operators and operands arises later.

Or, that's just how I'm able to make sense of things for myself.

- Michel

-----Original Message-----
From: edu-sig-bounces at python.org on behalf of Daniel Ajoy
Sent: Sat 09/23/06 12:50 PM
To: edu-sig at python.org
Subject: Spam: Re: [Edu-sig] creating an interface vs. using one

On 23 Sep 2006 at 12:00, edu-sig-request at python.org wrote:

> You CANNOT articulate OO on a TI.  You can?t create a class.  Most people
> don?t care, right now, because they don?t even know what that means, but I
> can guarantee you that there?s a bunch of scientists at places like
> CalTech who DO care!  Mathematics is already object-oriented, and the
> curriculum of the future will need to make students conscious of that
> fact.  OO is not something just for CS majors!  Seriously.

I don't believe this to be true.

2+3

What I see about from a mathematical point of view is two things,
and an operator that acts upon those things.

The OO point of view is that 2 is an object and that the plus
sign is a method of this object and that 3 is the argument of
this method.

The OO point of view is *nothing like* the mathematical point
of view.

In math, operators and numbers are two different things and the
former don't "belong" to later.

Daniel

_______________________________________________
Edu-sig mailing list
Edu-sig at python.org
http://mail.python.org/mailman/listinfo/edu-sig

```