Earlier quoted context omitted.
idk i think i'm pretty good w/AI in general, e.g. designed these using it: https://mtmc.cs.montana.edu https://bcp.cs.montana.edu but we can all be better i guess
bcp link is dead
Working With AI: A concrete example
71–78 of 78 posts
Re: Working With AI: A concrete example
#72Earlier quoted context omitted.
Yes, but "good ideas" compared to what? If you were aware of the better alternatives, you probably wouldn't be discussing those details with an LLM. You'd find that it just randomly gave you one. It might work, but you don't know how well until you're already entrenched. Nobody knows everything, so of course LLMs can be useful sometimes. More useful than plain old search, books, or even discussion with real humans? M…
> Yes, but "good ideas" compared to what? If you were aware of the better alternatives, you probably wouldn't be discussing those details with an LLM Even when I already have a good idea of how I plan to do something, I may still ask AI and then find it gave me better idea for some particular thing. I liken it to using GPS even when you know the route like the back of your hand. It can still steer you around an accid…
Most real world software tends to be exactly that kind of situation. You need the rest of the business to help decide every detail of a service that will be in production long term. You are not just on a hike. Business is conquest. You are setting up camp with the lofty goal of scaling to a settlement, then a town, etc.
This sounds dramatic, but I think many are too easily impressed/jaded. Some people can't believe it, but this is still very early days for software. We're barely at the point where, maybe, the layperson can just about build small trivial gadgets for themselves. Meanwhile, there are people out there sailing the seas and beyond.
Re: Working With AI: A concrete example
#73Earlier quoted context omitted.
Exactly, LLM is good at "code inpainting" : define clear structures and goals, and it will fill the boilerplate. But it doesn't work for reasoning and abstraction, so it fails to synthesise and propose novel views. But that's integral to the way it's designed and has been trained, to do a kind of "averaging" which limits it's capacity to explore novel designs
> But it doesn't work for reasoning and abstraction, so it fails to synthesise and propose novel views I disagree. Have a conversation with it about your problem and work through design decisions with it. When I do that, I find it gives me a lot of good ideas. Disclaimer: I'm not working on anything groundbreaking (like most people)
Re: Working With AI: A concrete example
#74Earlier quoted context omitted.
> Yes, but "good ideas" compared to what? If you were aware of the better alternatives, you probably wouldn't be discussing those details with an LLM Even when I already have a good idea of how I plan to do something, I may still ask AI and then find it gave me better idea for some particular thing. I liken it to using GPS even when you know the route like the back of your hand. It can still steer you around an accid…
If we are going to use the GPS analogy, not every trip is a route or even paved. GPS is notoriously unreliable when on a hike. You have to be a lot more careful than that. Most real world software tends to be exactly that kind of situation. You need the rest of the business to help decide every detail of a service that will be in production long term. You are not just on a hike. Business is conquest. You are setting…
That's why I added the disclaimer above: I'm not working on anything groundbreaking (like most people).
And I disagree with your premise overall, because I think the overwhelming majority of software development is much more like driving on a paved highway than it is like hiking through unmarked forest. Which is exactly why AI works so well: it's trained on thousands of examples of very similar solutions to very similar problems.
All of the hard work has already been done by people before us. We have the luxury of sitting down in front of incredible hardware, operating systems, fully designed languages, optimizing compilers, IDEs to fill in the blanks for us, and now AI to write up entire programs for us - none of which we had anything to do with the creation of. All we need to do is hook things together and slap on a layer of paint.
Re: Working With AI: A concrete example
#75Earlier quoted context omitted.
If we are going to use the GPS analogy, not every trip is a route or even paved. GPS is notoriously unreliable when on a hike. You have to be a lot more careful than that. Most real world software tends to be exactly that kind of situation. You need the rest of the business to help decide every detail of a service that will be in production long term. You are not just on a hike. Business is conquest. You are setting…
Sure, if you're one of the few that is building something truly novel, I agree AI will not be as useful to you. That's why I added the disclaimer above: I'm not working on anything groundbreaking (like most people). And I disagree with your premise overall, because I think the overwhelming majority of software development is much more like driving on a paved highway than it is like hiking through unmarked forest. Whi…
The difficulty comes from meeting the exact requirements and providing a reliable result. Would you be so sure of this opinion if the requirement was to write "a simple CRUD app", but it had to integrate with a poorly documented legacy system and was for a big client with an SLA that could sink the business? Many devs find themselves in that exact situation all the time. What you end up writing, with AI no less, is tomorrow's poorly documented legacy system.
You don't know what you don't know. I'm reminded of stories where people from Europe traveled to America and underestimated how massive it is. They thought "just a few 5 hour roadtrips" sounded relaxing. They overlooked the details and found themselves falling asleep at the wheel, thirsty/hungry, and backtracking for hours.
Re: Working With AI: A concrete example
#76Earlier quoted context omitted.
Sure, if you're one of the few that is building something truly novel, I agree AI will not be as useful to you. That's why I added the disclaimer above: I'm not working on anything groundbreaking (like most people). And I disagree with your premise overall, because I think the overwhelming majority of software development is much more like driving on a paved highway than it is like hiking through unmarked forest. Whi…
> the overwhelming majority of software development is much more like driving on a paved highway than it is like hiking through unmarked forest The difficulty comes from meeting the exact requirements and providing a reliable result. Would you be so sure of this opinion if the requirement was to write "a simple CRUD app", but it had to integrate with a poorly documented legacy system and was for a big client with an…
Yes, because I think the underlying patterns are the same. Get data, move it around, serialize/deserialize it, store, query, present. It's very unlikely I'm going to run into some new pattern that's never been seen in code before. This is exactly where I think devs are giving themselves too much credit.
I'm not saying AI can do it without my help either, I'm just saying is that it can help me do it better and faster than I could have done without it.
Re: Working With AI: A concrete example
#77Earlier quoted context omitted.
> the overwhelming majority of software development is much more like driving on a paved highway than it is like hiking through unmarked forest The difficulty comes from meeting the exact requirements and providing a reliable result. Would you be so sure of this opinion if the requirement was to write "a simple CRUD app", but it had to integrate with a poorly documented legacy system and was for a big client with an…
> Would you be so sure of this opinion if the requirement was to write "a simple CRUD app", but it had to integrate with a poorly documented legacy system and was for a big client with an SLA that could sink the business? Yes, because I think the underlying patterns are the same. Get data, move it around, serialize/deserialize it, store, query, present. It's very unlikely I'm going to run into some new pattern that's…
I agree that you could use AI to write the core functionality from scratch... or you can choose from one of dozens of available mature libraries that people have been using for at least a decade.
> This is exactly where I think devs are giving themselves too much credit.
Nobody is trying to take credit for libs they didn't write. Unless they're working solo, they rarely take credit for the code they do write either because the ideas came from the rest of the team and broader business needs.
Developer expertise is more like that of a bureaucrat than a craftsman. That has been true for a very long time. Those who are more interested in their tools and what they can do rather than what they draft for approval have always been the weakest devs.
What's most unfortunate is when someone charismatic and lacking experience jams their ideas through and makes a mess. This is the real reason you cannot get rid of the humans. There always has to be a bigger seamless plan. Humans are better at context and have much more of it.
Re: Working With AI: A concrete example
#78Earlier quoted context omitted.
> Would you be so sure of this opinion if the requirement was to write "a simple CRUD app", but it had to integrate with a poorly documented legacy system and was for a big client with an SLA that could sink the business? Yes, because I think the underlying patterns are the same. Get data, move it around, serialize/deserialize it, store, query, present. It's very unlikely I'm going to run into some new pattern that's…
The majority of code isn't there to merely be functional. I agree that you could use AI to write the core functionality from scratch... or you can choose from one of dozens of available mature libraries that people have been using for at least a decade. > This is exactly where I think devs are giving themselves too much credit. Nobody is trying to take credit for libs they didn't write. Unless they're working solo, t…