I am a computer’s nightmare, but a programmer’s best friend.
I am both the cause of a problem and the source of its resolution.
What am I?
I am a computer’s nightmare, but a programmer’s best friend.
I am both the cause of a problem and the source of its resolution.
What am I?
How about
Stack Overflow (the error and stackoverflow.com at the same time).
I am a computer’s nightmare,
If I was a computer, I wouldn't like these errors at all. Too much data to keep track of.
but a programmer’s best friend
stackoverflow.com is one of the best places to go to if you get stuck while programming, according to this
I am both the cause of a problem
If you get a stack overflow error, you have a problem. There is not much you can do once this error happens.
and the source of its resolution.
You might be able to find help on stackoverflow.com, for example here.
Coffee (or soda)
I am a computer’s nightmare,
Ruins a computer if spilled on it
but a programmer’s best friend.
Programmers love coffee to keep themselves going
I am both the cause of a problem and the source of its resolution.
Coffee causes a problem by fueling overwork, leading to fatigue - which is solved with more coffee
The answer is
the electron framework.
I am a computer’s nightmare,
Drains major amounts of resources for simple apps.
but a programmer's best friend
Who doesn't like easy GUIs and a single language?
I am both the cause of a problem
Poor UX due to lag.
and the source of its resolution.
Better UX due to ease of development.
I think it could be
the brain.
I am a computer’s nightmare,
Computers are incapable of processing information like a human brain - the brain is the one computer that outclasses any other computer.
but a programmer’s best friend.
A brain is a required and useful tool when writing code.
I am both the cause of a problem and the source of its resolution.
Any bug caused by "the brain" will ultimately need to be resolved by the brain as well.
Visual Studio
I am a computer’s nightmare,
Because it takes a ton of time to compile even simple programs
but a programmer’s best friend.
It does make finding and checking errors easier
I am both the cause of a problem and the source of its resolution.
Sometimes gives idiotic errors; solution is not to use it
How about:
The user
I am a computer’s nightmare,
As soon as a computer comes into contact with a user, things start going wrong. The user tries to do something that the programme wasn't designed for, does something the wrong way, ignores instructions, cannot see things, generally breaks everything.
but a programmer's best friend
The user pays your salary...
I am both the cause of a problem
The user does things wrong, changes their mind how they want to do things, doesn't think like a computer
and the source of its resolution.
The user is the most effective bug hunter you can get and either asks for, or by doing things wrong points the way to better, more user-friendly design.
I would say it's the;
It's the computer's nightmare
When computers crash (application software, to be specific), they sometimes throw a truckload of textual information on the screen which nobody understands and just hangs (blue screen of death, anyone?). It's the worst thing which would happen while using the computer so it's a nightmare in the user's perspective.
But a programmer's best friend
These "stack trace" information would make sense to the application programmer. It contains a list (It's actually a stack) of instructions which were executed just before the application crashed. (Hence the name "Stack" in Stack Trace)
It's the cause of the problem
Showing this Stack Trace is actually the problem as well because, ideally the application should've given a better error message and would've shutdown gracefully or either continue to work on other parts of the application. But unfortunately the programmer wasn't too smart to predict it so there we have it.
And the source of its resolution
Although it's a show stopper, the information shown there is vital for the application programmer to trace to the root cause of the problem. (Hence the part "Trace" in Stack Trace). Because the line numbers and the instructions shown there really is an invaluable source for the programmer to fix the problem.
printf debug statements
Nightmare for the computer?
They're slow, and hence frequently the cause of problems in their own right (commonly known as Heisenbugs, because the act of observing changes the thing being observed).
Programmer's best friend?
They're the quickest and dirtiest debug method, and they're often the most expedient way to figure out what's going wrong.
The solution is:
Programming errors Reported by the computer
I am a computer’s nightmare,
It's quite Hard to get the exact errors reported out of the computer to the programmer.
but a programmer’s best friend.
A friend in need is a friend indeed!
I am both the cause of a problem and the source of its resolution.
Errors are the cause of the program's incorrectness but once known they help in resolving themselves.