There are few other things in the world that work like source code, where &quot;understanding&quot; isn&#x27;t something you do linearly, or even hierarchically, but <i>graphically</i>, by exploring the connections between elements.<p>To grok a program, or a programming language, basically refers to having a graph of its elements and their interactions as a model in your head. &quot;Grokking some of X&quot; doesn&#x27;t mean that you have a patchy or &quot;blurry&quot; graph of the whole thing; it means you have a complete graph of some subcomponents, but not all.<p>To put it another way: &quot;understanding&quot; doesn&#x27;t usually imply being able to recreate the thing yourself. &quot;Grokking&quot; usually does. It&#x27;s not an understanding you can put into words; it&#x27;s an intuitive ability to &quot;feel&quot; the rules of the system because you&#x27;ve effectively mirrored the structure of the system with the structure of your synapses.<p>The only other things you can &quot;grok&quot;, I think, are spoken languages (though there, we refer to &quot;fluency&quot;—another specialized kind of &quot;understanding&quot;), and the rules of games and game-like things like the tax system.<p>Or: to grok is to experience the original designer&#x27;s intent, such that you could take over from the designer without the code changing in tone&#x2F;style&#x2F;quality very much. One might say, for example, that Brandon Sanderson has grokked the <i>Wheel of Time</i> series, while Kevin J. Anderson merely <i>understands</i> the <i>Dune</i> series. It&#x27;s the difference between &quot;seeing what they did&quot; and &quot;seeing what they were going for.&quot;