I am a long-time member of the development team for Visual Assist. I also read a lot, often about the workings of the brain.
I read recently Thinking, Fast and Slow by Daniel Kahneman. The author divides thinking methods into fast and slow. Fast is automatic; slow requires effort. Fast occurs when you drive a car on an empty road; you have capacity to think about something else. Slow occurs when you multiply 43×15 in your head.
“As you become skilled in a task, its demand for energy diminishes,” writes Mr. Kahneman. “Studies of the brain have shown that the pattern of activity associated with an action changes as skill increases, with fewer brain regions involved.”
The author goes on to write, “a general law of least effort applies to cognitive as well as physical exertion. The law asserts that if there are several ways of achieving the same goal, people will eventually gravitate to the least demanding course of action. In the economy of action, effort is a cost, and the acquisition of skill is driven by the balance of benefits and costs. Laziness is built deep into our nature.”
Fair point: I often prefer to be lazy—when I think and when I exert myself physically.
“But, why do I write about brain matters in a blog about Visual Assist?” you ask. I write because Mr. Kahneman’s assertion might articulate—in nerd speak—the deep reason I like Visual Assist.
Take the following scenario of simple code generation: flushing out case statements for a switch on an enum. I have completed this scenario so often it now requires only fast thinking. I go to an enum declaration using Alt+G, select its cases, copy-paste them into my switch body, and execute a couple of tricks like search and replace, block select to insert “case” before each enum item, and finish the task.
I suspect you invent your own steps for the code-editing scenarios you tackle repeatedly. Your slow-thinking tasks become fast-thinking ones with repetition. The tasks become mundane. You are driving a car on an empty road.
When I find myself in such a state of “driving”, I have capacity to think about Visual Assist. I often wonder if I can give my mundane, fast-thinking task entirely to Visual Assist. I wonder if I can get more lazy.
As a developer of Visual Assist, I have the luxury of implementing features in Visual Assist to pursue the laziness that Mr. Kahneman says is deep in my nature.
And as a user of Visual Assist, I take advantage of the product’s many features because they provide the least demanding courses of action. Visual Assist lets me conserve my energy.
I am hooked on creating Visual Assist, and hooked on using it.
Look for Add Missing Case Statements in the next build of Visual Assist.