Video Programming

Ron Stephens rdsteph at earthlink.net
Sun Dec 30 04:24:12 CET 2001


In this slow holiday week I am throwing out this "post" (I started to
say "idea", but it is definitely too half-baked, moronic, and
simple-minded, to be called an idea), FWIW. Please forgive my clueless
presumptuousness (is that even a word ???) ...

My son got a Microsoft  X-box game machine for Christmas. Watching him
play games, and once even participating myself (sort-of), I had these
thoughts:

In the future (far-future?), when computers are more "advanced", and so
are programming languages, and so are software "component"  models and
interfaces, would it be conceivable to have a very high level video
programming language?

That is, a language that used a video-game like user interface. I could
visualize an interface where one used a game-control like device for
writing programs. These game control devices are really interesting; I
am not able to use one at all well, because they are complex, with many
input devices  on each control device. You hold them with two hands and
use several fingers and thumbs ;-))). You can move 3D objects around the
screen, "shoot" guns, "fire" missiles, they have at least 10 or 12
different joystick-trigger-button-thingys for the user to play with.
Even though I don't know how to use them, my son and lots of kids are
experts; I think Nintendo, Sony, Sega and now X-box all have similar
complex control devices, and the upcoming generation will reach
adulthood with an intuitive working knowledge of how to use them well.

So I visualize a "programmer" "reaching" into a 3D environment on a
monitor, to manipulate 3D "components" that have "interfaces" so that
they can only be plugged into certain other components in certain ways;
but being 3D and visual, one could presumably build up very complex
configurations of such visual components, with each component
representing a software object or component, with certain well defined
interfaces that are represented visually on the monitor.

I speculate that this kind of model, or programming metaphor, might
offer certain ease-of-use advantages for certain (unknown ;-)) types of
programs.

One could also use a virtual reality hand glove to manipulate the
components, I suppose, or even, in a pinch, one could use a simple
present day mouse to do the manipulations.

Which brings me to one related thought or memory. A few years ago, when
Java was sort of new, I read a couple of Java books (one was Learn in 24
hours I think ;-))) and that got me to the point where I could at least
embed applets in a web page and run them, and make simple alterations in
the source code to somewhat modify or customize the programs; but it did
not get this particular clueless newbie to the point where I could, or
where I wanted to anyway, write my own original Java applets or
programs.

So I found Java Studio, a $99 Sun Microsystems program that allowed one
to create simple apps, and/or applets, by manipulating on-monitor 2D
graphical components. It was really sort of like creating flow charts
that the Java Studio program subsequently turned into Java source code;
but it was better than just creating flowcharts, because the components
were sort of half-way 3D and you fit them together, on screen, more like
a plumber fitting pipes and widgets together, rather than a 2D flow
chart.

It actually worked, and I was able to create a few original applets that
I liked and put on my personal web pages; I loved Java Studio.

Then Sun, in their infinite wisdom, discontinued Java Studio.
Unfortunately for me, I soon thereafter changed machines or had a disk
crash or whatever, to make a long story short, I lost my Java Studio
source code (which I had downloaded after paying for it, so I didn't
have a master copy) and without the source code of the Java Studio
(complier?-interpreter-whatever it was) I could not create new applets.
Ah well, I learned a lesson I guess, can anyone say OPEN SOURCE ;-))))

But I always remember that Java Studio as a neat idea. In the future, if
there were a much better implementation of such an idea,  it could be
good. (Of course, Python should be the underlying language ;-))) Now, I
know code-genertors have a bad name with many smart folks, but keep in
mind, video programing could be more of a reusable component
interfacing, high-level architecturing kind of thing; but with perhaps a
little code generation going on, around the sides, too , eh ;-)))

Anyway, the video game control devices, though I personally dislike
using them, do give an awful lot of sophisticated input capabilities,
and the coming generations will be intuitively familiar with them, and
if you with a kid play 3D first person shooter games (gasp) they do
manipulate 3D objects on screen in an amazing fashion.

And of course there would always be the need to code the original,
sophisticated components in real Python, command line style.

Please forgive me for this rambling post, but there it is, food for
thought, or for speculation, or for...???

whatever,

Ron Stephens

P.S. being 3D, you could build really big programs, zooming into the
screen's 3D environment really fast to get to different levels of a
large program (it wouldn't be necessary to keep all the progam on screen
at the same time, streams of components could fade into the background
or leap into the foreground gradually as you travel into the "space",
just like a real 3D space; and one could choose either high-level
sweepingly panaromic views of whole large code sections, or conversely
zoom in on narrow code segments. 3D spaces could allow one to create
really convoluted patterns with great "depth". I was a Basic language
spaghetti coder at heart in college (25-30 years ago!!!) and so I can
just imagine the possibilities ;-)))

One last aside, as a Math and Physics major in college so long ago,
almost all my class mates were head over heels in love with computers,
and most of them wound up in the computer science field for careers. Not
me. I was sure that computer programming technology would progress so
far so fast, that before long whatever I learned about programming in
college would be obsolete, since computers would practically program
themselves, or at least in such high level languages that most
sophisticated users would interface with their computers in natural
language ;-))

Boy was I wrong. So, at long last, my hobby now is bringing me back full
circle; I still believe that someday, (real-soon-now? maybe not)
computer programming languages will advance so far as to massively
empower sophisticated users. Maybe I'm still just as wrong as I was 30
years ago, but one can dream, anyway ;-)))

And now I find the ideas around building higher level languages more
interesting than just about anything else.






More information about the Python-list mailing list