Re: Progress toward wxPython

Bruce Sherwood <[email protected]> Sat, 20 Oct 2012 18:23:16 -0600
Newsgroups gmane.comp.python.visualpython.user
Message-ID <CAFDG03hTtZAK_5bjWoip2fBshBzBtoUf53WuYs_2gmVY_TR52Q@mail.gmail.com>
I can correct the history. David Scherer created VPython in the spring
of 2000 while a sophomore at Carnegie Mellon. The year before, he had
taken intro physics from Ruth Chabay and me (see
matterandinteractions.org), in which we had students write programs in
the 2D programming language cT I had created. Scherer proposed a much
improved 3D programming environment which, amid lots of discussion
with Chabay and me, he implemented.

Soon it became evident that a significant stumbling block was the fact
that in Python, as in so many languages (but not JavaScript) 1/2 was
0, not 0.5. This caused lots of trouble for our physics students, so I
proposed to the Python community that 1/2 be 0.5 instead of 0. That
was a trigger for lots of debate among Python developers, who
eventually found that they had their own reasons for making the
change.

There has never been a "VPython development community". in 2001
Scherer went off and founded a successful business. In 2002 I moved to
North Carolina State University, where an undergraduate student,
Jonathan Brandmeyer, got interested and made large contributions to
the further development and maintenance of VPython until he graduated.
In 2008 VPython needed significant work, and quite fortuitously
Scherer, between building companies, volunteered to work again on
VPython, and for about a year we collaborated on what became VPython
5.0 before he started a second company. All during these 12 years I
have been involved in development and maintenance, and for the past 4
years I've been the only major developer. (From time to time various
people have contributed in important but relatively small-scale ways.)

So the "VPython development community" has fluctuated between 1 and 2
people, and this infinitesimal group never "receded from the
python-dev community", of which it was never a part.

As for "VPython attracts young programmers", I've been disappointed
that Brandmeyer was the only new person, young or old, to get deeply
involved with VPython development after its creation.

I don't understand your pessimism, that one must abandon multiplatform
or speed or API. I would certainly like to see higher Python execution
speed, and I realize there are efforts under way. The new VPython will
certainly continue to be multiplatform, with the same API except for
rate being obligatory rather than optional.

As for a unified operating environment, I'll point to GlowScript
(glowscript.org), which is very similar to VPython but runs in a
browser. It is based on Javascript (or optionally CoffeeScript) and
uses in place of OpenGL (used by VPython) the similar 3D graphics
library WebGL, which is part of current browsers. GlowScript now has
capabilities roughly comparable to VPython. Not coincidentally, it has
been built by David Scherer and me, though Scherer has not been able
to work on it for some months, being deeply involved in his new
company (foundationdb.com). It has been a great joy to work in an
environment where thanks to being browser-based it was truly trivial
for GlowScript to work automatically on Windows, Mac, and Linux.

There was a recent event quite parallel to the 1/2 = 0.5 issue. In
JavaScript you cube a value x by writing Math.pow(x,3). Yuck. The
CoffeeScript developers had been considering whether to implement
x**3, and the additional arguments I presented pushed them over the
edge. There is a new CoffeeScript compiler to be released soon,
CoffeeScript Redux, which implements x**3. Here is a link to that
discussion:

   https://github.com/jashkenas/coffee-script/pull/2026

Bruce Sherwood

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct