On Mon, Mar 23, 2009 at 5:33 AM, Bert Freudenberg <b...@freudenbergs.de> wrote: > On 23.03.2009, at 10:38, kirby urner wrote: > >> Not really directed at Turtle Art proposal no. >> >> I think [...] that there's a backlash against lexical coding as that means >> typing > > Not at all, in my opinion. It's not against having to type, it's about > covering distance one step at a time. > > I like to compare the issue to this: When kids first start to understand and > speak themselves, it would be quite detrimental if they were forced to use > correct grammar or even speak the punctuation out loud from the beginning. > They will have enough time to learn that later, after the basics of language > are internalized. >
OK, I at least understand the rhetoric I think. Provide a forgiving learning environment in which some kinds of mistakes aren't "punished" or even considered relevant. You're still learning a heckuva lot and we'll get to those niceties down the road. The next question is whether to buy it... > When you introduce the concept of programming, learning the syntax is only > one of the challenges the student has to master. If you can focus on > statements, sequences, passing arguments etc first without having to > introduce syntax at the same time, you remove one big hurdle. > I guess I'm somewhat inclined to turn it around and say "here are some language games where syntax really matters a lot" i.e. we're going to have fun getting immediate feedback if so much as a period is out of place. This takes the place of Latin and/or Greek in the old classical curriculum, what they gave to elites long before "machine logic" was a reality -- yet they still wanted something "fascist" to drill around, along with lots of arithmetic (only one right answer i.e. very strict as well...). That being said, some of the games substitute "punctuation type" syntax (e.g. significant whitespace) with "graphical type" syntax -- more like a jigsaw puzzle except with way more permutations. It's like throwing something away by dragging an icon to the trash: the liberal visual syntax says "at least hit the trash can but the angle of approach and speed of the dragging are somewhat irrelevant" (freedom!). > Now Python is simpler than most popular languages but I'd still say it is a Or even unpopular ones in terms of what you can do with it... > needless complication for beginners. The best argument for starting with > Python anyway is that that the available graphical tools are insufficient. Or maybe the argument is strict syntax is the main thing you care about e.g. you're a music teacher and the next step is programming in musical notation for multiple instruments. You learn some Python first -- building on some experience with related f(x) math notation for eating and operating with number 'n string types -- on the theory that a tightly constrained lexical environment is your ticket to becoming an orchestra conductor down the road someday, or something similar. In sum: expose yourself to strictness because of strictness down the road. What's so attractive about using REPL for feedback is the computer corrects you "impersonally" and in the privacy of your own experience i.e. you don't have some "other adult" saying "no that's not it" over and over. A lot of adults just want that freedom to make mistakes in peace and in solitude, would prefer not to run Python over the web because they think some "teacher" might be "keeping score". That probably sounds overblown, but I'm trying to circle part of what I think machine executing languages contribute towards healing and/or saving "a broken math pipe" (the problem of too many students feeling forever heartbroken that math will be never be "their thing" -- we want them to love it again, reopen those doors). There's a kind of authoritarianism in math pedagogy / andragogy that you get away from once there's a feedback cycle that lets you practice to make perfect, even better than having answers in the back of the book. Now (at last!) you get to "practice" like you would with a skateboard, or with with a tennis racket and ball against the wall. You can even doodle, i.e. write goofy little scenarios around Foo and Bar that're just idle experiments -- but in your dreams, it's all about storyboarding for some career (and not that unrealistically maybe, is the promise here...). > Most of them are a dead end, they do not lead seamlessly from the graphical > representation to the textual one. I actually have quite some hopes for > Alice 3 (although regrettably they chose Java instead of Python as in Alice > 1). > > - Bert - > That seems as clear a visionary statement as any, thanks for adding in to this thread. I'm always trying to figure out what this "pie in the sky" for children thing even is, i.e. what would it look like if we finally had it (a syntax-free coding language?). Is it MIT's Scratch? Maybe closer to Alice 3 then. I'm still somewhat baffled and/or a semi-skeptical. I like having lots of visual *analogies* for adults, even corny ones or cliches. But the thing about analogies is they don't have to "work" i.e. here's a short animation, but we're not building a whole new language on the side, something that'll run independently, is if daydreaming about driving your car could replace actually driving a car someday. But then that's what a GUI is really doing in so many cases i.e. you have all these mousy ways to move icons around, isomorphic to bash cp and mv commands with those files. And when we slide widgets from a palette to a canvas, it's not unusual to have a few hundred lines of lexical code autogenerate as a result of that process. That certainly helps pay the bills. I'd like Python to come with more of those tools, not fewer. You'd think Microsoft would have done it with IronPython by now, given as a veritable dot net "BASIC killer" with all that Visual Studio / Visual FoxPro style drag and drop drippy goodness. But then I think Microsoft is mired in BASIC and its derivatives much as some in the health care industry are mired in MUMPS. There's an army of hungry mouths to feed, a constituency, and they want it to work in the language they know already, and learned from you, Microsoft, your hero and role model in terms of strong-arming a way. Would you dare turn your back on your customer base, given your role and reputation? That'd be like voting against a war that'd make the prime contractor in your district a boatload of money, add jobs, the same contractor that helped you get elected in the first place... It's fun watching FOSS on Windows, how that works or doesn't. At least once there's a FOSS browser in the picture such as Mozilla, it's pretty easy to go thin client and do the FOSS stuff in the back office. In getting away from thick clients, just using HTTP for everything, we bypass all that thick client complexity for basic data coordination. Use special analysis tools like SPSS or Mathematica on your own workstation, sure, but for shared research data, break free from Access and run more code on the back end. FOSS shines in providing strong SQL engines, and is starting to offer some great "schemaless" document storages as well (thinking of both CouchDB and Tokyo Cabinet, perhaps the basis future medical record systems, keeping SQL for research registries, e.g. NCDR). Anyway I guess it comes back to the notion that ordinary living is "programming" in the sense of sequencing events, being inside of data structures and so on. Syntax matters in the sense that sitting on a two legged stool is asking for trouble. When you go to the theater, they hand you a programme. That's the genesis of "scripting languages" (Wittgenstein walks toward the fireplace...). One of the fun things about those "immersive world" approaches is you come often across strict syntax in an embedded context inside that very world, e.g. you get to play chess with some Queen of Hearts, as some Alice in some wonderland (presuming that chess is both strict and syntactical -- we could argue not I suppose). Kirby _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig