POV-Ray : Newsgroups : povray.general : 4.0 Feature discussion : Re: 4.0 Feature discussion Server Time
9 Aug 2024 11:27:25 EDT (-0400)
  Re: 4.0 Feature discussion  
From: Chris Huff
Date: 16 Nov 2000 17:00:15
Message: <chrishuff-09DF9F.17002916112000@news.povray.org>
In article <8FE### [at] povrayorg>, ing### [at] homenl (ingo) wrote:

> The reason for using Python as an example is that it is the only language 
> I can use a bit (and like) and it seems to run on all platforms POV runs 
> on. I don't intend to promote it as the ultimate solution for  3D-OO. 
> Others may be more suitable, Ocaml? Perl? Squeak?

Why try to force one of those languages to do something it isn't 
designed for? Design a new one!
And I am not saying a library for one of those languages is a bad idea, 
just that it would be a really poor replacement for a scene description 
language.


> Doesn't a library or module become part of the language? Big parts of 
> Python are written in Python.

No. Libraries are separate from languages. The stuff in VPython doesn't 
even *look* like part of the language, it is obviously calling stuff 
from Python to create things.(BTW, the Mac version was based on an old 
version of Python, so I can't get it to work)


> Mmm, what is "the language", everything in the distribution, or only the 
> part that needs no modules to be imported?

The "language" is the collection of basic keywords, control statements, 
and syntax. In POV, #declare, #while, #macro, sphere, color, vectors, 
etc. are all part of the language. "White", "Green" "T_Glass3", etc. are 
*not* part of the language, they are parts of a standard library. In 
C++, while, if, switch, short, float, declation syntax, etc. are all 
language features. However, vector templates, cin, cout, assert, etc. 
are all library features.


> > Also, you can make it completely platform independant without 
> > having to pound someone else's source into submission. :-)
> Sorry Chris, but I don't understand the last part of this (lack of idiom 
> on my side).

I meant that if it doesn't work for some system, you don't have to hack 
into someone else's source code to get it to work. It makes POV less 
dependant on external factors.


> No need to write scene files, it could interact directly with the render 
> engine.

In other words, replace the scene language with Python(or some other 
language that you are forcing into this niche).
Also, try doing that in a cross-platform way...


> For the first part, that's a design decision, it could also have been:
> floor=box((-2,-0.25,-2),(2,0.25,2),(0,0,1))
> ball=sphere((0,4,0),1,(1,0,0))

Not much better at all. In fact, it's worse...


> Just like most POV users won't be happy with any OO-POV. It's different.

Wrong. It could be done to be very much like the way things work now, 
just with additional features.


> >Oh, and I didn't cut off the end...but the lack
> >of some kind of end to the while loop makes me nervous.
> That is what I like about Python, no ;#{} , why should I think of 
> those? I have a computer for that.

You like the fact that you have to think about where things end instead 
of just looking for the "}", ";" or some "end" statement?


> And if you're used to indent, you won't have a problem with white 
> space being meaningfull.

There would be a lot of people unhappy that their personal styles won't 
work. *I* would be unhappy. Having "nothing" mean something sounds like 
a really bad idea...

-- 
Christopher James Huff
Personal: chr### [at] maccom, http://homepage.mac.com/chrishuff/
TAG: chr### [at] tagpovrayorg, http://tag.povray.org/

<><


Post a reply to this message

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