What is different with Python ?

Tom Anderson twic at urchin.earth.li
Mon Jun 13 07:48:19 EDT 2005


On Mon, 13 Jun 2005, Andrea Griffini wrote:

> On Sun, 12 Jun 2005 20:22:28 -0400, Roy Smith <roy at panix.com> wrote:
>
>>> Also concrete->abstract shows a clear path; starting in the middle and 
>>> looking both up (to higher abstractions) and down (to the 
>>> implementation details) is IMO much more confusing.
>>
>> At some point, you need to draw a line in the sand (so to speak) and 
>> say, "I understand everything down to *here* and can do cool stuff with 
>> that knowledge.  Below that, I'm willing to take on faith".
>
> I think that if you don't understand memory, addresses and allocation 
> and deallocation, or (roughly) how an hard disk works and what's the 
> difference between hard disks and RAM then you're going to be a horrible 
> programmer.
>
> There's no way you will remember what is O(n), what O(1) and what is 
> O(log(n)) among containers unless you roughly understand how it works. 
> If those are magic formulas you'll just forget them and you'll end up 
> writing code that is thousands times slower than necessary.

I don't buy that. I think there's a world of difference between knowing 
what something does and how it does it; a black-box view of the memory 
system (allocation + GC) is perfectly sufficient as a basis for 
programming using it. That black-box view should include some idea of how 
long the various operations take, but it's not necessary to understand how 
it works, or even how pointers work, to have this.

tom

-- 
Think logical, act incremental



More information about the Python-list mailing list