4 ms·
Priority one would be debuggability. Imagine being able to easily step through the entire execution from user to kernel space. And also step backwards. And als
by vaughan 4y ago
Priority one would be debuggability.
Imagine being able to easily step through the entire execution from user to kernel space. And also step backwards. And also record replay.
And then make instant changes during dev to any layer of the stack.
Think about how much time is spent across so many different tools trying to figure out perf bottlenecks.
Then think about if you wanted to patch something or write a driver, how difficult it is.
Then you would also want the entire system visualizable.
Imagine if the entire data flow and data structure of the system were automatically visualizable by instrumenting the source code. Why do we draw diagrams on whiteboards if they are not the best way to understand code.
Do this first and the rest becomes easy.