RE: Python vs. C#
> Compiler checking is a kind of test that is done for you all the time,
> without you having to reimplement it over and over again.
The design of the .NET framework minimizes the utility of static type
checking by using the object class all over the place. When you wish to
use an instance of class object you must cast it into an appropriate
type. The validity of the cast is determined at runtime. Almost all of
the collection classes, for example, deal in "object"s.
> I agree that people should write tests, but having written many, many
> of those for my own project, it is equally true that writing test
> cases slows down development.
I think that depends on how efficient you are at writing tests. Python
offers a great testing framework to help you.
> Anything that provides testing "for free" is a boon.
It is not free. You are accepting several limitations (e.g. object must
conform to a particular interface to be useable, all types must be
specified) to get a type of checking that is of questionable value.
> Big projects are filled with the bell curve. Not to mention stress
> deadlines, which ruins the code of even good programmers.
Re: Python vs. C#
I'm done with c.l.p for now, I've moved on to the marketing-python list.
This has been an interesting proving ground, and I've gotten the information
I came for, but productivity demands a move to a different venue. This post
was CC:'d to me so I want to address one point:
Brian Quinlan wrote:
> Brandon wrote:
>> I agree that people should write tests, but having written many, many
>> of those for my own project, it is equally true that writing test
>> cases slows down development.
> I think that depends on how efficient you are at writing tests. Python
> offers a great testing framework to help you.
No, writing tests consumes time. I measure my productivity in units of 4
hours, i.e. a half day. My worst bugs last me 2 days. There is no language
written that will obviate the need to design a valid test case. Writing
test cases is simply a slow process when you measure functional results over
such small periods of time. I am 1 guy and don't have the luxury of armies
of coders in an industrial environment to work with. I'm very efficient,
and I know what fast and slow is. I do the tests when I know robustness is
going to save engineering time. I avoid them for their own sake, it is a
waste of time. Better to simply get working code exercised, and keep it all
down to 1 code path so that everything continues to be exercised.
>> Anything that provides testing "for free" is a boon.
> It is not free. You are accepting several limitations (e.g. object
> must conform to a particular interface to be useable, all types must
> be specified) to get a type of checking that is of questionable value.
C++ style compiler checking helps. I've never met anyone who thinks
otherwise. Pythonistas just habitually claim it doesn't have merit and
complain about burdens imposed. To us C++ guys, it is no big deal. It is,
frankly, the least of our troubles under C++.
Brandon Van Every Seattle, WA
20% of the world is real.
80% is gobbledygook we make up inside our own heads.
|All times are GMT. The time now is 09:24 AM.|
Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.