Don Dailey <[EMAIL PROTECTED]> writes:

> To me, the ideal language will let you seamlessly step down to high
> performance coding in something just as efficient as C but be able
> to use much higher level language features without "getting in the
> way" of performance

Hmmm... you are just describing Common Lisp. :)

Just for the records: There are complete operating systems written in
Lisp on hardware much less capable than today not to mention all the
tools and applications -- many of the features of the Lisp Machine and
similiar systems are emerging today in tools like Visual Studio
selling it to the uninformed as genuine new ideas (intellisense, LINQ,
anonymous classes/functions, functions as first class objects,
closures, live debugging with on the fly code changes (oh, Visual
Studio has quite a long way to go to get the same flexibility in
debugging Lisp systems had 30-40 years ago) and much more).

As I said before: C has quite some drawbacks -- performance
wise. There are a couple of things in the standard preventing perfect
performance (calling conventions comes to mind but IIRC there are
more).

And as I said before: In many cases it's easier to get to decent
performance with C, but it's hard to get best performance in any
language and more often than not it's possible to get best or nearly
best performance even in a dynamic typed and very high level language
like Common Lisp (partly because there is no ABI defined for CL, so
compilers have much more freedom than C compilers).

One last point: You mentioned 50% speed gain is a big deal. No it's
not. If all you do is brute force computing then you are right. But
for me developing a Go engine is about complete new algorithms and
ideas, I'm not interested in (pure) monte carlo like engines. And if
you play with ideas, often redesigning the complete engine than C is
really bad and higher level language are much more handy.

So it depends very much on you goals. The main point being: Know your
tools, know your goals and then choose the right tool (so you're right
for monte carlo like engines -- the overall design is well-known,
performance is the key, so a language like C (I think, I might prefer
Ada) is quite a good choice).

-- 
Until the next mail...,
Stefan.

Attachment: pgpUwP5hPBlWe.pgp
Description: PGP signature

_______________________________________________
computer-go mailing list
computer-go@computer-go.org
http://www.computer-go.org/mailman/listinfo/computer-go/

Reply via email to