Frustrated with frustrated beginners

If your perspective is as a beginner, face it, you are a beginner. What do you expect than? It’s fine asking here and getting help (as a beginner). The rant ist not fine after you got the help you needed. If you don’t like Julia, because you are a beginner and find something hard to understand, you have options: Stay with Matlab, or take what you get from the community and learn (and finally leave the perspective of a beginner when your become master). Why this anger? About something you don’t understand obviously?
Well I don’t get it and don’t want to know.

The Stacktrace should not be shortened as someone said. It’s important often enough.

Here we are again: Julia is marketed in a very bad way. Not as a programming language (like C++, well OP, try C++ and than you will be happy with Julias error messages), but as a Matlab alternative, which it isn’t. Matlab is NOT a programming language, it’s a tool set, with a scripting language included. Matlab is like SAS or Origin or RStudio (not R). Julia is like Java, C++ or Python. There are differences. And Julia should NOT be seen as a faster Matlab!!! This is why we have these problems with threads like this.

Or this: Blog post about my experiences with Julia

People nearly scratch the surface and starting to rant.

This fine community take these ridiculous secretions and start to make them constructive, where the OPs have no clue about what they write about. This is really great but it often enough overflows my threshold. And it encourages this negativity out of ignorance. And this one and some others in the last days produced my stack overflow and this is my rant against this. Thanks, I need a break from you (not from this fine community). Just check how much feedback the negative posts get. And check how much those get, who always try to help and stay friendly, OVER YEARS!!!

Well, I take my break now. Others will help and give solutions, where I will not for a time. OP and @Volker_Weissmann and all the other nice beginners, think about it what you consume and what you give back. I wish you a nice day! My day is ruined.

6 Likes

I am also very frustrated by seeing that almost all those posts, like “oh my Julia code is 100x slower than xx language”, get a dozen even hundreds of replies. But those very constructive posts, like great package ANNs, feature discussion, performance and workflow tips, are always ignored and buried in those rant posts.

1 Like

Broad criticisms are often relevant to many posters, and are something many people have opinions on and are capable of chiming in on.

Package announcements, in particular, are often quite specialized, and often of interest to someone working in a related field. If I search for: Search results for '[ANN] in:title #package-announcements order:latest_topic' - JuliaLang
there are many great packages that people are contributing for free, and it’s a great thing to see, in the abstract sense.

But I don’t have anything to say about them. None of the top 50 of them are relevant to my work, so I may click ‘like’, and that’s it.

There are many wonderful contributions that each impact a small number of posters in a positive way. But for most people there isn’t anything to discuss, let alone disagree passionately about.

“feature discussion, performance and workflow tips”, otoh, tend to get a lot of traction, as far as I can tell.

If you think beginner questions/criticisms should be mostly ignored, or just quickly dismissed, then I don’t think that will happen. But maybe you can filter out “New to Julia” or “First steps” tags?

7 Likes

I know that these posts can sometimes be frustrating to read — but please remember that they’re also quite frustrating to the original poster, too. There are often things we can learn from posts like these and ways we can remove some of these frustrations for others, and so I don’t want to scare away folks from posting such things.

If you don’t want to participate in such threads, I’d ask that you just close the window and walk away.

30 Likes

Maybe there should be a new category or tag or whatever the right Discourse word is for threads that contain some frustration venting? I also don’t know if this is possible, but maybe if such a tag existed it would be possible for users who find these kinds of threads particularly bothersome could filter them out of the latest feed or something? Or, at least, it would be easier to know not to click on the thread.

I recognize that this is not ideal because it is probably even more frustrating for a user who thinks they have identified a real problem to have their post get tagged with “venting”, so maybe there is a better word choice there. But maybe some idea like that is possible.

I’d fear such a tag would quickly devolve into “pile ons” and as you say really doesn’t feel great when someone else then tags your post like that.

2 Likes

That’s a good point about the piling effect, which definitely is real. I guess something like that would require a bit more thought. I sympathize with users who find threads like this one slightly frustrating and I could also believe that even if somebody doesn’t participate in the thread reading through it can change their experience on a forum like this. But alienating new participants is definitely also a big concern. Oof.

1 Like

That’s essentially Cunningham’s law:

“The best way to get the right answer on the Internet is not to ask a question; it’s to post the wrong answer.”

10 Likes

This post feels unnecessarily personal. The New to Julia section specifically invites beginner questions, and brands itself as a place where beginners can openly admit being confused during the learning process:

