The point is these things are wrong sold. The speed of writing code like you have already noted is already is not biggest bottleneck in software development.
However what these kind of books/posts fail to sell is as much as software development is about building code to automate things, at some point in time one wonders if software development itself can be automated to a very large extent. The answer is writing code is a way of hand writing structured text. Therefore code should be generated like the very way we generate XMLs or JSONs. Compilers are a tool does that for a fixed set of syntactical things.
Now is it possible to have some kind of means, methods and techniques for general code editing/generation. Note this has nothing writing code faster. But this has to do with human labor required in achieving a thing. Eg. How many steps does it take to delete 10 lines of code with mouse vs typing 10dd in vim? Scale this problem for 500 lines. And see how deleting with a mouse requires one to execute as series of steps scrolling, selecting, hitting delete vs 100dd. Now how many takes does it take to delete 1000 lines lines? Say selecting 100 lines at a time, scrolling, deleting. Basically 30 steps vs 1 step(1000dd) in vim. Notice how adding more lines to deleting in a notepad'ish editors increases complexity of deletion O(n) vs 0(1) in vim(ndd)
See where this is going?
Now take this one more example. Say you have three tabs. You have to copy 3 lines from the first tab, delete the current line in the next 2 tabs, and paste the copied lines from the first tab. Say you have to do this for 1000 times. Notice how you have to do 1 copy operation in first, shift across 3 tabs one at a time, while deleting lines and pasting them. If you had to do this, just imagine mental and physical labor into this. Now let me introduce you to this cool little thing in vim/emacs called a keyboard macro. You can tell the editor record these key strokes and play it for me n times. Congratulations now you just went K x O(n) to O(1).
Let me make this even more attractive for you.
Let's say for every line of editing in first tab, you had to make 3 edits in second tab, and for every 1 edit in the second, you had to make 10 in the third. Human's were not born for to do this kind of sisyphean tasks. We intelligent species were born to arrive at O(1) from every O(n^k) tasks life has to offer us.
This is just one part. But there are many other examples like this. For example in Apache Pig, its common to write projections like $0 AS apple, $1 AS banana, $2 AS cherry... see no human should hand write code like this. It's not about speed. It's about wasted human labor. If there's structure to something it should generated.
If there's structure to not just code but anything we do it must be automated.
What needs to be taught is to see wasted effort and show us how to save it. Mouse or no Mouse, that's irrelevant.
Every human should refuse to do work, that can be done with a computer.
I think it's related to the mouse because the mouse is often used with some type of GUI, and a GUI doesn't allow you to automate the stuff you shouldn't care about very well. Especially when you deal with text all the time.
There are solution for that though, but I find them less convincing than the tools we have using our keyboard. So it's linked, but I agree that maybe this question of mouse / keyboard is not the central one.
This probably depends on what you’re working with, but I never really need to do bulk operations. And moving the cursor a 1000 lines I can do in a second through the magic of two finger swiping and inertial scrolling. Though most of the time i need to go to a particular function, not row, so I’ll just do a quick search.
However what these kind of books/posts fail to sell is as much as software development is about building code to automate things, at some point in time one wonders if software development itself can be automated to a very large extent. The answer is writing code is a way of hand writing structured text. Therefore code should be generated like the very way we generate XMLs or JSONs. Compilers are a tool does that for a fixed set of syntactical things.
Now is it possible to have some kind of means, methods and techniques for general code editing/generation. Note this has nothing writing code faster. But this has to do with human labor required in achieving a thing. Eg. How many steps does it take to delete 10 lines of code with mouse vs typing 10dd in vim? Scale this problem for 500 lines. And see how deleting with a mouse requires one to execute as series of steps scrolling, selecting, hitting delete vs 100dd. Now how many takes does it take to delete 1000 lines lines? Say selecting 100 lines at a time, scrolling, deleting. Basically 30 steps vs 1 step(1000dd) in vim. Notice how adding more lines to deleting in a notepad'ish editors increases complexity of deletion O(n) vs 0(1) in vim(ndd)
See where this is going?
Now take this one more example. Say you have three tabs. You have to copy 3 lines from the first tab, delete the current line in the next 2 tabs, and paste the copied lines from the first tab. Say you have to do this for 1000 times. Notice how you have to do 1 copy operation in first, shift across 3 tabs one at a time, while deleting lines and pasting them. If you had to do this, just imagine mental and physical labor into this. Now let me introduce you to this cool little thing in vim/emacs called a keyboard macro. You can tell the editor record these key strokes and play it for me n times. Congratulations now you just went K x O(n) to O(1).
Let me make this even more attractive for you.
Let's say for every line of editing in first tab, you had to make 3 edits in second tab, and for every 1 edit in the second, you had to make 10 in the third. Human's were not born for to do this kind of sisyphean tasks. We intelligent species were born to arrive at O(1) from every O(n^k) tasks life has to offer us.
This is just one part. But there are many other examples like this. For example in Apache Pig, its common to write projections like $0 AS apple, $1 AS banana, $2 AS cherry... see no human should hand write code like this. It's not about speed. It's about wasted human labor. If there's structure to something it should generated.
If there's structure to not just code but anything we do it must be automated.
What needs to be taught is to see wasted effort and show us how to save it. Mouse or no Mouse, that's irrelevant.
Every human should refuse to do work, that can be done with a computer.