[Edu-sig] Lisping

Arthur ajsiegel at optonline.net
Sat May 28 00:25:03 CEST 2005



> -----Original Message-----
> From: D. Hartley [mailto:denise.hartley at gmail.com]
> Art,
> 
> So Python was your foundation for exploring Java - Can I ask, by what
> route? I began with Python, but lately have been exploring Jython as a
> way to make use of Java libraries and so on while writing in Python
> (with the option of eventually learning actual Java code--or not!), so
> your post on the edu-sig list intrigued me.

Well I also started into Java via Jython (it was JPython then - I always
seem to be putting myself in the "old man" role but even if I were a younger
man, I still feel like an "old man" of the Python community - I have been
causing trouble in it for a decent number of years by now.  But there are
plenty of older men yet, within it - though most are younger than I.)

I was particularly interested in getting at some of the 3d and GUI stuff
available as Java libraries.

One watershed for me was in exploring Java3d via Jython I ran into something
that I couldn't get past, and by a fairly close analysis and boiling the
issue down to its most basic manifestation I was able to conclude with some
confidence that what I was running into was actually a bug in Jython,  and
was then able to report it to the Jython developers in a fairly concise
manner.  Probably the first time I was able to convince myself that I was at
some level "getting it".

Turns out that in the thousands of line of Jython code, somewhere a ">"
should have been a ">=".  *That* I would have never found.  But was
impressed that someone did, and the fact that that missing character
manifested itself in the way that it did help teach me something else
important about programming.

But doing 3d stuff, I went further into Java so that I would be able to do
directly in Java some of the more intensive stuff, and gain performance.

One key learning project I undertook which taught me something of Java, more
of Python, and a good deal about NumPy was a port I did of the Java3d javax
matrix/vector library to Python and NumPy.  I forgot why. Probably if I knew
more I wouldn't have done it. But I certainly knew I was involved in a good
learning experience, and was creating those kinds of experiences for myself
as I could find them or think them up.  Porting from and to Python and Java
helped me better understand both, their similarities, and their differences.
Good stuff.

When VPython (a C++ library) came along a good deal of what I was doing with
Jython and Java was mooted. What I was really looking for, or to create, in
Jython and Java was in fact something amazingly like VPython.  Though it
never would have been as good as VPython.

With VPython on the scene I have occasionally needed to try to get at least
some idea of C++ so that I could understand that code to the extent I needed
to.  Which is the extent of my C++ expertise.  I did accomplish something
concrete.  Found that "mag2" - the squared length of a VPython vector - was
often being first calculated, and then the square root of mag2 was being
exposed through the API to Python as "mag".  And I often would be needing
primarily its square - back to mag2, which was not exposed. So I did a patch
that was accepted that exposed mag2 directly, and avoided taking its square
root in C++ and squaring it in Python.

But that's all a lot to try to fit on my tombstone.

Art 

 




More information about the Edu-sig mailing list