Between techniques like this, no-code, capable component libraries, and ML-driven synthesis, I could see a lot of easy application programming going away. Especially if the resulting output is literate, self-documenting, and easily amenable to later human editing.
The harder subjects seem like the design of complex schemas and algorithms, complex UIs, scaling, and systems-level integration.
Perhaps the easy/edge pieces will fall to automation, leaving the middle and low-level work to engineers and designers.
Many would consider that a condemnation, and probably a well deserved one too.
But I mean it in a positive sense: the democratization of development, the way DTP democratized printed expression (back when that was a thing).
Also hopefully means programmers can spend their time on more interesting and value-adding effort rather than having to take the time to simply put a button on the screen.
Of course the dream of rapid development goes back to FORTRAN.
> Especially if the resulting output is literate, self-documenting, and easily amenable to later human editing.
Big 'if' right there.
I can see 'solved' problems being increasingly automated away (how many times do we need to write basic auth systems?), but in order to automate the entire pipeline you would need:
- a specification language so detailed that it's basically a programming language
- assumptions so strong they're liable to be subtly wrong
ML can help, but we've all seen codex... we aren't there yet.
Wordpress and Wix already exist, as do similar things for phone apps. But when you need to customize those and add new plugins, themes or features and tie them together, you still need developers. If anything those tools and platforms create more opportunities for plugin and theme authors. The whole automation thing in software is nothing new. It just scales up demand for ever more kinds of complicated software products people want to buuild.
> I could see a lot of easy application programming going away
In my experience, "easy applications" are already something you can just go buy cheap, or even download for free - other than for the learning experience, there's no point in coding one.
The harder subjects seem like the design of complex schemas and algorithms, complex UIs, scaling, and systems-level integration.
Perhaps the easy/edge pieces will fall to automation, leaving the middle and low-level work to engineers and designers.