Live data from Hacker News

Home-Cooked Software and Barefoot Developers

maggieappleton.com

101–110 of 179 posts

Re: Home-Cooked Software and Barefoot Developers

#101
post #69

People just don't care and won't do it if it requires more than a fleeting thought to get it done. Excel is comically powerful and only a tiny fraction of users have any interest in tapping into that. Every step of the way, for the last 50 years, pretty much all parties involved have actively worked to move away from end-user programming. Words can't describe how happy I would be if that wasn't the case, but it's bet…

I think the point is that, rather than "requiring everybody on the planet to reevaluate how they interact with a computer", Maggie's idea is that computers should be reevaluated with regard to how they interact with people. Like another person earlier in these comments, I am much more skeptical than her that LLMs are "the answer" to enabling non-professional-programmers to create -- more importantly to modify and compose -- chunks of deeply custom software, but in principle I'm in sympathy with the sentiment. People do care. It's just that almost all software they interact with is deeply brittle, change hostile, black-box. You can change almost nothing about it beyond some superficial tweaks, and composing different pieces of software into a working "something else" is mostly impossible. I suspect that the very notion of an "app" is something we have to get past in order to make progress on this...

Re: Home-Cooked Software and Barefoot Developers

#102
post #29
post #24

If I have learnt one thing working in software engineering, specifically on AI-enabled products empowering junior engineers, and using Copilot professionally, it’s that you need even more experience to detect the subtleties in the lack of the models understanding of your domain, your specific intent. If you don’t know exactly what you’re after, and use the LLM as a sparring partner to bounce your ideas off, you’re in…

> you don’t learn by figuring out a new concept This. If LLMs were actually some magical thing that could write my code for me, I wouldn't use them for exactly this reason. Using them would prevent me from learning new skills and would actively encourage my existing skillset to degrade. The thing that keeps me valuable in this industry is that I am always improving, always learning new skills. Anything that discourag…

In other words, your objection isn't to LLMs, it's to delegation, since the exact same argument would apply to having "some magical thing that could write my code for me" be your co-worker or a contractor.

It's fair for the type of code you want to write for your own growth. But even with that, there's more than enough bullshit boilerplate and trivial cross-language differences that contribute zero (or negatively) to your growth, and is worth having someone else, or something else, write it for you. LLMs are affordable for this, where people usually are not.

Re: Home-Cooked Software and Barefoot Developers

#103

Earlier quoted context omitted.

This is not really a new problem, the previous version being "idk, I copy pasted it from stack overflow." True expertise realized that the answer often lay buried in sub-comments and the top voted answer is not often the correct one. LLM's naturally do not realize any of this.

Almost every “Copy-Paste from SO” answer was accompanied with lots of caveats from other human commentators. This feedback loop is sorely missing with LLM coding assistants.

LLMs literally read all that commentary in training, so they're taking it into account, not regurgitating the top-voted answer from SO. They're arguably better at this than junior devs.

Re: Home-Cooked Software and Barefoot Developers

#104
post #73
post #65

Earlier quoted context omitted.

They are not there to fix defect, they are there to detect them.

Sure, but it's LLM - so this would be mix of some of the real defects (but not all of them) and a totally fake defects which do not actually need fixing. This is not going to help junior developers figure out good from bad.

> this would be mix of some of the real defects (but not all of them) and a totally fake defects which do not actually need fixing

... and real defects that you never noticed or would've thought of.

> This is not going to help junior developers figure out good from bad.

Neither is them inventing fake defects which do not actually need fixing on their own. What helps juniors is the feedback from more senior people, as well as reality itself. They'll get that either way (or else your whole process is broken, and that has zero to do with AI).

Re: Home-Cooked Software and Barefoot Developers

#105
post #29

Earlier quoted context omitted.

> you don’t learn by figuring out a new concept This. If LLMs were actually some magical thing that could write my code for me, I wouldn't use them for exactly this reason. Using them would prevent me from learning new skills and would actively encourage my existing skillset to degrade. The thing that keeps me valuable in this industry is that I am always improving, always learning new skills. Anything that discourag…

In other words, your objection isn't to LLMs, it's to delegation , since the exact same argument would apply to having "some magical thing that could write my code for me" be your co-worker or a contractor. It's fair for the type of code you want to write for your own growth. But even with that, there's more than enough bullshit boilerplate and trivial cross-language differences that contribute zero (or negatively) t…

If that's the only thing LLMs are good for, my money for improving software productivity is in good old fashioned developer tools.

A better language reduces boilerplate. A better compiler helps you reason about errors. Better language features help you be more expressive. If I need to spool up a jet turbine feeding H100's just to decipher my error messages, the solution is a better compiler, not a larger jet engine.

I myself have noticed this: a wild heterogeneity in the types of tasks for which LLM are helpful. Its appearance as a silver bullet withers the closer you get to essential complexity.

Re: Home-Cooked Software and Barefoot Developers

#106

Earlier quoted context omitted.

> ChatGPT will gleefully suggest you a wrong approach, just because it’s so intent on satisfying your whim instead of saying No when it would be appropriate Therein lies the mistake. Too many people assume ChatGPT (and similar LLMs) are capable of reasoning. It's not. It is simply just giving you what is likely the 'correct' answer based on some sort of pattern. It doesn't know what's wrong, so it's not aware it's gi…

