So a programming student wants help with homework - he gets help
and probably gets a better result and grade because of this help.
A 'proffessional' programmer asks for help - he gets help, he then presents
this work to his boss probably as his own work and maybe gets a pay increase or
bonus or maybe get a promotion.
I'd suppose the difference lies in the fact that the students questions might seem a little more repetitive and less of a challenge then the professionals questions.
Also, students, (being one myself) are often younger and with youth, patience often lack and thusly the format of the question could easily be interpret as respectless or slightly offensive.
And so you could get the feeling that the student basically wants the full result of the question and is in fact not that interested in personal development.
It is usually not a case of not helping, it is more a case of not doing it for them. It is all to do with how you ask for help. If it displays that you are trying to sort a problem out, not just asking for a hand out, then you will likely get help no matter who you are or your level of expertise.
Another thing would be if a 'professional' programmer answered as question from a student with no idea of the level the student is working at (source code), Then the student may get an answer that don't really understand and then have to spend more time asking how it works becoming a time sink to the person trying to help.
To add to what Grey Wolf has written I would say that people on these forums appear to be very willing to spend time to help others out.
The point is they want to help people learn and become better programmers - which providing complete solutions to be copied verbatum is unlikely to do.
People who are having problems with basic concepts will get replies that try to help them think in ways that will make these concepts clearer - and this will often start by saying things like 'Sit down and write out the problem clearly' - because 'experienced' programmers have learnt that this is an essential step in developing software.
In a very general sense, it is counter-productive to do homework for others.
The very purpose of your homework is to verify that you have understood a
subject and are able to apply the learned knowledge to solving specific
problems. By having someone elsedo the assignment for you, you are not
only cheating at your teachers, but also at yourself, since you pretend (and
perhaps even believe) to have acquainted knowledge and skills that you
actually don't have.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Most members of these forums are professional developers, who earn their
living by developing software - either as employees of some company or
organization, or as freelance developers and consultants. Their contribution
to CPLUSPLUS.COM is volountary, and often reciprocal: On one hand, we benefit
from the experience of others who help us when we face a specific, tricky
real-world development problem, on the other hand, we share our knowledge
and our experience when we can answer a question regarding a problem
that we might have already encountered and solved in the past: That's what
Codeguru is all about. Students asking for homework help don't fit that
picture very well: They usually demand help on some simple, but often
tedious coding problem (that most of us have already solved ourself years
ago at school), so it would be only time-consuming, but not very thrilling or
rewarding to write that code again now just to help you getting your
homework done. Think of it like this: Why should a professional developer be
spending half an hour (read: losing 60$ or more) on a problem he/she has
already solved long ago, just to make you pretend in front of your teachers
and classmates that you have solved the problem yourself, without ever
getting anything back from you?