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.
@glyph Like how you have to get the cheat codes and all the secret game controller moves by buying some game guide. That's emacs.

@suzannealdrich one of my coworkers at EA once joked that watching me use Emacs was like watching someone play a fighting game really well, and I spent the next 3 weeks writing a lisp program called "emacs-kombat.el" that would track my combo streak and print out ringside announcer type messages in the minibuffer based on how many modifier keys I was using

sadly this hooked way too deep into the input handling in emacs to be generally maintainable and it is lost to time but it was a good gag