3 ms·
I have mixed thoughts on this. On the one hand it feels obvious that this kind of lobotomized programming experience will be stultifying. On the other hand fact
by User23 3y ago
I have mixed thoughts on this. On the one hand it feels obvious that this kind of lobotomized programming experience will be stultifying. On the other hand factorio shows what a gamified interface makes possible and I don’t see any reason it couldn’t be easily adapted for tablets.
- ece 3y agoMindustry runs on Android and iPad I see.
- maxbond 3y ago> On the one hand it feels obvious that this kind of lobotomized programming experience will be stultifying. As someone who learned to program in Scratch many years ago, don't worry about it. I've written in languages from Python to Assembly, I've worked professionally as a programmer, etc. It's fine. As far as I can tell, the best way to teach someone to program is to enable them to pursue their own projects and to help them when they get stuck before they get so frustrated they give up. (Maybe there are learning styles I'm not aware of, this is true of myself and of people I've met.) When I meet people who want to program but can't (which has happened approximately twice, one of them did come back to programming after a few years & succeeded), it seems to be because they didn't have access to sufficient support, and stupid issues (especially development environment issues) wore them down. Scratch is a tremendous help in both respects. It comes out of the box which cool stuff to do (eg, I made dumb games and animated little movies). It's simple enough for nonprogrammer adults (like teachers) to learn and help debug.
- DonHopkins 3y agoSnap! is like Scratch, but not at all lobotomized, with the full power of Scheme. Check out my other posting about it, and the links for lots more information. https://news.ycombinator.com/item?id=36755852 https://news.ycombinator.com/item?id=36755852
- DonHopkins 3y agohttps://people.eecs.berkeley.edu/~bh/hiding.pdf https://people.eecs.berkeley.edu/~bh/hiding.pdf 7. On the other hand, we are about to unveil a radical unhiding: showing users the innards of expressions and procedure bodies via macros and metaprogramming. The central feature making this possible is the ability to convert back and forth between executable code (the blocks and scripts that we've always had) and syntax trees: lists of lists of the individual blocks and constant values (such as text and numbers), the building blocks of expressions and scripts. That conversion overcomes the only weakness of block languages, namely, that programs aren't data, which makes them harder to manipulate programmatically. 7½. Pedagogically, this is an extension of the self-reflection by means of non-hidden continuations, which call attention to the sequence of events in executing a script, and which we inherited from Scheme. Continuations are conceptually simple for the implementor, since they already exist in any interpreter for any language, and it's just a matter of making them visible to users. But they're not conceptually simple for users! The fact that they can be called repeatedly, and from outside of the script in which they were created, feels like magic. And it is; it's the magic of "everything first class." But the point here is that we didn't add this feature in response to a specific pedagogic need. Rather, explicit continuations help advanced programmers write advanced programs, and a few library blocks. And they're a way to plant the flag of Scheme in Snap!, which was a big part of our motivation.