Hey there Tom, great to hear from you!

Yeah, after the earlier conversation on Gitter I posted here since this 
sounded like more of a Julia issue than Plots specifically. I hadn't 
noticed your response there.

My main experience with a REPL is Matlab, so I come with that bias. I would 
argue that I can't think of a time you would want to suppress a plot 
window, or UI window in general. I agree on suppressing console output, but 
not so much with UIs. Matlab defaults to displaying with an explicit option 
to disable that.

At the very least I would think that having show=true as a default makes 
much more sense than not. At least more often than not I suspect that you'd 
want a window open, and certainly on first use.

The problem I see is, as a new user to the language, the results seemed 
very arbitrary. Sometimes a plot window showed up, sometimes it didn't, and 
it was hard to decipher why. 

Adding a print statement after a plot generated different behavior. I think 
that is fair to classify as a gotcha, it sure got me. 

The second issue is that the command executes/fails silently with no 
result, which is extremely hard to troubleshoot. I spent many hours today 
trying to track down what was going on before I finally understood the 
issue. I think defaulting to UIs being displayed would be a benefit to 
overall adoption, it would feel like things "just work", which was a big 
part of the reason I really like matlab, things just work in that 
environment, there are very few gotchas. I think that's a fair comparison 
to draw in this case. 

This is the most mind boggling of the cases, I had simply added a print 
statement for debugging purposes and had no concept that it was drastically 
changing the execution flow:

function test(); plot(); end; test()            # UI window opens
function test(); plot(); println(); end; test() # Silently fails

Of course now I understand that I can wrap it in display() or enable the 
show=true setting. But I'll bet a lot of people following me will run into 
this too.

 

Reply via email to