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