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
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
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
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.