tags:

views:

1064

answers:

21

I've been going through Stack Overflow for quite a bit now and noticed certain people (usually experienced programmers) frown upon Googling (researching) certain problems.

Since I myself tend to use Google quite a bit to solve certain programming related issues I found certain comments rather demoralising. Now some of you may have come here trigger happy to delete this post but I needed some clarification.

I usually Google things that are syntax related and that I would have never figured out on my own. For example I once wondered how to access the properties of a class that I didn't have a direct relationship to. So after a bit of research I discovered reflection and got what I wanted.

Now in another scenario is learning a new language, in my case Silverlight were it differs in certain aspects of .NET compared to say ASP.NET. A few weeks ago I had no idea how to load another Silverlight page (usercontrol) and had to Google my way to the solution which I found wasn't as simple as I had imagined.

In scenario three is were I myself frown up, that is just stealing a huge chunk of code to avoid doing the work yourself, for example paging a HTML table using JavaScript, where one just copies and pastes the JavasSript code without as much as trying to understand how it works. I do admit I have done this once or twice before for trivial tasks that had very little time limit and weren't all that important but most of the time still have to throw away what I found because it took too much time to adapt it and get what I wanted out of it.

In the last scenario, I sometimes have a piece of code that I would be really unhappy about, as in I find it sloppy or too overcomplicated and try to look on the Internet to see other ways to tackle the same problem, let's say filtering through a table. With the knowledge I acquire I learned new coding practices that help me work more efficiently like "Do not repeat yourself" and such.

Now in your opinion when do you find it wrong to use Google (or any other researching tool) to find a solution to your problem?

A: 

Just about anything that finds the right answer is OK in my book. I personally couldn't imagine doing my job without Google as I'm constantly asked to do things I have no idea how to do.....

Joe Casadonte
+43  A: 

Why would it ever be wrong to google something? It's just another means for finding an answer or learning more. If it leads to a dead end, well, at least it was an easy and quick way to check something out.

fig
What you said. +1
Andrew Bullock
Google may give you a "quick answer," but you have less assurance it's a "good answer" or even the "best answer". Those are things you can get from a peer-selected answer, like SOFlow offers.
Jonathan Sampson
I agree with you, but I still wouldn't consider it wrong to ever google something. At worst it's a starting point, imo.
fig
@Jonathon Sampson, you'll have an even LESS chance of knowing when it is a good answer when you don't even know ANY possible solutions. Learn one solution, learn two, learn three, then find out which is best.
Alex Baranosky
What GordonG said!
Gary Willoughby
+3  A: 

"Googling it" is wrong when you think it absolves you of having to think any more about the problem, and when you don't analyze your solution and see if it actually fits.

Coming from the biological science world, all your research rests on the shoulders of those who have come before you. Sometimes you re-use, sometimes you do something novel. Sometimes you do the exact same thing, and you see something different. It's all good.

alphadogg
So googling it isn't wrong, being stupid is :)
Alex Baranosky
Okay, if you want to over-simplify it... :)
alphadogg
A: 

When it's homework.

chaos
Why should Googling something be different than reading a book or asking a teacher? It's just a different way of getting the information you require. If it's copy and paste after Googling, then even asking a teacher or reading a book is just as bad.
Mussnoon
A: 

Sometimes googling an answer uses much more time than asking it here. If the difference in time becomes to big just ask it here.

Informations on Google are not always good. For example when you google for solutions on HTML problems a lot of not-so-good sites appear, often at the top.

Georg
+22  A: 

I don't think Googling for information is so much frowned upon as is copying code from a random site on the Internet (even this one) without really understanding that code. Most example code you see online doesn't do a proper job of error handling, for one example, since it's usually only intended to illustrate something else.

Bill the Lizard
Agreed. If you're googling to learning and apply that's one thing, if you're googling to blindly copy/paste, that's another.
tvanfosson
Good answer. When I write code for articles I try to exclude anything that complicates the code and dilutes the message, such as exception handling or validation. Unless you understand the concepts, you could be copying something that really needs expanding upon for production-quality code.
BlackWasp
@BlackWasp: Exactly. I do the same thing. In fact, I cringe a little when I see example code that obscures its real point by including those things.
Bill the Lizard
+4  A: 

