views:

448

answers:

10

Having programmed for a while now I have noticed that I am becoming more and more reliant on the internet and intellisense to do my job. But I was wondering how much that has effected my knowledge over the past year or so. But does this matter?

For example I am more likely now to remember that when I need to program against objects I have no knowledge about, I will go to the System.Reflection namespace and a quick look down the list will provide me with enough detail to get going again. But if you was to ask me which classes etc are required I would struggle to name them all.

This problem of remembering seems to manifest itself more when going for interviews when people seem to focus more on the minute detail of obscure areas of the .NET framework and not on the wide and varied knowledge and experience of the applicant. Anyway I digress.

Does anyone else think that maybe its time to turn of the intellisense and try and find better ways to learn, then quick fixes and work arounds of the internet?

+11  A: 

Have you read Charles Petzold's essay on the subject? There's some thought-provoking stuff there.

I'm not sure that it matters too much that you don't know things off by heart. Yes, it's a problem for interviews - but that shows that the interviewing process doesn't match reality.

I certainly wouldn't recommend turning off Intellisense. Coding is hard enough without trying to learn by heart things which the computer can easily tell us.

Jon Skeet
Couldn't agree more. It's like having to write a test in university and not being allowed to use a book. Just plain stupid. Glad it was allowed where I studied ;)
OregonGhost
I agree, too. Fact is that if you can off-load information to the computer, you have more brain-power left to cope with the more complex things like design patterns, TDD etc.
Neil Barnwell
Reminds me on the professor in my first C course at uni. I knew everything to be teached, but he insisted that "syntax coloring confuses beginners" and walked around and disabled syntax highlighting on all computers, while we were typing. Sigh.
OregonGhost
Good link, thanks I found it very interesting
Barry Jones
+2  A: 

I won't turn off IS. Thinking on problems, patterns and architectures is way more useful than learning APIs by heart. If yopu don't know the API in general, IS won't help. If you know it roughly, it boosts up coding speed.

This is the same as asking whether to use Notepad instead of VS and R# for programming.

MZywitza
+1  A: 

For most things in programming, it does not matter that you know the exact name. It does matter that you know it is there and you are able to find it.

Intellisense is a great tool for this task, it lets you focus on your main task. The same is true for the Internet. It is a valuable source of knowledge. You just need the skill to determine the value of the knowledge. (Not every site has a upvote/downvote system, so you have to do some thinking by yourself.)

Gamecat
+3  A: 

Intellisense is only bad if you're planning to write some code on an island with no internet or colleagues or MSDN. This can happen after a Third World War, but I guess I'll have to pick a new career anyway.

Yoni Roit
+1  A: 

IMO the opposite is true: by removing the need to remember details, code completion and internet resources allow you to concentrate on more important and more complex questions, to learn more about what can be done if required, rather than how to do something specifically.

It's much more useful to know the general capabilities of 5 API libraries than the exact syntax of one, or to know 5 algorithms that solve different problems, than to know how exactly to implement a specific one.

Michael Borgwardt
+1  A: 

Besides intellisense helps folks like me, who have terrible spelling and/or are dyslexic.

Edit: For the record I came to this question because I read that intellisense is bad for your money...

Robert Gould
+3  A: 

Yes, it is. It is bad in the same sense a calculator is bad for your multiplication skill speed, and a cell phone is bad for your letter writing and penmanship skills. So, if you want to improve your memory and mnemonic techniques, do memorize all of your API, but on the other hand if you just want to program and get things done, Google and IS are your friends.

Mosor
A: 

I agree with every answer here.

It's not that I would turn of IS or remove myself from the internet. I suppose I was thinking more along the lines of: most if not all of these questions asked on this forum could be answered by doing searches on the internet. Is knowledge and understanding gauged by how quickly and effectively one can search google? Is it effecting the way we learn.

Yes I could answer every question on here if I had the time to search for the answers, maybe I would learn something but I would not classify myself as a Guru. Further, I would feel I have cheated.

And in the same way IS and the Internet help people with a solid understanding to quickly get the job done. It also limits or slows down the learning (and understanding) of people new to programming to gain that understanding. So I assume people who have programmed for a long time but learning new skills or teqniques my also have the same problem as those who are just starting to learn. When I first started programming - not just randomly smacking keys on my C64 - I followed tutorials online and read oodles of stuff to get the job done. But it wasnt until I actually stepped away from "getting the job done" and started learning about processor architecture, APIs, memory management, well you get the picture, that I actually started to understand.

Maybe I just have a misplaced perception that understanding and a thorough knowledge make a good programmer, good.

Barry Jones
+1  A: 

I would argue that IntelliSense is a vital tool for a product as comprehensive and complex as the .NET Framework. With literally thousands of types, there is no way any developer could hope to memorise even a small subset of them without recourse to some sort of help system. Better to have it available as you type than via F1 in my opinion ;)

Microsoft's IntelliSense, coupled with the design of the Framework and tools like FxCop mean that you have a (mostly) consistent development framework that you can leverage to develop your own software more quickly and with better organisation. Compared with, say, developing with VB 6, it certainly is a brave new world, but I think Microsoft has stood on the shoulders of giants and produced an excellent - if sometimes overwhelming - successor.

Dave R.
A: 

i need more infoirmation ,and how to start,how to write the program in my stuff

ahamed kabeer