@z428 I've seen quite a few friends teaching their kids basic coding using #Scratch. I imagine this would be particularly helpful for visual learners. I'm more of an aurul/ kinesthetic learner, so learning by coping code out of an eBook and hacking on it, with occasional tips from conversations with a mentor, is fine for me. Anyway, it's an example of a teaching IDEs that does more handholding than an experienced coder needs (or wants) ...
@alcinnz
@z428 @alcinnz another example of the same principle is when editing tools produce code, instead of #WYSIWYG. For example, where you select a bit of text, click a 'link' button in a toolbar, and paste in a URL. In #Xinha (at least the version we use on #CoActivate) doing that produces a WYSIWYG link. In other editors, it produces a link in #MarkDown for #HTML. The user gets the handholding, but can see easy it is to create that same code themselves. Demystification is key.
@z428 another thing I've thought about a lot is DE toolbar where every time I click a button on the GUI, there is toolbar where I can see what that does at the code level. In other words, what I would have to enter in a #Bash terminal to get the result as I got from pressing the button.
https://www.coactivate.org/projects/disintermedia/towbar
@alcinnz
TowBar - Disintermedia - CoActivate

@strypey @z428 I've been thinking of stripping the practice down to it's fundamentals and be extra clear that we don't *technically* need to add anything else. And use that to better communicate what it is we do.

So in practice most of what we do is to split problems down and build up solutions. And to abstract things.

And from the theory side we have data storage, conditions, loops, and I/O.