[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