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…
Home-Cooked Software and Barefoot Developers
101–110 of 179 posts
Re: Home-Cooked Software and Barefoot Developers
#102If 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…
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
#103Earlier 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.
Re: Home-Cooked Software and Barefoot Developers
#104Earlier 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.
... 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
#105Earlier 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…
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
#106Earlier 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…
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
#107Earlier 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...
Re: Home-Cooked Software and Barefoot Developers
#108Understatement 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
#109Unpopular 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…
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
#110Earlier 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.…
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.