Hacker News new | past | comments | ask | show | jobs | submit login

I think code completion would be enjoyed the most by those who don't know how to touch-type, since for them inputting the code is quite time-consuming.

But working with others (and occasionally using it myself), I've also found that code completion tends to encourage a "I think this is the right method/class/variable because it's in the list, I'll use it" type of thought process; and while it makes for easy generation of code that has no syntax errors, it also feels like it increases making logic errors since there is less thinking about "is this really want I want to write here" - it tells you what you can write here, and the instinct is to just pick the one that seems to feel like it would work.

Without completion I already code in the 100-120wpm+ range (and can comfortably write prose in the 150-160 range), so I don't think I need to make that any faster...




I think it has very little to do with writing and writing speed at all. Autocomplete is context sensitive documentation. Having to look away from the problem (at at web browser, another source file, or elsewhere in the same file) for hints about e.g. a method name, is very disruptive.

If someone would use autocomplete in the way you describe I don't think they'd be better developers without it. It's like saying we should all type with one hand since it makes us think more before we type.


Just to give you a different perspective on your second point, I prefer to use code completion as a way of checking if the API that I'm making makes sense to use. Sometimes I just want to be able to type out "assert" and hit cmd + space to see what assertion methods are built in. I feel like this was a major point of all the "fluent" APIs that came out on .NET after 3.0+ came out with Expressions and LINQ.

Whether or not this is the correct way to create an API for others to consume, who knows. But I tend to think of code completion as part of the "UX" of a library.


You can only really hit 100-120 wpm in bursts, and since programming is so mind dominated, it doesn't give you much of an advantage as someone who can burst at 20-40 wpm (reason why programmers don't list typing speed on cv's). Autocomplete doesn't improve burst typing speed that much since most people can type faster than the interrupted rhythm of a completion. Rather it improves API recall discovery times that are more thought intensive.


Here http://www.ratatype.com/learn/ some tips that will help you to improve typing speed.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: