How reliant have we become on Intellisense? It seems for some, very much so. I admit, I'm an Intellisense junkie. I may even suggest that if it wasn't for Intellisense, .NET may not enjoy the popularity that it does today. Intellisense allows one to peruse the object model seeing what is available, forge into new areas, and discover new things that you can do straight from the framework. In fact, I may be so bold as to suggest that Intellisense could be one of the most important Visual Studio features.
But with this importance and ease of use, comes great danger. The danger is that we may rely on it too much. We may become so reliant on it that we forget the basics of the language. As an example, a former co-worker of mine (in fact he was my manager in title, but not much more) once argued with me over whether VB6 actually had a LEFT function. See we came from a FoxPro shop doing a lot of FoxPro for DOS development back in the day. We moved on to VB3 and soon after to VB4 and VB5. Finally when VB6 came out, we had a fairly robust system to develop in. While my coworker and I rarely worked on the same projects, he would often come to me for advice, for while he was a far better FoxPro developer than I, I had the upper edge when it came to VB.
Well anyway, one day in idle conversation the topic of VB code came up and how we did things differently in VB compared to FoxPro. The conversation went something like this:
Coworker: I wonder why VB doesn't have a LEFT function like we had in FoxPro.
Me: <silent confusion at what he is saying>
Coworker: In fact, it's really strange that we have the RIGHT method, but no LEFT. This VB is crap, nothing like the greatness we had in FoxPro. <Ok so I exaggerated a bit there, but not by much>
Me: How do you figure? I've been using the LEFT for years now with no problems.
Coworker: You couldn't have….it's not there.
Me: How have you been doing your LEFTs?
Coworker: Well I use the MID function with a starting position of 1. <At this point he shows me some code that he is doing this in>
Me: Well sure that will work, but why not use the LEFT …. I swear to you it is there. I've got production code running with it right now!
Me: No really, let me show you. <Here I fire up VB6, whip up a quick sample program and prove once for all that the LEFT truly does work>
It's at this point that I realize what is problem truly is. In VB6 (not sure if it applied to VB5 as well) there was a bug in IntelliSense. It did not have the LEFT function defined in IntelliSense. So when one typed "LEFT(" no tooltip came up with the parameters. Since nothing came up, he assumed it didn't exist, so he never even tried to use it. (OK, for you purists, I realize that the tooltip popup may not technically be considered IntelliSense, but hey, I'm trying to prove a point and it works well enough for that)
He had become so reliant on the help that IntelliSense provided that he had forgotten in some sense how to problem solve. I'm not trying to single him out as I think we've all fallen prey to the allure of IntelliSense and in some ways it has become addictive. Use it as the tool that it is, just be careful, that tool doesn't replace your better judgment and common sense.