[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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