86
$\begingroup$

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?

$\endgroup$
  • 103
    $\begingroup$ Coffee. Obviously. $\endgroup$ – Strawberry Dec 8 '17 at 9:56
  • 12
    $\begingroup$ I would have said debug, 'de' 'bug' get it? $\endgroup$ – Master Yoda Dec 8 '17 at 10:04
  • 7
    $\begingroup$ @MasterYoda Even funnier in Dutch where 'de' means 'the' $\endgroup$ – EpicKip Dec 8 '17 at 10:27
  • 3
    $\begingroup$ I think the answer is "a user"... $\endgroup$ – Ben Dec 9 '17 at 17:53
  • 10
    $\begingroup$ @Ben Most programmers would agree that users are not their best friend. $\endgroup$ – Stevoisiak Dec 9 '17 at 18:19
119
$\begingroup$

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.

$\endgroup$
90
$\begingroup$

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

$\endgroup$
  • $\begingroup$ That’s a really creative solution I hadn’t thought of! $\endgroup$ – Stevoisiak Dec 8 '17 at 5:24
  • 1
    $\begingroup$ Much wisdom and truth this answer holds... Love this puzzle (+1) and this answer (+1)... and the correct one (+1) was important too I guess. $\endgroup$ – Brent Hackers Dec 8 '17 at 7:43
  • 2
    $\begingroup$ Very first thing that came into my mind when I read the title, too (even before reading the actual question). $\endgroup$ – Janus Bahs Jacquet Dec 8 '17 at 22:18
  • $\begingroup$ Somewhat inspired by the wisdom of Homer Simpson :) $\endgroup$ – brichins Dec 12 '17 at 21:51
  • $\begingroup$ I think Java works better for most of these answers! $\endgroup$ – SeanR Dec 13 '17 at 10:48
19
$\begingroup$

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.

$\endgroup$
  • $\begingroup$ I like this one. $\endgroup$ – CodeMonkey Dec 13 '17 at 8:30
16
$\begingroup$

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.

$\endgroup$
  • 9
    $\begingroup$ Unfortunately, a lot of programmers demonstrate that a brain (or, more accurately, programmer usage of the brain to think through a problem) is not essential. $\endgroup$ – Peter Dec 10 '17 at 0:13
  • 1
    $\begingroup$ I disagree with "computers are incapable of processing information like a human brain - the brain is the one computer that outclasses any other computer." I don't even see how people can feel that way tbh. $\endgroup$ – theonlygusti Dec 10 '17 at 17:44
9
$\begingroup$

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

$\endgroup$
  • $\begingroup$ "it takes a ton of time to compile even simple programs" - surely that just refers to the part of "loading solutions". If not, I think you misspelled MSVC :) $\endgroup$ – sehe Dec 8 '17 at 7:52
  • $\begingroup$ I was thinking Java, because it's generally known to be a resource hog (and its relationship with a computer can easily be anthropomorphized as a physically and emotionally abusive partner that spends your money and beats you every now and then), but because of its popularity it statistically employs most programmers so that's probably a thing to be happy about. $\endgroup$ – Chavez Dec 8 '17 at 12:14
8
$\begingroup$

I would say it's the;

"Stack Trace"

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.

$\endgroup$
  • $\begingroup$ This and 'Exception' or 'Error catcher' is the true answer. There are so many bad answers in here... $\endgroup$ – insidesin Dec 11 '17 at 5:38
6
$\begingroup$

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.

$\endgroup$
3
$\begingroup$

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.

$\endgroup$
  • 3
    $\begingroup$ A little tenuous... $\endgroup$ – smci Dec 8 '17 at 20:45
3
$\begingroup$

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.

$\endgroup$

Not the answer you're looking for? Browse other questions tagged or ask your own question.