The underused brain ?

It would be very unkind to quote examples but I regularly come across questions where it is very clear that the OP has not spent any time thinking about his problem or about what each step of his code does.

I can understand that programming may look a bit overwhelming for a newcomer who has no experience of the different concepts and techniques that are commonly used.

However the sorts of “no-thought-given” problems that I refer to usually involve simple pieces of code and issues that I think should be obvious even to a newcomer.

And quite often these issues prompt more experienced people to make some less than diplomatic comments in reply and that can seem very hostile to a beginner. Such remarks may also make the problem feel more complex to the beginner.

If I was talking to someone face-to-face it would be easy to draw attention to the fact that they were not using their brain. But that is more difficult on the Forum where there is not a fast-responding and one-to-one relationship.

Has anyone any useful suggestions for getting the message across “put brain in gear” in a less offensive and more constructive way ?

Maybe someone has come across some text (online or in a book) that people could be referred to ?

…R

I don't really think there is an answer to them, as they all share the same fatal faults

  1. The inability to read the instructions.

  2. They also seem to think that the rules don't apply to them.

  3. Expect others to do the work for them.

Mark

And quite often these issues prompt more experienced people to make some less than diplomatic comments in reply

Hey, I resemble that remark. 8)

Has anyone any useful suggestions for getting the message across "put brain in gear" in a less offensive and more constructive way ?

Something wrong with "Hey, dumbass, think!"? OKAY, there probably is.

Maybe someone has come across some text (online or in a book) that people could be referred to ?

Would they read it? I doubt it.

Many times I have directed new posters to read Nick Gammon's two posts at the top of the Forum, since it is obvious that either they didn't read them, or they chose to ignore them. I would see nothing offensive with saying something like:

Welcome to the Forum. Please read the two posts at the top of this Forum by Nick Gammon, then spend a little time thinking about and reframing your question along what is said in his posts. You'll get a lot more favorable response here if it's clear that you tried to solve the problem on your own. Knowing that you made the effort and the way your post relects that effort, will help us help you.

It wouldn't hurt them to read your post, Robin, as well.

It would be nice if the forum software would detect a first post, and display a short paragraph (maybe containing some links) to explain the important points of seeking help here. Maybe require a checkbox like a EULA dialog to proceed with the post. :)

Maybe require a checkbox like a EULA agreement to proceed with the post.

Without enforcement, that would, unfortunately, be just about useless.

[] You can't post here until you check this box.

PaulS: Without enforcement, that would, unfortunately, be just about useless.

[] You can't post here until you check this box.

Put it at the bottom of NG's 'read before posting stickys' but don't tell them. When they find they cannot post anything they will either give up or read the sticky to find out why.

One of the issues here is, I think, that the Arduino (and indeed many modern devices, like phones) are marketed as being “easy to use”. For example, on the Arduino home page:

Arduino is an open-source electronics platform based on easy-to-use hardware and software. It’s intended for anyone making interactive projects.

It’s intended for “anyone” and is “easy-to-use”. Right. So users come into it with the expectation that anyone (eg. non-programmers, people who know nothing about electronics) will find it “easy”.


Second, although those of us that are used to C/C++ find it easy to read, for a newbie, it must look hopelessly confusing (as it did to me when I switched from Pascal).

Consider the brackets: { } ( ) < >

They mean something to us, but not to beginners. Why should this work:

int foo (int a) 
  {
  b = c;
  }

But not this:

int foo {int a}
  (
  b = c;
  )

No obvious reason, it’s just how things are.


Then there are the functions .

Our code is littered with “voids”. Example:

void loop ()
  {
  foo ();
  }

In other languages (eg. Lua, PHP, Javascript) they are functions:

function loop ()
  {
  foo ();
  }

No wonder users think that we C programmers must call functions “voids” and bang on about what their void is doing.

This is not intuitive. And for people who have been told that it is “easy” they get confused, angry even.


