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