>Too many people assume ChatGPT (and similar LLMs) are capable of reasoning. It's not. Sure it is, just like a child or someone not very good at reasoning. You can test ChatGPT yourself on some totally novel ad hoc reasoning task you invent for the task, with a single correct conclusion that takes reasoning to arrive at and it will probably get it if it's really easy, even if you take great pains to make it something…

> Sure it is, just like a child or someone not very good at reasoning.

That's a good way to think about it. Treat GPT-4 as having mentality of a 4 year old kid. A kid this age will take any question you ask at face value, because it hasn't learned yet that adults often don't ask questions precisely enough, don't realize the assumptions they make in their requests, don't know what they don't know, and are full of shit. A four year old won't think of evaluating whether or not the question itself makes sense, they'll just do their best to answer it, which may involve plain guessing what the answer could be if one isn't apparent.

Remember that saying "I don't know" isn't an innate skill in humans either - it's an ability we drill into kids for the first decade or two of their lives.

Re: Home-Cooked Software and Barefoot Developers

#107

Earlier quoted context omitted.

> just because it’s so intent on satisfying your whim instead of saying No This really, really, really needs to be fixed. It's probably the most irritating (and potentially risky) part of the whole ecosystem. Nothing more infuriating than being give code that not only doesn't work, but upon the most casual inspection, couldn't possibly work -- especially when it's done it four or five times in a row, each time assuri…

This problem will be solved with a vengeance when the next OpenAI model is released, because it will incorporate Stackoverflow content[1]. [1] https://www.wired.com/story/stack-overflow-will-charge-ai-gi...

The "it can only get more better with time" proponents would do well to learn about diminishing returns.

Re: Home-Cooked Software and Barefoot Developers

#108
"I'm not saying everything Mao did was great"

Understatement of the (20th) century!

Some interesting ideas. But it seems to make out that nearly all professional software is developed by mega corporations in California. But there are lots of small software companies, open source developers and hobbyists developing a vast range of apps for different niches. More would be good, though.

Re: Home-Cooked Software and Barefoot Developers

#109

Unpopular opinion inbound: what will spark a barefoot developer revolution is not LLM auto-coding, its making spreadsheet software more easily extendable and FUN. By extendable, I mean doing things like generating and sending emails, and using plugins to integrate with external services. By fun, I mean non-enterprisey, something that one would WANT to engage in as a hobby and that a total novice can pick up and gradu…

I love this take. Spreadsheets are one of the coolest low-code things ever that even normies can have fun with.

At my first job out of uni, a telco had a 25+ sheets spreadsheet each with 1000s of rows and accompanied by some normie VBA scripts , to basically power optical network allocations …

I was amazed and terrified when I first saw it. Absolutely no source control.

Speaking of spreadsheets, is there a spreadsheet with built in source control?

Re: Home-Cooked Software and Barefoot Developers

#110
post #105

Earlier quoted context omitted.

In other words, your objection isn't to LLMs, it's to delegation , since the exact same argument would apply to having "some magical thing that could write my code for me" be your co-worker or a contractor. It's fair for the type of code you want to write for your own growth. But even with that, there's more than enough bullshit boilerplate and trivial cross-language differences that contribute zero (or negatively) t…

If that's the only thing LLMs are good for, my money for improving software productivity is in good old fashioned developer tools. A better language reduces boilerplate. A better compiler helps you reason about errors. Better language features help you be more expressive. If I need to spool up a jet turbine feeding H100's just to decipher my error messages, the solution is a better compiler, not a larger jet engine.…

> If I need to spool up a jet turbine feeding H100's just to decipher my error messages, the solution is a better compiler, not a larger jet engine.

You don't need a jet turbine and H100s for that, you need it once for the whole world to get that ability; exercising it costs comparatively little in GPU time. Like, can't say how much GPT-4o takes in inference, but Llama-3 8B works perfectly fine and very fast on my RTX 4070 Ti, and it has a significant enough fraction of the same capabilities.

Speaking of:

> A better compiler helps you reason about errors.

There's only so much it can do. And yes, I've actually set up an "agent" (predefined system prompt) so I can just paste the output of build tooling verbatim, and get it to explain error messages in it, which GPT-4 does with 90%+ accuracy. Yes, I can read and understand them on my own. But also no, at this point, parsing multiple screens of C++ template errors or GCC linker failures is not a good use of my life.

(Environment-wise, I'm still net ahead of a typical dev anyway, by staying away from Electron-powered tooling and ridiculously wasteful modern webdev stacks.)

> A better language reduces boilerplate.

Yes, that's why everyone is writing Lisp, and not C++ or Java or Rust or JS.

Oh wait, wrong reality.

> Better language features help you be more expressive.

That's another can of worms. I'm not holding much hopes here, because as long as we insist on working directly on plaintext codebase treated as single source of truth, we're already at Pareto frontier in terms of language expressiveness. Cross-cutting concerns are actually cross-cutting; you can't express them all simultaneously in a readable way, so all the modern language design advances are doing is shifting focus and complexity around.

LLMs don't really help or hurt this either, though they could paper over some of the problem by raising the abstraction level at which programmers edit their code, in lieu of the tooling actually being designed to support such operations. I don't think this would be good - I'd rather we stopped with the plaintext single-source-of-truth addiction in the first place.

> Its appearance as a silver bullet withers the closer you get to essential complexity.

100% agreed on that. My point is, dealing with essential complexity is usually a small fraction of our work. LLMs are helpful in dealing with incidental complexity, which leaves us more time to focus on the essential parts.

Post reply on HN