On 4/2/07, Michael Tobis <[EMAIL PROTECTED]> wrote: > I think we actually need to compete, not to shrug and hope the best > platform wins. The fact that Python has the momentum it does with its > rather laid back attitude toward evangelism is a testament to its > strength as a platform and a community. I don't think that excuses us > from trying much harder to make a strong case for it, though.
I think that's a valid point: Python's community is laid back somewhat in proportion to it's confidance in this being an excellent language with a long and bright future. Ruby might have made a dent in that feeling, but not at the cost of our friendliness. It's just that Python has nothing quite so friendly to web developers as Ruby on Rails, once you factor in some of the intangibles. http://pythononplanes.com/ doesn't cut it. ;-D Plus Ruby's out of the box access to OpenGL gives it strong pedagogical advantages we only *kind of* make up for with VPython -- as Arthur quietly realized. As for competition, I also believe in that *within* Python Nation. I think one way we'll remain strong is by seeing CP4E fork off in many directions, my little feeder system being but one of them (we don't certify but a very few). > On 4/1/07, kirby urner <[EMAIL PROTECTED]> wrote: > > > I think Python thrives best in a diverse ecosystem of languages. After all, > > if it's to serve as a "glue language", there need to be languages to glue to > > besides Python. > > An interesting argument. However, I've long since stopped thinking of > Python as glue, and beginners surely aren't interested in learning > multiple languages. > Not so fast. *Some* beginners very much *are* trying to wrap their heads around several languages, precisely because they're in this try before you by mindset and don't want to invest oodles of noodle time in the "wrong" one. Oft times, a beginner really does have a project or challenge in mind, and just as oft, one language above most others will fill the niche most pleasantly. To just throw a dart at the dart board and pray the "right" language will emerge is a bit too trusting an approach for most rationalists. Don't equate "beginner" with "lazy college student at a party school" -- entirely different concepts, though with some overlap. > > You mention PHP, but don't forget about Plone. We've gone far beyond > > the cgi days, where primitive Python works well, to more ideas about > > stuffing ZODBs with Objects that have all these view-related aspects -- > > strong model-view-controller designworks. > > Nevertheless, kids who take up programming outside of school tend to > be doing PHP, Flash or Javascripts, don't they? What would Dijkstra > say to that? ) > All of which languages are pretty strongly OO (ActionScript included). PHP has come a long way towards being a general purpose language. I believe in doing these "bridges" into Python assuming a background in some of these other languages (was writing about that vis-a-vis Smalltalk just recently, given how the Shuttleworth Pipeline has been shaping up). > "It is practically impossible to teach good programming to students > that have had a prior exposure to BASIC: as potential programmers they > are mentally mutilated beyond hope of regeneration." -attributed to E. > Dijkstra > I doubt he'd feel the same way about JavaScript, which Alan Kay likes too. Especially when you use it to introduce the DOM, which I don't think any serious-minded pre-college language arts curriculum can afford to bleep over. In my Python class at Winterhaven PPS in PDX, we started talking XML the first day, in relation to Google Earth. http://www.4dsolutions.net/ocn/winterhaven/ > (I'm not sure he'd have much good to say about Zope/Plone either, but > that's neither here nor there. The administrative hurdles to setting > up a Plone site exclude most casual beginners. Actually Plone pretty much self-installs, including as a web server (don't even need Apache). It's when you want to start changing the default look and feel that hurdles arise. Still, in my experience as a Free Geek (freegeek.org), many kids find these puzzles motivating, in part because of the friendliness of Python culture, including the Plone/Zope subculture (I hung out with Alan Runyan and Andy McKay, and friends in Vancouver BC quite a bit -- what a wonderful bunch, and that's just the tip of the iceberg). http://plone.org/about/team > There is surely, roughly speaking, some best way to teach programming, > and it deserves a lingua franca. We all learned the same fundamental > mathematical notation, even though many others are not only possible > but in common use by specialists. Should the same not be true of > algorithmic notation (i.e. programs)? Dangerous thinking. ;-D I'd say many a mathematician has been ruined for life for having mind-melded too tightly with just one mathematical notation. My mantra for CS0 is "if they just expose you to one language, think about transferrring to a real school." > Either Python, (i.e., reasonably close to an optimum) will prevail or > some damned QWERTY nonsense (not designed for nonspecialists) will > prevail for another generation. Probably Java. Which leaves the > impression that CP!4E. Which I hope we all agree is unfortunate. I don't usually pick fights with Java per se, which is a system language more than an agile one, has the capability to run faster because of all we tell the compiler... other advantages. It's in a league with C# and C, as an implementation language for Python, more than a direct competitor. CS0 has recently discovered that "agile languages" make way more sense as first languages. Smalltalk would qualify as agile given it's edit/continue capabilities and so on. ;-D Now that CS departments are waking up and smelling something besides coffee, having mired themselves in "Java as a first language" for far too long, doesn't mean we now have to diss Java. That long CS tail doesn't wag our Python's head, praise Allah. > > Lists, dictionaries, top level functions and objects, > > a concise model of the OO paradigm... __rib__ syntax. > > A honking great idea, to coin a phrase. Let's have more of those, please. > > mt > I'm having a lot of success teaching Python, but I do it a particular way only *some* will consider imitating. I populate the field of mathematics with Python-coded "math objects" (polynomials, polyvertexia, finite groups and such). We learn about vectors doing vector graphics. We feel sorry for those poor slobs still using calculators. Plus we call it "gnu math" and don't think we need approval or management from CS types, who still mostly don't well understand, let alone open source, this kind of pre-college material. Kirby _______________________________________________ Edu-sig mailing list [email protected] http://mail.python.org/mailman/listinfo/edu-sig