Everybody is new to Julia at some point. Whether you are struggling with the installation or you just can’t figure out why you are not seeing the performance everybody else seems to be talking about, this is the place to start!

Julia has some quirks that are difficult for beginners to make sense of. Every language does. But Julia is still being built, and in some cases, it may be helpful to identify common pain points that new users experience, so that these issues may be addressed most effectively either under the hood, or in the documentation.

20 Likes

I absolutely agree that questions like the one you asked should be, and are, welcome, and that you posted it in the right place.

However, I invite you to go back and read your posts over again, and see if there isn’t something in the tone that gradually pushes an initially innocent question towards a rant. I think that is what is causing the flare-up of emotions.

(Personally, I tend to get a bit triggered when people want Julia to be more like Matlab. Speaking as a long time, and current, Matlab user. When I see that, I basically get scared, and that’s not a good mood in which to discuss.)

8 Likes

For me it is understandable if someone like @oheil who is around forever trying to help and educate people on the forum loses his cool for once if a new user uses formulations like

to characterize stack traces, which are an invaluable tool to diagnose problems (someone remember C?) and

regarding the type system, which in my experience is an important part of the language we have to understand to achieve our goals.

Edit: acceptable → understandable.

2 Likes

May I suggest a relaxing tag like: stress-relief

3 Likes

Fully agree with @mbauman here.

Maybe one thing we could do to make the experience better for both sides would be to collect frequent complaints, similarly to how we already collect frequently asked questions. It seems that a lot of the complaints people starting out have have already been discussed at length in other places, so I think collecting either solutions and workarounds for these issues or explaining that some areas like compilation latency are actively being worked on and have already seen drastic improvements could be valuable. Then we could focus on the parts that maybe haven’t received that much attention yet and that might be more straightforward to address.

5 Likes

We should admit type printing can be pretty verbose though and can be improved. It’s pretty informational, but come on, 5 line types due to massive numbers of type parameters isn’t the best way to show this information :sweat_smile:. Let’s throw them a bone on this one.

15 Likes

Not a new problem, though;)

There’s a big difference between insulting an error message and insulting a person.

It should be okay to point out how cryptic and unhelpful an error message is. It feels less appropriate and rather unconstructive to rant about fellow members of the forum.

3 Likes

@goerch I strongly object to that framing. @chadagreene was nowhere close to being out of line here. Note that all of those statements are I statements — they’re not blasting the language directly, but rather reporting how he reads them. These are things that are beneficial to hear! We should be able to see the challenges, sympathize with the frustration, work with the poster to avoid the problem (by education), and continue work that improves the language (by maybe addressing the root cause or improving error messages or documentation or somesuch).

This is precisely why @oheil’s original post was flagged and hidden.

11 Likes

I disagree that losing one’s cool is something we should condone. Even for more experienced and well respected members. If it is (and it may well be) someone’s only exposure to our community then this is a tragedy.

We are a community of people from many backgrounds and Julia is a language for many types of programmer. Some programmers are experienced, set in their ways, and like to complain about how Julia does things in a stupid way and that we’re stupid for liking it. We might graciously disagree, and provide some examples where this particular aspect may be useful. Other programmers are inexperienced and/or are coming from scientific domains. They may complain about what may seem to them to be unnecessary complexity or obfuscation in the language’s design. Again, we might respectfully disagree and provide examples and explanations as to why something is done some way.

People are much more receptive to their minds being changed when the tone of the response is respectful and when the reply acknowledges their struggles and that Julia isn’t a perfect language.

We should strive to be known as the friendliest, most welcoming, helpful community. If people want to come here to complain and rant they should be met with, at worst, a swift (respectful) dismissal and stoic responses and at best should come away feeling a little embarrassed to act so brashly on our forum.

With all of this said, I have a lot of respect for those who take the time to reply to newcomers’ and potentially disgruntled individuals’ posts. I just hope that we can all appreciate that many (especially newer) programmers may not be used to the sometimes blunt, dismissive responses that you may receive on StackOverflow or the internet in general. Since we cannot know who will respond negatively to such replies, we must try to assume good intentions, good spirit, and perhaps a little naivety.

9 Likes

You might have a point there. So we apologize for a possible insult then!

1 Like

I agree. But on reflection, wasn’t the error message actually pretty good? It’s just the stack trace (coming after) that was daunting, and probably distracting.

1 Like