[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Réf. : Officially off the rails now (was Re: what is the bestlanguage for go: Re: [computer-go]Scoreestimating)
>
>
> Whatever the answer is, there is no better place than this
> mailing list to exchange ideas about this subject : what is
> the best language to program go ?
If I was starting again I would use C++. The core functions need the speed
of
C or C++, and I find that I write much more reliable code in C++, and I can
create fast abstractions that are much easier to understand than pure C
code.
For speed, I would avoid doing any memory allocation or freeing in the high
speed
code, so languages like Java or Lisp are too slow.
I like python, but I'm not experienced enough with it to write code quickly.
I find it too hard to read perl code that was written long ago, but perhaps
that
is just because I'm less familiar with perl than the experts.
David
>
> best regards
>
> Jef
>
> -------Message original-------
>
> De : computer-go
> Date : 09/01/04 03:14:32
> A : computer-go
> Sujet : Officially off the rails now (was Re: what is the
> bestlanguage for
> go: Re: [computer-go]Scoreestimating)
>
> Enough my-language-is-better-than-your-language? Please?
>
>
> William Grosso
>
> At 12:48 PM 8/10/2004, Peter McKenzie wrote:
>
> >>Someone said this:
> >>
> >> >>I'm not sure why it wouldn't be OK for bigger programs (ie. a Go
> program)
> >> >>as long as you're prepared to live with dynamic typing
> and code up
> plenty
> >> >>of Unit tests.
> >>
> >>Whoever wrote this doesn't quite get it. Ruby and Python are better
> >
> >I said it and I think I get it just fine thankyou :-)
> >
> >>for for BIG projects and was designed for this. Much better
> than lower
> >>level languages than Java or C++ etc.
> >
> >Java and C++ have been proven on countless huge projects, I
> don't think
> >you
> can say the same about Ruby or Python. Static typing comes
> into its own when you hava a very big codebase (multi million
> line) with many (say 20+) programmers working on it. In that
> situation it is often communication between programmers that
> becomes a bottleneck, and static typing definitely helps
> solve that problem in a way that dynamic typing can not.
> >
> >>
> >>The unit tests is not more necessary in ruby/python than
> these other
> >>languages, it's LESS needed, but it should be done. You will always
> >
> >I disagree. With dynamic typing the compiler catches fewer errors at
> compile time, therefore you need more unit tests to catch
> those things.
> >
> >>get better results in any language by testing as you go and making
> >>yourself go slow to be thorough.
> >>
> >>Ruby is strict about types which is the more important
> thing. It's not
> >>STATICALLY typed but it is strictly typed. You cannot add
> an integer
> >>and a string, for instance, like you can in perl.
> >
> >Ah, but you can write the source code to do it and you must rely on
> >testing
> to detect it.
> >For example the following Ruby program runs just fine until
> you enter
> >"b"
> at which time you get a *runtime* error:
> >
> >a = gets.chomp
> >if a == "b"
> > a += 100
> >end
> >
> >>
> >>Unless python has changed, it doesn't hide data very well.
> Ruby is way
> >>ahead unless python has fixed this, but Ruby always had it right.
> >>
> >>- Don
> >
> >cheers,
> >Peter
> >
> >
> >>
> >>
> >>
> >>
> >>
> >>
> >> I think this computer language discussion is probably
> stretching the
> >> patience of people whose main interest here is computer Go so I'll
> >> try to make this my last post on the topic :-)
> >>
> >> >>Regarding Mark's question about large scale development: I'm not
> >> >>sure
> how
> >> >>Ruby would fare there. It has pretty decent OO features (better
> >> >>than Python IMHO) which should help. My biggest Ruby program to
> >> >>date is only about 500 lines and it is certainly fine
> for anything
> >> >>of that size.
> >> >
> >> >I really go back to read the Ruby OO features, I did not found
> >> >anything that don't exist in python. Maybe you can give me good
> >> >pointers on web.
> >>
> >> The things I didn't like about Python's OO were:
> >> - lack of private and protected instance variables
> >> - having to use an explicit 'self' parameter in all methods
> >>
> >> Note that I'm not saying Python is a bad language, just that I
> >> personally didn't like it much. I'm sure that lots of people do
> >> wonderful things
> with
> >> Python. I'm equally sure that a sizeable bunch of people
> will prefer
> >> Ruby
>
> >>
> >> cheers,
> >> Peter
> >>
> >> >
> >> >>I'm not sure why it wouldn't be OK for bigger programs (ie. a Go
> program)
> >> >>as long as you're prepared to live with dynamic typing
> and code up
> plenty
> >> >>of Unit tests. I'd still see it as potentially much more
> productive
> than
> >> >>C++ or Java. I agree that speed would be an issue - if you do a
> >> >>C++ serious
> >> >>Go program in it I'm guessing you'd want to re-implement the
> >> >>critical parts in C once they've stablised.
> >> >
> >> >I'm sure that Python can manage such programs.
> >> >For that there is a similar paquages as in java,
> >> >but the import system is even more powerful than java one.
> >> >
> >> >Personnaly I know Python only since six month
> >> >and I already made a full working application (even if
> not finish)
> >> >which has 888 lignes wich is perfectly extensible and stable. It
> >> >includes: configuration, special ftp client, language source
> detection
> >> >C code processing, batch compilation (with system ("gcc ") calls)
> >> >
> >> >Biggest aplications full works.
> >> >mailman (mail list manager) 33 000 lignes of code.
> >> >Zope (web server and web development environemnt) 403 000
> lignes of
> >> >code
>
> >> >
> >> >And the point is to realize the same functionnality,
> >> >the code is *really* shorter than java or C++.
> >> >For exemple, in my project, with the help of
> introspection, I parsed
> >> >a file, transform it into a full working Python object, add one
> >> >simple unittest, all in one file of 79 lines. As far as I
> remember
> >> >how I worked in java, I would expect that the same job in
> java would
> >> >require at least three classes (one file for each) 80 lines each.
> >> >That's why I rely believe that Python is three times more
> productive
> >> >than java (even including the learning stage)
> >> >
> >> >So I don't think that big project in Python is an issue
> >> >The integration with C is easy (but not tested personnally)
> >> >
> >> >So I think it meets better the requirements of go
> application than C
> >> >or java. Maybe Lisp is even better, but I know very little about
> >> >lisp, except that it is harder to learn.
> >> >
> >> >Xavier
> >> >
> >> >
> >> >_______________________________________________
> >> >computer-go mailing list
> >> >computer-go@xxxxxxxxxxxxxxxxx
> >> >http://www.computer-go.org/mailman/listinfo/computer-go/
> >>
> >> _________________________________________________________________
> >> There’s never been a better time to get Xtra JetStream @
> >> http://xtra.co.nz/jetstream
> >>
> >> _______________________________________________
> >> computer-go mailing list
> >> computer-go@xxxxxxxxxxxxxxxxx
> >> http://www.computer-go.org/mailman/listinfo/computer-go/
> >>
> >>_______________________________________________
> >>computer-go mailing list
> >>computer-go@xxxxxxxxxxxxxxxxx
> >>http://www.computer-go.org/mailman/listinfo/computer-go/
> >
> >_________________________________________________________________
> >Check out news, entertainment and more @ http://xtra.co.nz/broadband
> >
> >_______________________________________________
> >computer-go mailing list
> >computer-go@xxxxxxxxxxxxxxxxx
> >http://www.computer-go.org/mailman/listinfo/computer-go/
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
>
> _______________________________________________
> computer-go mailing list
> computer-go@xxxxxxxxxxxxxxxxx
> http://www.computer-go.org/mailman/listinfo/computer-go/
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/