@krismicinski @shriramk @jfdm @csgordon @lindsey @jeremysiek goodness, I hope that prompting an LLM will not be a *huge* part of software engineering going forward. It's an incredibly inefficient way to go about the task. Frankly, I'm amazed at just how shoddy the current set of tools are.
@cross @krismicinski @shriramk @jfdm @csgordon @lindsey @jeremysiek It’s amazingly depressing to me, not because I worry about AI tools making the work obsolete, but because the remarkable effectiveness of AI tools in the face of their shoddiness drives home to me that the vast majority of programmers are redoing a thing that’s already been done most of the time. What a waste of human capital.

@steve @cross @krismicinski @shriramk @jfdm @csgordon @lindsey @jeremysiek As a professional programmer now almost 20 years out from defending a thesis that was about code generation, I can't upvote this enough.

LLMs are an incredibly inefficient way to do code reuse.

@gwozniak @steve @krismicinski @shriramk @jfdm @csgordon @lindsey @jeremysiek yeah, I was going to comment that you had said something similar a few days or a week ago.

It's wild to me that we keep writing the same program over and over again and calling it "progress."

@cross @gwozniak @steve @[email protected] @jfdm @csgordon @lindsey @jeremysiek
We were already doing this. The entire low-code/no-code movement was all about making sure we stopped doing that in some domains, though we built 20+ systems that each tried to do that. (-:

@shriramk @cross @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek At a certain level I am on board for the "coding assistant" kind of approach that LLMs allow for, especially for throwaway code or prototypes in research. Hell, that's the kind of thing I was into when I was doing research. I wanted this sort of thing!

Leaving aside the major externality problems with the current tools (but please, don't ignore them), I firmly believe LLMs are deeply inefficient. To me there is an interesting research area here: what is a more efficient version that works? And why did all the "no code" approaches before not work? Is it because they tried to be formal? Or is it not a technical problem?

I guess I lied a bit because I find the inefficiency of them to be at the heart of the externality problems that come with them.

And from an industry standpoint, massive code generation is a very sharp double-edged sword. That stuff has to be maintained. So when there is a problem and you have reams of generated code to debug, do you debug it or just generate it all again? But if you do that, will it be the same as it was before? Because latent bugs often become vital features.

@gwozniak @cross @steve @[email protected] @jfdm @csgordon @lindsey @jeremysiek
We may have different interpretations of the no-code world. They seemed to work very well, but they were always scoped in very niche domains; the ones I studied (I spent a whole winter break on them in 2021 or so) were never intended to replace general-purpose programming.
@shriramk @cross @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek That's true. Perhaps a better question is why they were never able to break past that barrier. And what even is that barrier.
@shriramk @cross @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek That said, some of this was marketed as such things. I remember Ruby on Rails being touted as making it so anyone can make a website, for example.

@gwozniak @cross @steve @[email protected] @jfdm @csgordon @lindsey @jeremysiek
Come on, we've been doing this for ages!

I use this as a slide from my GenAI + edu talk:

@shriramk @gwozniak @cross @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek
Wasn't COBOL invented so that non-programmers could specify programs?

Saying that "AI" will take away the need for programming is like saying that there's no need for lawyers because laws and contracts are written in English, and that's all that's needed to understand laws or write contracts.

PS: I noticed that everyone so far has skipped over the need for system-level tests to ensure that the specifications are implemented correctly. (And unit tests for the edge cases)

@PeterLudemann @gwozniak @cross @steve @[email protected] @jfdm @csgordon @lindsey @jeremysiek
Yes, and that's why Grace Hopper was ahead of us this whole time.

Nobody has "skipped" anything, my whole class on agentic coding is centered around writing lots of unit and then system tests.

@shriramk @gwozniak @cross @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek
I thought that the lesson of COBOL is that it's as difficult to write precise specifications as it is to write programs. (And COBOL compilers worked because somebody(s) had taken the trouble write down a precise specifications from COBOL to machine code)
@shriramk @gwozniak @steve @krismicinski @jfdm @csgordon @lindsey @jeremysiek I mean, if BusinessWeek was going to put a picture of me on the cover, couldn't they have found one that was more flattering? (Well...obviously not me, but I definitely feel that way sometimes.)