On Sat, Apr 10, 2004 at 06:08:31PM +0200, Kjetil Svalastog Matheussen wrote:
Thats not what I said. Or ment at least. I said; use a
high-level language
for high-level operations. I'm not saying: Do computer-intensive/realtime
critical operations with lisp/python/ruby/etc. Ardour consist of about
90% GUI code, if I have understood correctly. Those 90% of code could
have been written in a more high-level language with garbage collectors,
proper list-functions, dynamic typing and other helpful things c++ does
not provide because C++ is supposed to be extremely fast, allways.
Or in case not, why not?
The nice thing about C++ is that it is 'low level' when you need that,
and that by writing a few classes on top of this you can get _exactly_
the type of high level abstraction that you need, without the ballast of
a high level language that is designed to provide everything to everybody.
This also applies to GUI code. You need only a few relatively simple classes
on top of Xlib that take care of event polling and delivery, X11 resource
management (an area where most high-level languages break down), and a set
of widgets. Everything else will probably need a general purpose canvas and
low level drawing operations anyway, and these are as easy to do directly in
X than in any toolkit or high level language that I know of, or even easier.
What you get is a high level interface, blazingly fast performance, and
easy integration with the time-critical code that is typical for any audio
application. Try to do that with Tcl/Tk, Python or whatever.
Just my 2 Eurocents, of course.
--
FA