POV-Ray : Newsgroups : povray.programming : A thought for 4.0 : Re: A thought for 4.0 Server Time
28 Jul 2024 14:32:35 EDT (-0400)
  Re: A thought for 4.0  
From: Christopher James Huff
Date: 19 Sep 2002 15:37:52
Message: <chrishuff-47ABB9.15344419092002@netplex.aussie.org>
In article <3d89f678@news.povray.org>,
 David McCabe <dav### [at] myrealboxcom> wrote:

> POV is not real...because it can't do everythingor it makes it really hard. 

That is a very bad definition of "real". 


> POV is like PostScript, which you wouldn't exactly call a scripting 
> language, even though it can do that kind of thing to some degree.

Actually, I do call PostScript a scripting language. A fairly 
well-designed and flexible one too...have you seen the PostScript 
raytracer?
Not anything I'd write an application in, but that doesn't mean it isn't 
a real language...what it does, it does well, and doesn't need to do 
more.


> Security is an issue whever you are writing a program. How is writing a 
> script for POV less secure then writing a script that runs alone?

Huh? The point is that a script for POV is more secure, not less. You 
can render a scene being fairly confident it won't destroy your system. 
Using an external language would lose that security, making things more 
difficult to secure. Not a huge drawback, but a potential problem, and 
especially necessary for applications like a web interface to the 
renderer.


> > How would it make POV smaller? Instead of POV interpreter + POV core,
> > you end up with POV core + generic interpreter + lots of glue code.
> No, the interpreter would be an *external dependency* (get used to it :-).

POV wouldn't ship with it? The user would have to download an entire 
language package ported to their platform in order to just render a 
scene? Bad idea. Extremely bad idea:

1: More platform-dependant code to maintain or port, for hooking up with 
the chosen language package.

2: Dependance on a specific version of the interpreter. No control over 
conflicts with official includes, if the interpreter or language changes 
it would force a quick release of POV just to restore compatibility, it 
is just asking for trouble.

3: Dependance on the interpreter being available and up-to-date on all 
supported platforms, making it impossible to port to platforms where the 
interpreter doesn't exist.


> > Not really designed to be embedded in another application, possible to
> > do but awkward. I think Matz is working on making this easier.
> it's a good language, however. 

I like it. It is very similar to a cleaned-up Objective C. (actually, 
more like Smalltalk, which is the main influence of Objective C)
Take this, add some syntactic sugar for defining scene entities and 
handling vectors (and get rid of some Perl-isms), and it'd be a nice 
language. You can write very concise but clear code in it.

I think something closer to Sapphire would be better though, something 
closer to the current POV language (so it is still familiar), and 
simplified (a scene description language doesn't really need regular 
expressions built-in).


> > I think any new scene description language will have to be something
> > like POV: partly a simple markup language or human-editable data format,
> > with a scripting language and built-in support for vectors. Object
> > oriented as well...POV is almost there, it could become a
> > prototype-based OOL with just a few modifications.
> Okay, that's fine. But please make sure we get good OO features.

Heh, I'm not on the design team...but the POV Team has hinted at a 
"major reworking" of the language for 4.0.

Some other languages you might look at:
Sapphire (on my web page)
A prototype-based object-oriented language with a fairly Java or C-like 
syntax. Very dynamic and flexible, built-in support for vectors, made to 
be embedded in other programs or run standalone.
Wait a while though, I've made some big changes since the last release.

Io: http://www.dekorte.com/Software/C/Io/
Very small, embeddable, pure prototype-based OO language.

Cel: http://freshmeat.net/projects/cel/?topic_id=49
Another prototype-based language (can you tell I'm interested in 
Prototype based OO? I think it applies well to this sort of problem.).

Also Lua, Self, Smalltalk, Objective C, etc...you mentioned Ruby, so 
chances are you are already familiar with at least a few of these.

-- 
Christopher James Huff <cja### [at] earthlinknet>
http://home.earthlink.net/~cjameshuff/
POV-Ray TAG: chr### [at] tagpovrayorg
http://tag.povray.org/


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.