for all their flaws, one of the things that "agentic coding" tools seem to be legitimately doing is addressing a big gap in the programming tool space: specifically, introducing discoverability.

as a non-musician, I can open up GarageBand and make some beeps and boops and maybe eventually even get music out

as a non-artist, I can open up Photoshop and smudge around some colors by clicking on random tools

as a non-modeler, I can open up Blender and… okay bad example. I can open up Maya and

point is, most software has an idiom where its functions are visually exposed. you can figure out how to make a note or a pixel or whatever and then everything else can eventually flow from there.

but software tools have not crossed that chasm for some reason. there were things like Prograph which never caught on, I gather that there are things like "node-based editors" for shaders & game logic in tools like Unity and Unreal, but these are extremely niche use cases

if you wanna learn Python you gotta get a book or a blog post or some kind of tutorial system and learn about abstract symbol manipulation. nobody uses a tool like Scratch for actual programming and making the transition from Scratch to a "real" programming language involves *abandoning* the discoverable interface and moving towards the text-based abstract symbol-manipulation UI idiom that we all use
this is to say nothing of learning of the metacontext of, like, a Terminal app and remote UNIX server shells and docker containers or whatever. just "a text file with source code in it" is an intimidatingly stark UI. all the stuff to make this "easier" (i.e. vscode, etc) does not make its fundaments any easier to discover, there's no "if statement" or "while loop" button anywhere, even with the most advanced tools in the biz you gotta know what to type to get started

@glyph oh god this is why I hate emacs and vi and all that. give me nano. or joe.

I always say, the real hard problems of programming are environment, permissions, and connectivity.

@suzannealdrich I love emacs and the flip side of this coin is that sometimes developing an abstract understanding of a complex model is actually deeply rich and rewarding. but in every other field we have managed to make the learning curve for the software to do it not be a brick wall that you slam into head first. it might be steep but it isn't sheer
@glyph I always was looking around for some kind of printable guide for all the magic keystrokes you need to memorize for these cool whizbang text processors, but they didn't seem to exist at the time. I guess if I spent more time on it, like I did memorizing my custom keyboard layout later on, it would have stuck.
@suzannealdrich personally I literally learned Emacs (and vi, simultaneously) from my father, it was handed to me like a goddamn lightsaber when I was 12 years old, which is one of the reasons I have a hard time recommending it; this is not a broadly accessible path to mastery
@glyph Yup, that's a big difference, when there's someone over your shoulder. I pretty much had to learn everything out of books and reading the docs and the early internet. I had a couple friends who taught me Linux but not the magic special keystroke things you have to memorize. I also don't really learn any other way than by seeing it in writing, written down somewhere. So if someone shows me something that's great, but it's immediately gone from my head. I need a cheatsheet.
@glyph Actually, I have a pretty good printer now so I should just actually do it and learn emacs keystrokes once and for all.
@suzannealdrich it's worth understanding the emacs idiom if you ever use macOS or iOS/iPadOS devices with a keyboard, because all the control-key cursor motion things (C-a, C-e, C-k, C-w, C-y) are built in to the native text widgets. in fact there's a secret, separate clipboard on macOS you can only access if you know the emacs idiom for copy/paste