Re: What have you tried?
- From: Joseph M. Newcomer <newcomer@xxxxxxxxxxxx>
- Date: Sun, 14 Dec 2008 02:55:39 -0500
It is not generational. When we had the Device Driver book published in 1999, our
publisher got an irate demand from a reader who felt he had been cheated. So they asked
me to call him. He was clearly someone probably between late 40s and early 50s (this came
out in a conversation of how many years he had been a programmer) and he was deeply upset
that, having bought a 1500-page book, he couldn't turn to, say, page 857 and find the
complete secrets of how to write a printer driver (never mind that the code for a printer
driver is itself massive, and it is one of the most complex driver types around). I
called up the publisher and basically said "he's a nutcase" and explained why.
The only bad rating I got in my Systems Programming course was from a student who, having
taken the course, realized that I had not told him how, in complete detail, how to convert
his company's application to run multithreaded! He apparently expected to walk out of the
couse with a complete multithreaded solution to a problem I never heard of. He seemed to
be offended that all I did was describe principles of multithreading and we only did three
multithreading labs that week (since they didn't directly solve his problem, he felt they
wasted his time). He was someone in his late 40s.
The problem really starts in introductory programming courses. The goal is to produce a
printed result, and the principles that produce it are irrelevant. One of my colleagues
discovered that the student apparently didn't think the instructors were going to waste
time reading the code, so he had a ton of code that he downloaded from some site, but all
it did was compile. The actual program consisted of about ten printf statements that
printed out what he thought was the correct answer.
One thing which annoys me are the people who somehow think that we can magically intuit
the error message, the related source code, the declarations, the values of the variables,
etc. The classic "my program failed, what did I do wrong?" question.
Another typical annoyance is the person who take some completely bizarre approach to
solving a problem, and is asking how to implement a bad or impossible solution instead of
asking how to solve the problem. So I saw a question asking how to make a thread handle
for a kernel thread available in user space so the thread could be suspended, without a
clue as to why such an idea was completely stupid. That suspending any thread that is in
an unknown state is stupid. That having user code reach into the kernel to manipulate a
kernel thread was stupid. That considering the remotest possibility that exporting a
handle from the kernel to user space for a kernel thread, so the application could suspend
the thread, was stupid. He had a solution in mind, however inappropriate, and wanted to
know *how to implement it*, without once having considered that there was not a single
aspect to the implementation that could be construed to make sense. Or the guy that
thinks that a switch statement is a sensible substitution for object-oriented programming,
and resents the suggestion that different view classes should be used for different views!
There is apparently a total inability to actually READ CODE! I just answered a question
in a different forum where the question was "I got error code <large decimal number>".
Apparently he never heard of "hexadecimal"; when converted to hex, a simple
search-in-files found the error definition in one of the header files. But he had no
ability to think beyond simple formulaic models.
We have all the header files, but people seem to think that if the formulaic solution
doesn't compile, there is no possible way for them to discover the obvious just by reading
the code. How have we managed to produce a generation that cannot understand the basics
of problem analysis? That to ask a question means saying "my program crashes" and can't
tell an access fault from an assertion failure, don't know how to use a debugger, wouldn't
even THINK that actually looking at the values of their variables might produce useful
information? This predates the Java Generation.
I do not find myself having much patience with people who cannot report a problem
correctly, or have made ZERO attempt to discover anything about the problem; when they get
the compilation error, they immediately post a question without any useful information
that would even make it possible to answer the question. But where did the educational
process fail?
I just had five days with several really bright students who asked insightful questions,
understood the problems, and wanted good answers about principles of programming, not
formulaic incantations. All is not lost. But there are far too many in the complementary
set.
joe
On Wed, 10 Dec 2008 08:04:50 -0600, "PvdG42" <pvdg42@xxxxxxxxxxxxx> wrote:
Joseph M. Newcomer [MVP]
"AliR (VC++ MVP)" <AliR@xxxxxxxxxxxxx> wrote in message
news:3fy%k.6470$hc1.3340@xxxxxxxxxxxxxxxxxxxxxxx
Interesting read, about people who ask questions on forums.
http://mattgemmell.com/2008/12/08/what-have-you-tried
AliR.
<soapbox alert>
Amen, brother. I think it's a syndrome brought on by "no discipline" parents
and a severely flawed public secondary educational system (to be clear, I'm
talking about the US public education system.). I teach IT courses at a
local college and I see this all the time. I refer to it as the "baby bird
syndrome", where the student refuses to use help, read docs, or attempt any
online research to solve problems, and expects the prof. to supply complete
solutions. ("Feed me! Feed me!...")
While I try to force students to develop good problem solving and research
techniques, I'm always amazed at those who seem willing to to expend far
more energy and time trying to get me to do their work for them, than an
honest effort to do it themselves would require :-)
I guess I should be thankful for the good ones who get it and go on to
succeed. Thay make it all worthwhile...
</soapbox alert>
email: newcomer@xxxxxxxxxxxx
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
.
- Follow-Ups:
- Re: What have you tried?
- From: David Connet
- Re: What have you tried?
- References:
- What have you tried?
- From: AliR \(VC++ MVP\)
- Re: What have you tried?
- From: PvdG42
- What have you tried?
- Prev by Date: Re: How to check that scrollbar of CListCtrl is being visible?
- Next by Date: Re: inter application messages
- Previous by thread: Re: What have you tried?
- Next by thread: Re: What have you tried?
- Index(es):
Relevant Pages
|