Calling functions. In some languages (eg. Pascal) if a function call takes no arguments, you can omit the brackets.

So people write:

turnPumpOn;

And expect it to work. Now we know it doesn’t but it isn’t obvious why.


The bottom line is, they are seeing a different world to us. We need to be patient. Of course we wish they would read the FAQ, the posting guidelines, use code tags, and try Google before posting an obvious question. Sadly, that doesn’t always happen. :slight_smile:


PS. Moving this to Bar Sport, it isn’t a programming question. :stuck_out_tongue:

I find it very disappointing to discover that the "authorities" consider this a trivial and inconsequential subject fit only for the Bar Sport section.

I started it with the serious intent of trying to gather collective wisdom towards the goal of helping newcomers with their programming.

Clearly I was wasting my time - and my own brain cells.

Very disappointing !

...R

Chill, Robin, it clearly isn't a programming question. If you can suggest a better place on the forum, I'm all ears.

What do you seriously propose as a solution?

I've suggested, many times, that the forum have some boilerplate for first posts by newbies. This could suggest various resources (like the FAQ, posting guidelines, reference pages, etc.) and also suggest that they clearly state their problem, their hardware, and post their code.

Here's one of my attempts: https://github.com/arduino/forum-issues/issues/113. You are most welcome to go onto GitHub and try to push that issue up in priority.

So far it is unassigned, with no milestone. So you aren't the only one that gets the impression this isn't urgent.

So far so good for trying to help newbies.

Now I'm trying to help you, me, and other frequent posters by suggesting that they be patient with newbies, and explaining why this is a reasonable thing to do.

If you would be kind enough to point out how all this is disappointing, I'd be pleased to hear.

Oh yes, if I was an "authority" - this would have been done by now (my suggestion about the boilerplate).

[quote author=Nick Gammon date=1438070567 link=msg=2333607] Chill, Robin, it clearly isn't a programming question. If you can suggest a better place on the forum, I'm all ears.[/quote] I can't think of a worse place than here in Bar Sport

There is no rigid law about what can stay in the Programming section.

What do you seriously propose as a solution?

It has been in my mind that it would be useful to write a short essay or tutorial (in the style, say of Stepper Motor Basics) that newcomers could be referred to.

I had been hoping to get some serious feedback or ideas from people on the Forum. However I see no possibility of serious feedback while it is Bar Sport. Bar Sport and "serious" are opposite ends of the spectrum.

The message I am getting by the move to Bar Sport is "don't waste your time"

...R

I can't think of a worse place than here in Bar Sport

I'll have to second that. I almost never go to the Bar Sport part of the forum, and wouldn't be here now if this topic hadn't been moved.

Perhaps this really belongs in the Website and Forum section, since, after all, the post is (was?) a serious attempt to discuss how to make the forum a better place. The focus, clearly, was on improving the Programming section of the forum, so having the discussion there is not out of place.

It's not really about the website, but OK, moved.

It's about people and their interaction with us.

It's not really about the website, but OK, moved.

Its about the forum, isn't it?

And, thank you.

It's about people and their interaction with us.

That interaction happens on the forum.

aarg: Maybe require a checkbox like a EULA dialog to proceed with the post. :)

PaulS: Without enforcement, that would, unfortunately, be just about useless.

[] You can't post here until you check this box.

Riva: Put it at the bottom of NG's 'read before posting stickys' but don't tell them. When they find they cannot post anything they will either give up or read the sticky to find out why.

Now that is an excellent idea! :grinning:

Thank you - this is a better location.

However IMHO (as the originator) it is about helping people to learn to program - hence my original choice of location.

…R

The long trip from Earth to Uranus and back to Mars seems to have knocked all the life out of this Thread.

...R

I’m not sure there is an easy answer, Robin.

I was just doing a "bump" in the hope that some others might notice the Thread and contribute.

My personal view is that it had more exposure while in the Programming section.

...R