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: Dr.Graef(a)t-online.de, ag(a)muwiinfa.geschichte.uni-mainz.de
WWW:
http://www.musikinformatik.uni-mainz.de/ag