[Python-ideas] Python Numbers as Human Concept Decimal System

Mark H. Harris harrismh777 at gmail.com
Sun Mar 9 07:09:40 CET 2014



On Saturday, March 8, 2014 11:02:07 PM UTC-6, Steven D'Aprano wrote:

I don't think TI-89 should be the exception. I don't think it is a good 
> idea to try to make a general purpose programming language like Python 
> into a (mathematical) clone of the TI-89 calculator just to satisfy the 
> tiny minority of users who are numerically naive TI-89 users. 
>

hi Steven,  yeah, in some ways I wish I'd never mentioned the TI89, because 
I've
been misinterpreted (for which I am sorry). I mentioned the TI89 because it 
uses
decimal floating points by default , I think (as I believe python should 
also). I mentioned the
TI89 mainly as a "calculator" and that is the one that popped into my 
head... the
reason for mentioning it is that folks who poke a number into a calculator 
don't quote
the number, they don't add a "d" to the number, and they expect the 
calculator to 
interpret their number correctly.  ( it was a usability reference ) 

>
>
> > Its just easier than explaining to them (at this point) all the stuff 
> > they need to understand to use the functions 
>
> When you put it like that, it sounds like you are arguing, not that it 
> is better for the users to avoid learning about floating point maths, 
> but that it's easier for *you* if you don't need to explain floating 
> point maths. That's okay. Point them to the python-list or tutor mailing 
> lists, and the regulars there will be more than happy to teach them, to 
> the best of our abilities. 
>

    Well, its that too for sure, but its certainly more. Its a way for maths
and other explanations to be brought on-line in stages (learning mods) that
are progressive, and yet have the students be able to get the right results
from the beginning and not to be frustrated.  Again, a usability thing. 


> Who are these people you are trying to help? The user-base for Python is 
> developers, and people trying to learn to be developers. Python is not 
> an end-user application. Python is a programming language, and the 
> people using it should be treated as if they were programmers. 
>

    Unfortunately, I think that is the saddest thing I have heard you say 
in almost
seven years of knowing you. The earliest beginnings of Python (ABC at CWI) 
was to
"Stamp out BASIC" .   BASIC was designed at Dartmouth in 1964 to help 
average users and other scientists to be able to use a computer WITHOUT
having to be a developer (computer scientist, nor programmer).  Python has
the opportunity to be the BASIC of the 21st century (and beyond). Part of 
the
reason Python has NOT had a greater general acceptance is that it is 
becoming
a programming language for experts. This should not generally true, 
fortunately.  I mean
that Python is actually a VERY good language for newbies to start with, and 
its
a VERY good language for average people and other scientists to interact 
with 
a computer in sophisticated ways WITHOUT having to be a computer scientist
nor programmer.

>
> I think that there are very few non-programmer, numerically-naive, TI-89 
> users working with Python, and I think that shaping Python specifically 
> for them is a mistake. It is completely appropriate to build an 
> interactive calculator using Decimals aimed at the TI-89-using audience, 
> and I applaud that. But that's an application written in Python, not 
> Python itself. 
>

      Yes, and no.  Again, the TI89 has really nothing to do with it... I 
am advocating
for general average usability of the language by the masses; whether they 
are
software engineers or not, whether they are computer scientists or not, 
whether they
are have a PhD in mathematics or not. Python should be a both | and;   new 
folks 
should feel welcome and encouraged, and experienced folks should feel the 
power 
in their hands. Those ruby slippers should be the magic in the castle, and 
the way home
for Dorothy.  There are actually a large number of people trying out Python 
for the first
time, and many professional people and academic (like Matlab or Mathematica 
users) who are switching
to Python because of its power and flexibility (not to mention freedom). 
Both sets of "people" need to be welcomed
and cared for.  I honestly think that is one of the richest personal traits 
of the BDfL, and in
my observation (of course he should speak for himself) he seems to advocate 
for a both |and (at 
least that is how he makes me feel about it, when I have heard him speak 
publicly).

> If it were just me,  I'd just make sure the functions got decimals and be 
> > done with it. 
>
> You would do that even though the majority of numeric users of Python 
> would be opposed to such a change? 
>

     I am not sure I understand this question.  All I'm saying is that as a 
programmer, I am 
willing to take on constraints (spelling, rules, syntax, heaps of 
knowledge) in stride (as a 
software engineer that's my job) which I do not feel average people and 
other scientists
should have to worry about.  Just like at Dartmouth in 1964... a physicist 
should be able
to sit down to a python terminal and in very short order (with some small 
doc, tutorial) be
able to be talking to Python rapidly. The experience should not be 
frustrating, the experience
should in fact be as intuitive as possible, and it might also be fun...   
very seriously I believe this. 

     Python is a computer language.  But, it should not be C++ (we already 
have one of those), and
it should not be Java (for heaven's sake, certainly not that) and it should 
not be GNU C nor Assembler,
nor should it require a PhD in computer science to use it !  Python 
programming can and should be a rich 
and rewarding "liberal art"  which may be learned by anyone (even children) 
to accomplish real
world tasks with a rapid development cycle and a minimal of head banging 
(whatever I mean by that, its
all debatable). 

     I ran into this at IBM all the time too...  sooner or later developers 
become arrogant and self-absorbed.
IBM engineers are sometimes their own best customers, and their own worst 
enemies.  I am hoping that
does not happen in the Python community.  Python community has a very rich 
and talented group of 
engineers, mathematicians, coders, coordinators, doc writers, pep writers, 
testers, and a super BDfL. 
It would be sad IMHO for the Python community to implode (that is, build a 
superstructure or play-box
for developers, forgetting what they are developing, and for whom).

    This is my philosophy, and I don't expect that everyone will share it 
(that's just not realistic). I do hope
that Python receives wider adoption in the future, and I do hope that more 
people (esp women, kids, young
people) will choose computer science (through Python education) and that 
more people will actually 
reach out and and learn programming as a liberal art.  I am sick frankly, 
of our point-and-grunt culture (here in 
the States, and elsewhere).   Python is a way out of  point-and-grunt,  and 
a way forward into thinking with
a computer as a liberal art--- and as fine art. It is the power of thinking 
in the 21st century, and it is the power
of communication, collaboration, and cooperation between people and nations 
in the 21st century. I mean it.

marcus

>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20140308/f5b8b8f3/attachment-0001.html>


More information about the Python-ideas mailing list