From: ES Date: 2005-05-29T22:05:28+09:00 Subject: Re: Intellisense and the psychology of typing Le 29/5/2005, "Lurker" a �crit: >"James D Carroll" wrote in message >news:Td2dndb_0ehebwrfRVn-oA@speakeasy.net... > >> if I have to type 'boolean' instead of 'boo' I get real cranky real >fast. > >Why? Is your programming speed really limited by the difference >between typing "lean" and hitting ? If typing speed is >the limitation - go get some touch-typing courses. Oh, now. If we estimate that a decent programmer writes about 60 words per minute and that 'lean' is about 60% of the word 'boolean'; this would mean that the same decent programmer could write approx. 100 'leans' per minute (or that one 'lean' takes about 0.6 seconds to write). If we further assume that pressing the key takes slightly longer than any other letter, we can still extract a time savings of about 0.45 seconds per boo. A single source file may contain, say, 7 instances of the word boolean on average and an average project could contain 10 source files; a single project for one iteration would then yield a savings of about 31.5 seconds. Extrapolating from the average programmer's involvement in about three or four projects per year and perhaps two iterations each, we approach the much more significant figure of about 4 minutes per year! Extending tab-completion to other keywords and method names as well could clearly yield significant productivity gains, not to mention the time lost by the CPU during that typing cycle. If we assume a utilization rate of about 60% for a CPU, each per boolean could mean, on an average computer, saving the CPU about 675,000,000 idle cycles or 357,750,000,000 idle cycles per year! Now, if an average programming language has 20 keywords and each appears at a ratio relative to the boolean (on average), a given source file would have a total of around 140 keywords, that is 1400 per project and thus 9600 per year resulting in a savings of over an hour! Then, if you take into account time wasted by the programmer on silly rebuttals to completely irrelevant topics on Usenet... E -- template void quack(duck& d) { d.quack(); }