![](https://secure.gravatar.com/avatar/e4d005fd33f12f0ac7ef49852a35e7c2.jpg?s=120&d=mm&r=g)
The idea of rich data structures was to take advantage of the Internet by providing students with more meaningful precoded data through which to plow. Examples: * all the bones in the body as a tree structure (with some fancy networking among skull bones) * GIS info (I posted cities.xml from Winterhaven) * the eight planets of our solar system, plus Pluto and Iris (the latter owned by CBS (smile)). The idea of a rich data stream anticipates Python 3's strong powers around data bitting (new bit type), which'll make OO dissection of IPv6 packets (legacy IPv4 packets) a cinch. Kids'll groove in their ability to really dissect what's going on over the wire (sniffed from the ether or whatever). Rather than encourage too much interloping on neighbors' comm channels (a favorite hacker pass time I realize), we need canned data streams of a simplified "cave painting" nature, with known solutions. Like it'll be a goal of the packetsniffer.py package to zip through these canned packets at high (enough) speed, and to spit back reports on whether they're tcp or udp, used by which flavored protocols and so on (you need ideas about protocol if you hope to reconstruct the payload, for all but the simplest of containers). Students will grow to understand tcp/ip by reading packetsniffer's deliberately *non*-obfuscated source code. What a relief to see it all in Python, vs. staring at low-level C structs all the time. Most would die of boredom before getting there. Python keeps it less boring. I'm aware that the Python Community hasn't waited for Python 3 before beginning work in this genre. Python has some of the more sophisticated networking tools around, including flagship peer to peer bittorrent in wx. Python is *truly* an effective language, which is why certain unnamed schools of low standards prefer students to concentrate on maybe Visual Basic or Java. The former is toothless enough (minus the ActiveX add-ons), and the latter is difficult enough, that relatively few in those two camps are as likely to experience the free flowing and comprehensible style we Pythoneers simply take for granted. Tough luck for them, and best wishes on some next iteration.** Kirby ** of course this rhetoric is full of false dichotomies, I realize. Many of us who code in Python likewise enjoy Java and VB.NET sometimes, or C# or whatever. I came to Python via Java from xBase (which I still use), and before that APL (which got me spoiled on always wanting REPL). So to heap scorn on BASIC, which I'm not doing, is really ahistorical anyway. There wasn't any Python way back then, especially not on the ROM chip when you booted the PC. However, I *do* still oppose this misguided "Python: the new BASIC" meme. I think that's stupid, as it overlooks Python's way stronger potential owing to its much higher level of design sophistication. "Python ain't yer grandfather's BASIC" is the slogan I'd prefer. Too bad JavaScript is so poorly named, as it'd be a better runner up to Python (because of the DOM) than most 2nd banana languages.