Donald Rumsfeld, former Secretary of Defence, made this quote in 2002:

There are known knowns. These are things we know that we know. There are known unknowns. That is to say, there are things that we know we don't know. But there are also unknown unknowns. There are things we don't know we don't know.

Googling is fine when you're dealing with known unknowns ie things you know you don't know. Where googling can get you into trouble is when dealing with unknown unknowns. So, you don't need to know how every Javascript framework works--or even how any of them work--you just need to bea ware that they're there and roughly what they do. If you ever need to program with one you can look it up.

Known unknowns.

On the other hand if you don't know there are Javascript frameworks and you start googling on how to use DOM methods and so on you're probably going to make some pretty big mistakes.

Unknown unknowns.

cletus
I'm sure it's not rumsfeld who said it first. There's a longer quote that gives a similar meaning: "He who knows and knows that he knows is a wise man, follow him. He who knows not and knows that be knows now is a student, teach him...(to next comment)
Mussnoon
He who knows but knows not that he knows not is sleeping, wake him. He who knows now and knows not that he knows not is a fool, leave him."
Mussnoon
Whos the quote from?
cletus
I have no idea. Sorry.
Mussnoon
-1 rumsfeld is @#%$!%, don't cite his saying as if he's a wise man!
hasen j
hasen j, the quote is fine, get over it. +1, good answer.
unforgiven3
The original quote is a proverb from Indian wisdom, as far as I know. And yes, Ramsfeld is a @#%$!%.
Ionuț G. Stan
Its a management-bollox training thing. You get a square grid with the 4 options on it, and then describe to managers that there are (gosh) some things they do not know! Rumsfeld explained it very badly.
gbjbaanb
The Rumsfeld quote reminded me of this article: http://www.slate.com/id/2081042/
Kyralessa
I know the quote is fine .. the -1 because it's not really by Rumsfeld, even though he said it.
hasen j
Well, with all due respect, noone said the concept originated from him. Yet his version is well known.
cletus
+2  A: 

It's never wrong. I look at Google (and any search engine) as the starting point to a world of knowledge, just as I treat the technical book I own the same way.

In the case you've mentioned, Google may help you find a new practice but the key is to understand why it's a better practice. One need to combine information with understanding. Google gives you the knowledge but only you can create the understanding.

Sean
A: 

I'd agree completely with Joe - getting the solution is the important thing. I'd also on the point about difficulty completing tasks without google as a reference.

There are often times where I'm looking for something like a .NET class definition in MSDN, and it ends up being easier to search in google to find the relevant MSDN page rather than use MSDN search directly - mad, but I'm sure MSDN isn't the only resource where this is the case.

Stuart McLaughlin
+2  A: 

Google is your friend. I see nothing wrong with researching and I often find that using Google gets me to answer quicker than any other method. I take some answers with a grain of salt.

I also use newsgroups, although I answer more than I ask. You can Google groups for a trove of information and this is often a great method of finding information.

I use Google almost exclusively for Microsoft searches, as the MSDN engine is not the greatest. They are getting better, however, and I might switch one day. Just not today.

I am not sure who the "advanced developers" are that frown on Google. Admitedly, it is harder to find very advanced topics and the signal to noise is greater once you get deep, but saying "search engines suck" simply because you have to refine your search to find some gold is just plain stupid, IMO. Google is a tool in your arsenal. If you can't find what you need, try other tools.

Gregory A Beamer
MSDN search was brilliant... back in VS4 days :(
gbjbaanb
+1  A: 

When you are at a Job Interview.

Fortyrunner
A: 

I think the "experienced programmers" you mentioned would frown upon using Google when it would be used as a shortcut to not "doing your homework"..
For example, upon learning a new language, one should get a book and learn it in a structured way, not the "groping in the dark" search-engine-provided way :) ("Let's see, how do you do loops in PHP?" and so on)

