Steve Harris wrote:
When people think they want a VM or interpreter they often want garbage
collection, generally garbage collection is not relatime safe. There
are relatime garbage collectors, but they're not common and they're
extremly complicated.

That's not necessarily true. If you can live without collecting cyclic structures then a simple reference counting scheme will do, which is very cheap and simple to implement. And SuperCollider shows that the more general case is tractable, too, at least in languages designed specifically for that purpose.

But I agree, there is no point in using interpreted languages to program DSP algorithms which operate on the sample level. If properly designed, they are o.k. for providing the glue between ready-made units which operate on the block level (like SC does, and CSound, and ...), but not for sample-level stuff. That's what compiled languages like Faust are for. Even when computers get a lot faster than they are now, we don't have any cpu cycles to waste on number crunching.

Given that (Objective) C(++) has the best math libraries

I think that the scientific computing community will object to that. "Real programmers use Fortran." ;-)

Faust is another matter however.

Yes, because it will do optimizations on the expression level that your C compiler can't do, and that you might not bother to do manually.

Albert

--
Dr. Albert Gr"af
Dept. of Music-Informatics, University of Mainz, Germany
Email:  [EMAIL PROTECTED], [EMAIL PROTECTED]
WWW:    http://www.musikinformatik.uni-mainz.de/ag

Reply via email to