kirby urner wrote: > Yes, a Linux system is huge and complicated. No, I don't favor > "insulating" students from that hugeness, by constructing some dream > world atop it and inside it, but unaware of it. This whole idea that > we must "protect" students from this context is an anathema to me, as > it's hypocritical. The people who *build* your pseudo or virtual > reality need to know about these underlayers, these pipeworks and > clockworks. Their not wanting to clue you in is a sign they're not > treating you as a peer, but as a rat in some maze of their own > devising.
Personally I wish *I* could be insulated from more of this; leaky and imperfect systems make this impossible at the moment. A strong abstraction is great -- at some point you may need to understand what that abstraction is built on, but even then it is nice to be able to retreat back into the abstraction so you can focus on what's really interesting and new that you are doing. There's a bunch of examples of this which I think are uncontroversial. Things like GC, pointers, characters (which are missing in Python), TCP/IP (which few people access directly anymore), the underlying mechanisms of threads and processes, and a bunch of other things that are so basic I have a hard time remembering they exist. Anyway, tangential to this, but maybe useful, I wrote a script to create isolated Python environments that doesn't require the cooperation of the system Python installation: http://blog.ianbicking.org/workingenv-revisited.html -- it may be useful for educational environments as well; easy to set up, and easy to throw away if you mess up your environment. Though it's dependent on PYTHONPATH, which isn't very accessible in a typical Mac or Windows environment (unless you are using one of those in a unixy style); hopefully someone familiar with those environments can suggest something. In this case, I think the status quo -- which forces you to think about the entire system, package management, etc -- is simply dumb. It's dumb for experienced programmers and dumb for newbies. For experienced programmers the status quo is sloppy and implicit; for newbies the status quo is dangerous and inaccessible. Neither group is well served. Kind of like manual memory management... we shouldn't mistake design problems for deep and useful ideas. There's hard and deep and useful ideas too; I'm just pointing out that not all hard things are deep or useful ;) -- Ian Bicking / [EMAIL PROTECTED] / http://blog.ianbicking.org _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
