[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: what is the best language for go: Re: [computer-go]Score estimating
Don Dailey wrote:
The two languages are very similar. I have experimented with both and
I much prefer Ruby which I found a lot more intuitive and natural.
This could be because I learned Python first. But the tendancy is
like the first thing more and the second thing has to be clearly
better to win you over. It's interesting that we both did it this way
and came to different conclusions.
I can only make suppositions.
Learning Python first seems to be the good way,
because it seems to be more close to C/java programming.
(This is a plus for catch C/java programmers)
The language in itself seems more clean in Ruby.
Maybe you learn python quite a long time ago,
and python evolve in a very good way. For exemple in
the future 2.4 version, the syntax of classmethod
will be more clean.
Concerning the standard library, python seems more
"battery included".
http://www.rubycentral.com/ref/index.html
http://docs.python.org/lib/lib.html
So finally, there is nearly no differences between languages
is thin and after comparing the standard library I still consider
Python as better.
However, the languages are so close that if you begin
a go programm in Ruby, I will probably follow you.
The idea that is suggested in these kinds of languages is to write
your software in them and then convert the time consuming parts to C
code when you need performance. I'm not sure this is all it's cracked
up to be. When you design something in Ruby or Python you will think
about it a whole lot differently that if you started in C. It's the
old top down versus bottom up design philosophy again. I've changed
over many years to thinking bottom up when it comes to performance
programming. Top down seems to "box you in" in a way I can't seem to
easily communicate. In this case it's easy to communicate because you
build it in the most convienent high level way supported by a
language, and then you can be "boxed in" when it comes to making this
work in C.
I am totally agree, except for the conclusion. I played recently
with gnuGo and it appears that performance is *not* the point.
He played nearly as soon as I played. I think the design of a go
programm should use all the power of a high level language and
not be directed by performance purposes.
To keep the best of both world, maybe the low-level librairies
should be realized in a separated process from the high level.
I am currently thinking about making a wrapper of gnugo for
Python wich could help us to see if the two world could
communicate in a productive way
Xavier
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/