This is not new at all. There have been people studying this (myself only for the last 6 years) for quite some time, generally falling under the field of human-computer interaction. Even in the 70s researchers were studying how people <i>read</i> code.<p>In fact, there are niche conferences like VL/HCC (human-centric computing), ICPC (program comprehension), and PPIG (psychology of programming) that publish papers in this area each year. Bigger conferences, such as CHI, also publish a handful of papers on novel ways to interact with code each year too.
Back in 2003 my fundamentals of CS course heavily relied on the interactions window of DrScheme (now DrRacket <a href="https://racket-lang.org/" rel="nofollow">https://racket-lang.org/</a>). It was a extremely powerful educational tool. When I started doing web development I found myself frequently putting snippets like `javascript:alert('abc'.substr(1)` into the URL bar. With the advent of the Firebug console it became even easier to try out new snippets. Now a days the Chrome console tab even has autocomplete. I'd be interested to know how these simple interactions contributed to the widespread adoption of JS and other languages.
I always use a debugger, primarily to catch bugs, but I'm also realizing that because of that process, the debugger is a learning tool.<p>If I'd teach programming education, I'd teach them a language with great debugger support and preferably also support to single step through the machine language as well.<p>I suppose C is a good language for that. I wish JavaScript would show it's underlying machine code that you could single step through.
Sounds interesting from a practical side people might be worried that this info will be immediately streamed into some system used to derive some meaningless KPIs.