[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/