From the time you enter school, you get taught that asking questions is good. It sparks your curiosity and helps you make sense of the world. You’ve probably heard that if you have a question, at least one other student has that question as well, so why not just ask it? By asking questions, you can gain guidance through a difficult task, provide additional knowledge, increase your communication skills, and the list goes on. But as you grow older and time starts to diminish with work, school, or chores, you begin to learn that time is valuable. Therefore you learn to ask clear and concise questions that others will enjoy answering; these are good questions. On the other hand, bad questions are often not well thought out and show an apparent lack of effort or knowledge on the topic.
A powerful question is one that is framed clear, easy to understand, and without any vagueness. As we live in the age of information, it has never been easier to have your questions answered. “Just google it,” and within seconds, an answer pops up. However, what if there isn’t an answer? If the question hasn’t been resolved, asking a query may be beneficial if written well. Formulating a good question is what Eric Raymond’s “How To Ask Questions The Smart Way” hopes to teach his audience. One of the easiest things to do before asking another person a question is using your resources to answer the question yourself, whether through the web, a manual, or a FAQ page. Doing so establishes that you took the time to help yourself before wasting another person’s time. If a solution is still not found, using an online forum or group discussion page may be your next step. However, here make sure to formulate your question right. Make the question precise and informative about your problem. In terms of programming, describe the symptoms of your bug/issue, the device you are using, what resources you have already tried to use, any diagnostics you ran, or even the source code to the problem. By being informative and clear to understand, you increase your chances of a reply, and this also helps others diagnose your issue and provide you with an exact solution.
One example of a good question is posted on StackOverflow: “Why is processing a sorted array faster than processing an unsorted array?” by GManNickG. In this question, GManNickG creates an integer array populated with random integers. GManNickG then uses a for loop to add all values over a particular value. However, GManNickG notices that when the array is first sorted, the runtime is almost six times faster than when the array is unsorted. Within this post, GManNickG includes a short description of his problem, with two pieces of code formatted correctly in a code block. They then follow it with a diagnostic of the time difference between summing a sorted and unsorted array. Additionally, they showed that they attempted to use their resources to tackle their problem by adding a short description of their approach to the problem. Lastly, they included resources they used. This shows the reader that GManNickG used their resources to try and answer their question. However, when they drained all their resources, they reached out to the correct community with a valid question. Since the question was well written, they received numerous well-written answers in return.
On the other hand, a bad question is a waste of time for both parties. A lousy question can be easily found online or within paper resources. These questions can often be described as poorly thought out, lack of effort, or unrelated questions. One example of a bad question is posted on StackOverflow: “‘C’ i couldnt understand how i can add two matrises” by Eda Kurt. In this question, Eda states they are a “begginer about c and i need help about it please help.” They then include code in a code block with no explanation, comments, or documentation. Firstly, Eda does not have an attractive title. Something as simple as “Error while calculating sum of two matrices in c” would’ve been a better title and would’ve attracted more attention. Secondly, Eda needs to fix their spelling and grammar! Reading their first sentence was a waste of time, and many would have probably skipped over the question. Eda also provided no documentation to their code. This provides no clear goal or question to answer. Although two people tried to help Eda out by generally explaining how to add matrices and how to represent them in C. Many others simply thought the best solution was redirecting them to StackOverflow: “How do I ask a good question.”
As you can see from the two questions, asking questions can provide you with answers. However, asking a good question can leave you feeling fulfilled, while a bad question can leave you even more confused. A good question is where the reader enjoys the little puzzle you left them to solve; this puzzle includes all the pieces, rules, and information needed to solve. In contrast, a bad question is a puzzle with little to no rules or information provided, making it useless. In this ever-evolving technological world, asking questions is crucial for adapting and learning. However, remember, if it’s a simple(bad) question, why not just ask google?