Python vs. C++ Builder - speed of development
Brandon Van Every
vanevery at 3DProgrammer.com
Sun Feb 2 02:16:41 EST 2003
Alex Martelli wrote:
> Brandon Van Every wrote:
> ...
>> really do feel that most of my time right now is spent on design,
>> and that no
>> language would allow me to code any more rapidly than any other.
>> C++ just
>
> Python has the potential to make your design more productive, too.
> Whenever you have to choose between (algorithms, data structures,
> or more generally "approaches") A, B and C, Python makes it quite
> feasible to code them all and then choose between them on the basis
> of actual experience, rather than mere theories.
There's nothing remotely theoretical about my current C++ development.
>> If you Keep It Simple Stupid in C++, it ain't that bad.
>
> But you can't keep C++ all that "simple", really.
Yes you can, when you're solo coding.
> You cannot "simply not use" ``worry about who owns what'' in C++.
> SOME object X has to hold THE owning-pointer (e.g. auto_ptr) to
> another object Y, while other pointers to Y don't "own" it -- you
> have to KNOW when Y gets freed; or else you get to reimplement
> reference counting and/or other approaches to garbage collection,
> infrastructure which Python gives you in a much better developed
> and usable state.
I haven't written anything in my entire code base that uses reference
counting at all. I do not live in a "I must spawn this zillions of times!"
world. Not yet, at any rate. I may need it later, but by then I will have
"poured a strong foundation."
> Of course you don't use nested functions in C++ -- it does not
> support them. That's a _handicap_ of C++, by the way.
I've yet to design anything that needed nested functions.
> If you don't use templates in C++, that's your loss -- they're
It is not a loss when your overriding goal is to get 1 code path working
well. I do not believe in a bazillion code paths, you can't optimize them
all. I have a RISC mentality. So first you get the 1 code path working
well, you do everything that you possibly can with it, and only much much
much later after the design is proven do you worry about templates.
I also don't believe in trying to solve everybody's problems in some
general-purpose way up front. Solve the specific problem you're working on.
Don't start out writing templates, it's a bad impulse. Make a template out
of something with proven utility, that you need to extend to a more general
case. Templates should be code *reuse*, not code anticipation.
> And I do *NOT* believe you
> do not use any casts in your C++ code, _particularly_ if you
> make no use of templates.
At the stage of development I'm at, it's a true statement. Well, I cast
some ints to floats to do various calculations, but I'm sure that's not what
you meant. Really, there's nothing that needs any shoehorning in my current
design.
--
Cheers, www.3DProgrammer.com
Brandon Van Every Seattle, WA
20% of the world is real.
80% is gobbledygook we make up inside our own heads.
More information about the Python-list
mailing list