I&#x27;ve taught myself Forth and K. Each time, it was like going back to the beginning of learning to program. Familiar algorithms are hard to implement. Subtle typos and confusion abound. It takes time to learn how to break down the syntax of the language and read the code fluently.<p>But you begin to see patterns. You write programs and begin to feel out the fringes of the language. You start to be able to write small programs that work correctly the first time.<p>With Forth, I learned to track the stack in my head. With K, I learned to think in parallel, collective operations. They are eminently learnable, and when you make it through the learning process, you will emerge with new tools for thinking about problem solving.<p>I now find K a very pleasant language to reach for when I want to tinker. I can write complex and interesting programs quickly, and completely rewrite them in seconds when I get a different idea. Here is a GIF recording of me making a series of programs in K, perhaps demonstrating the kind of fluidity you can get when you become conversant in the language:<p><a href="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;JohnEarnest&#x2F;ok&#x2F;gh-pages&#x2F;ike&#x2F;livecoding.gif" rel="nofollow">https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;JohnEarnest&#x2F;ok&#x2F;gh-pages&#x2F;ik...</a>