Joril
A: 

I think that Google works as an extension of our memory and brain at this point. It's like you would search your memory for an answer. In a similar way, by train of associations and words, you also search Google.

mannicken
+2  A: 

Usually the frowns are for not googling, from the collegial "Google is your friend", to the abusive "Just f****** google it", and now the gently chiding "Let me google that for you".

13ren
The "gentle chiding" can get quite insulting sometimes when the questioner has already searched google and the person suggesting googling has no idea on what the questioner is talking about. Someone did that to me couple weeks ago and they actually hid the link in a tinyurl...don't ask anymore.
Mussnoon
I totally agree - often it's just an excuse to be mean to someone, but at least it's less abusive than the previous one. BTW: the site automatically makes a tinyurl for you (disclaimer: I've never used it on anyone, except in my answer above).
13ren
A: 

I think it really just comes down to this...

Are you using Google as a research tool to learn something new or to gain a better understanding of something? If so, then great!

Are you using Google to do the work for you without advancing your own knowledge? If so, then shame on you.

Matt Flowers
A: 

Some people here have tried saying Google is rubbish compared to a peer-reviewed site like SO. Well, if you were asking what's the favourite coding joke I'd agree with you, but for serious answer, SO can be just as reliable as Google.

The bottom line is that no site will ever free you from requiring some analytical thinking. All of them are just starting points to help you get to the correct answer, so you can use any and all of them as much as you wish as long as you bear that in mind.

gbjbaanb
+1  A: 

Even scenario 3 (cut-n-paste) has a place: when something is needed now; proof-of-concept/tracer bullet/demo; standard boilerplate code; a starting point for your own code. Arguably, it's not that much different from using a library (or a language). I imagine it can also become a skill, to make flashy progress incredibly quickly.

What is frowned on, as you do yourself, is "cargo cult coding", which is an instance of the more general not knowing what you are doing. This can also happen through trial-and-error hacking (like driving by touch) or when the code slowly gets too complicated for you to grasp it... and you start to feel a bit nervous about it.

I think the issue isn't even the not-understanding - but the not-caring-to-understand. That's frowned on.

13ren
+1  A: 

If Google is your only way to find information, even if it be just the starting point, you have a kind of vendor lock-in situation. What if Google (hypothetically) disappears? Or starts charging $1 for each search? As far as I know, nothing prevents them from doing it. The dangers of vendor lock-in are often underrated, and it's yet much more dangerous if you've vendor-locked your brain, i.e. you can't search information in any other way. You don't get away from such a situation with money. Ok, this was an exaggerated example, but I hope it made my point clear.

Another thing is that not all information is in Google. If you ignore the other means of getting information, it's a loss.

Joonas Pulakka
+1  A: 

Googling is never wrong. You should use every resource you have at your disposal, and in my humble opinion... Google is one of the best resources we have - the real knowledge base's store the data - Google makes it much quicker to search all of them at once.

-also-

"Googling" is definitely not "vendor lock-in". It’s just a very convenient way to search multiple vendors at one time (eg, SourceForge, CodeProject, PSC, & MSDN). If you found the ultimate resource, you wouldn’t avoid it because it might one day disappear would you?

NTDLS
I didn't write that anyone should avoid Google. I wrote that one shouldn't let it become one's _only_ source of information. Google is arguably the best single information source today (I'm using it lots myself), but it's not the only one.
Joonas Pulakka
Very true, and I may have totally interpreted your awnser wrong. I myself hardly use anything that Google doesnt lead me to. I actually found this site by googling my own code. :)
NTDLS
A: 

Only when Wiki says not to. Wiki is God; let no one tell you differently. If it is not on Wiki, it does not exist yet. ;)

TSSH
+1  A: 

If it can be Googled, then it's ok to Google it.

That's why interviewers would be much better off not testing interviewees for specific technologies, but for things that require time, patience, and wisdom. Things like design consideration, thought process, logical thinking ability. Those things can't simply be Googled for, and are usually much more valuable in the long run than say, someone who has looked up everything there is to know about technology X.

Sam Pearson