Comment by vram22

8 years ago

I third this. Speaking from personal experience. I sometimes try to implement the logic of some library or algorithm myself, even if I know there is well-known or canned solution for it. For the same reason as you and your parent comment said.

Interestingly, some people (typically newbies who are looking for rewards without commensurate effort. but others too) do not think that way, and even sometimes don't like it if such suggestions are made. I once made such a suggestion to a poster (an obvious newb) on comp.lang.python. He asked how to do some small task in Python. I suggested that he may learn more if he tried it on his own first. He misunderstood the intention behind the advice, and made some comment to the effect that my idea was not helpful, or something like that. Another regular pitched in and pointed out that my comment was meant in the spirit of helping him learn better, because a) if you try it yourself first and do get a solution, you just got better at something, and it will boost your confidence, and b) even if you do not get a solution, you will learn that the thing is not as easy or trivial as you thought (or why were you asking in the first place, except if wanting others to do your work for you) (which would happen if you just blindly used some library to do it). And will gain a new respect for the depth of your profession and all that it entails.

Related: How To Ask Questions The Smart Way:

http://www.catb.org/esr/faqs/smart-questions.html

It's by Eric Raymond, author of The Cathedral and the Bazaar and The Art of Unix Programming.

There are many interesting points in that article, e.g.:

http://www.catb.org/esr/faqs/smart-questions.html#noprivate

Seen people ask for private replies. IMO some of them do it because either a) they don't want to be seen as not knowing the thing if it was obvious, or b) not wanting others (likely their peers) to get the answer too. Both not good.

>...sometimes don't like it if such suggestions are made

I'll admit to occasionally being frustrated by comments like this. It's important to remember that not everyone is looking to learn. Sometimes, they just need to get something done ASAP.

It's a bit idealistic to assume that everyone has time to learn the canned solution. The real world doesn't always allow for that.

  • True. I did not mean it as an absolute statement. I did say above:

    >I sometimes try to implement

    It's each person's call, on a case-by-case basis. Had just shared my view with that newb, thinking it might help him.