3

Possible Duplicate:
Should newbies use IDE autocomplete (Intellisense)?

Since I moved on to actual IDEs for C++, Java and Python, I noticed they automatically try to complete my code. For example if I write System.out.pr[...] I am automatically offered a list from which I can select the item I want to use.

As a beginner I avoided using this feature as I thought I should learn the syntax by typing. Was I correct in thinking that?

From a more experienced programmer's point of view, I'd see no harm in using this feature.

Bugster
  • 4,033

5 Answers5

14

Use it, absolutely. It will help you learn, because sometimes you will see completions that you never thought of, or that you didn't know existed.

Also, if it saves you time, and will always save you time when you use it in the future, what are you learning by avoiding it?

8

Yes and no. It can be very useful but there are a few things to watch out for:

  1. Magic Thinking: if you don't understand what the IDE is doing, you could be in trouble
  2. Failing to understand your problem and letting the IDE think for you

However if we are just talking about word completion then by all means go ahead. To be honest, I have never used that much, but I also type pretty fast and I find that when I use an IDE the little box popping up takes longer than just typing what I was thinking to start with, plus I really hate having to move my hand off of the keyboard.

Zachary K
  • 10,413
0

Go ahead with it as long as you understand what the IDE is doing. It is not just about the completion of method calls. For example, if you have a simple Java bean, you don't need to write getters, setters or constructors yourself (as long as they're only doing routine work). The same thing goes for refactoring. It is not difficult to understand how an IDE refactors code to rename a variable, but it can be annoying to do it manually. By having the IDE take care of simple but tedious tasks, you can focus on more challenging aspects and be more productive.

Mike G
  • 105
ftr
  • 1,621
  • 1
  • 14
  • 19
0

There are literally thousands of methods in the standard libraries alone, plus much more in all that frameworks you'll be using. Do you really want to memorise all that useless crap which is going to become redundant in a next version? Do you want to waste you precious limited memory capacity on something as irrelevant and boring as APIs? It is pointless.

Let the IDE and documentation browsers help you to find the required information when you really need it, and forget it immediately. APIs should never be memorised. I'd say more - even a syntax of particular programming languages should not be memorised, you'll remember the things you're using often any way, and the rest is always easy to look up.

Knowing a syntax or APIs won't make you a better programmer. Learning the programming in general, learning as many different languages as possible, learning the underlying mathematics, philosophy, design, algorithms - that matters, not a syntax or libraries.

SK-logic
  • 8,517
-2

I would say NO, just because I saw and cleaned a lot of code generated by Dreamweaver. If you need the IDE to generate the code for you, you are prone to forget what the code was for or maybe you did not know in the first place. Especially as a beginner type the code. Programming is learnt by practice not by reading or code generation.

Elzo Valugi
  • 308
  • 1
  • 2
  • 9