Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

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.

share|improve this question
add comment

marked as duplicate by ChrisF Feb 28 '12 at 11:53

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

5 Answers

up vote 14 down vote accepted

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?

share|improve this answer
1  
I would on legacy programs consisting of millions is SLOC, and methods of hundreds (sometimes thousands) of lines. I rely on the IDE to navigate the software quickly and efficently. At some time you can no longer program in the small (Kepp it all in your head), and need tool support to operate efficently –  mattnz Feb 28 '12 at 6:58
add comment

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.

share|improve this answer
    
+1 - for allowing the IDE to do the thinking for you. –  tehnyit Feb 28 '12 at 7:43
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
    
Dreamweaver is a horrible IDE and not worth $0.01 IMO. With that said there is a huge difference between C++ and HTML and editors that create it. One must be very percise, and minor differences, COULD change how the final page looks like. In the case of C++ you could do a for loop on one line if you wanted, and set an ide to do that automatically if you want, it would be ugly but would not make a difference in the end or how the code worked. Your answer is not helpful. –  Ramhound Feb 28 '12 at 12:45
    
My opionion is that generated code is harmful for your brain. You are entitled to your own or you can generate one with your IDE if you dont know how. –  Elzo Valugi Feb 28 '12 at 12:51
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.