[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: what is the best language for go: Re: [computer-go] Scoreestimating
Hi Peter,
I'll take a closer look at common lisp. Of course I am biased towards
really fast execution, approaching assembler. But of course I want it
all, a really high level language that is super fast too. It's hard
to get both I'm afraid.
Do you believe that well written common lisp can come close to C in
performance or is your pitch more that it is a much higher level
language and with native code compilation at least is reasonably fast?
- Don
Cc: computer-go <computer-go@xxxxxxxxxxxxxxxxx>
From: Peter Seibel <peter@xxxxxxxxxxxxxxxxx>
Date: Mon, 09 Aug 2004 09:43:56 -0700
User-Agent: Gnus/5.1006 (Gnus v5.10.6) Emacs/21.3 (gnu/linux)
Content-Type: text/plain; charset=us-ascii
Don Dailey <drd@xxxxxxxxxxxxxxxxx> writes:
> Python has Psyco which sounds really cool to me. It's a lot like a
> just in time compiler and I wish this existed for Ruby. It's the
> only reason I could consider swithing to Python. It requires no
> changes to your source code.
>
> At some point you begin to wonder if it's worth it. The main reason
> to turn away from C is to avoid complexities like this. When you
> program like this, mixing languages, you are moving in the wrong
> direction, making your code complicated again.
Another possibility is to use a languge provides high-level
abstraction (at and beyond the level of Python and Ruby) with
compilation to machine code and the *option* of providing declarations
that the compiler can use to generate even more efficient code. The
language: Common Lisp. Folks whose experience with Lisp occured either
10-20 years ago and/or in a single college computer science course
(which probably taught Scheme) tend to have a highly distorted view of
what Lisp is all about. If you're happy with your language choice,
great. But folks looking for a better way might want to give Common
Lisp a look.
Truth in advertising: I'm currently at work on a book about Common
Lisp which will be published by Apress later this year. Early drafts
of the many of the chapters are available at:
<http://www.gigamonkeys.com/book/>
for folks who want to check out Common Lisp. It is targeted at folks
who are already competent programmers in some other language and want
to know how to actually *do* stuff with Lisp.
-Peter
P.S. ObGo (and language comparison): my interest in computer go is in
the area of using genetic programming to develop go playing software.
Many years ago I wrote a genetic programming system in Java for
playing go whose great claim to fame was that it got to the point
where it could consistently (100% of the time) beat a random player on
a 5x5 board. Okay so that's not much. I've since been busy working,
etc. and haven't had a chance to work on it. But once I finish my book
I'm planning to get back to it reimplementing the whole system in
Common Lisp. I have notebooks full of ideas about how to improve it.
Re, language comparison. I have done a bit of work on the Common Lisp
version and despite at the time being fairly new to Common Lisp I was
much more productive working in Common Lisp than Java and I've been
programming Java professionally since 1997. For whatever that's worth.
--
Peter Seibel peter@xxxxxxxxxxxxxxxxx
Lisp is the red pill. -- John Fraser, comp.lang.lisp
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/