What is different with Python ?

Philippe C. Martin philippe at philippecmartin.com
Mon Jun 13 15:07:26 EDT 2005


> So you're arguing that a CS major should start by learning electronics
> fundamentals, how gates work, and how to design hardware(*)? Because
> that's what the concrete level *really* is. Start anywhere above that,
> and you wind up needing to look both ways.

Some very good schools still believe that


Mike Meyer wrote:

> Andrea Griffini <agriff at tin.it> writes:
>> On Sat, 11 Jun 2005 21:52:57 -0400, Peter Hansen <peter at engcorp.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.
> 
> So you're arguing that a CS major should start by learning electronics
> fundamentals, how gates work, and how to design hardware(*)? Because
> that's what the concrete level *really* is. Start anywhere above that,
> and you wind up needing to look both ways.
> 
> Admittedly, at some level the details simply stop mattering. But where
> that level is depends on what level you're working on. Writing Python,
> I really don't need to understand the behavior of hardware
> gates. Writing horizontal microcode, I'm totally f*cked if I don't
> understand the behavior of hardware gates.
> 
> In short, you're going to start in the middle. You can avoid looking
> down if you avoid certain classes of problems - but not everyone will
> be able to do that. Since you can only protect some of the students
> from this extra confusion, is it really justified to confuse them all
> by introducing what are really extraneous details early on?
> 
> You've stated your opinion. Personally, I agree with Abelson, Sussman
> and Sussman, whose text "The Structure and Interpretation of Computer
> Programs" was the standard text at one of the premiere engineering
> schools in the world, and is widely regarded as a classic in the
> field: they decided to start with the abstract, and deal with concrete
> issues - like assignment(!) later.
> 
>        <mike
> 
> *) "My favorite programming langauge is solder." - Bob Pease
> 




More information about the Python-list mailing list