define bug --plain-english
Bug
TLDR:When something in software breaks, everyone calls it a bug.
When something in software breaks, everyone calls it a bug. It sounds almost cute, like a little gremlin snuck in. It's simpler and less mysterious than that.
A bug is a flaw that makes the software do something other than what you intended. That's it. Not a virus, not an attack, not the computer "having a moment." Somewhere a human (or an AI) wrote an instruction that's wrong, didn't account for a case that came up, or set something up incorrectly, and now the program misbehaves. The button does nothing, the total adds up wrong, the page crashes on certain inputs. Each is a bug: the gap between what the software was supposed to do and what it actually does.
The name has a real origin story. In 1947, engineers found an actual moth stuck in a computer's circuits, causing a fault. They taped it into the logbook, "first actual case of bug being found," and the moment stuck. (Engineers had used "bug" for faults even before that, so the moth didn't coin the word, but it's the most famous case of one.) So when you hear "there's a bug," picture that: something small in the works making it behave wrong. Not malice. A flaw.
The mental shift that helps you, especially working with AI: a bug isn't a moral failing or a sign someone's bad at their job. Bugs are normal. All software has them, the famous polished apps on your phone included. Code is a huge pile of instructions, and getting every one right for every situation a real user will throw at it is genuinely hard. The job isn't writing code with zero bugs, which is impossible. It's finding and fixing them faster than they cause trouble.
This is where the last few terms connect. When a bug actually trips, the program often prints a stack trace, the black-box confession of where it broke. The log is the running tape where the evidence of a bug piles up. Finding a bug usually means reading those to spot the one instruction that's wrong. So "I'm chasing a bug" decoded is: something's behaving wrong, and I'm hunting the exact spot responsible.
One thing this reframes about working with AI. When your AI writes code, it writes bugs too, because it's doing the same hard thing humans do. That's not a reason to distrust it. It's a reason to test, to read the stack trace when something breaks, and to expect a round or two of "that's not quite right, fix this." Bugs aren't the exception in building software. They're the weather.
A bug is just a flaw in the software, a real moth in the machine once, now anything that makes it do the wrong thing. Every program has them. The skill isn't avoiding bugs. It's hunting them down.