From: Bruce S. <Bru...@nc...> - 2012-10-21 00:23:24
|
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 |