I'm not sold on this pen & paper idea to be honest.
It looks slow and cumbersome. It misses all the advantages of using a computer.
How would for example code competition, context sensitive features, or refactoring work? How about editing features of a capable editor like this here:
"Liberating programming form monadic style" was only a pun on the parent post. :-)
If you do FP (functional programming) in an advanced typed language you will likely end up with code written in monadic style, meaning that you wrap all (effectful) computation in some monads.
In my opinion that's in the end not really much better than the usual imperative style—and that closes the circle to the original citation: "Can programming be liberated from the von Neumann style?" (which was the title of a quite important paper).
> It looks slow and cumbersome. It misses all the advantages of using a computer.
It's not a computer. It is a calculator for pen & paper.
> How would for example code competition, context sensitive features, or refactoring work? How about editing features of a capable editor like this here: [Helix]. It would be very hard, if even possible, to replicate such user experience with "pen & paper" (even if "pen and paper" would be digital).
Exactly. Keyboard-driven programming as it has evolved is un-replicable in a pen & paper form. But this goes both ways. Pen & paper modality allows you to do stuff you can't with keyboard, e.g. drawing & writing weird symbols like ∞∆⫸ (also outside UTF-8). Mouse is a poor substitute.
Analog pen & paper world lacks computation. What this pen & paper calculator should do well is to solve Euler problems in-situ at the speed of thought. Example: https://youtu.be/y5Tpp_y2TBk?t=18
> Instead the "text" (code) should become even more interactive. [Bret Victor] & [Enso] & interactive notebooks.
120% agree. Been doing some work & research in this space for quite some time.
It looks slow and cumbersome. It misses all the advantages of using a computer.
How would for example code competition, context sensitive features, or refactoring work? How about editing features of a capable editor like this here:
https://helix-editor.com/
It would be very hard, if even possible, to replicate such user experience with "pen & paper" (even if "pen and paper" would be digital).
I think programming could be improved. But not by going back in time.
Instead the "text" (code) should become even more interactive. I really like the ideas of e.g. Bret Victor in this regard:
http://worrydream.com/#!/LearnableProgramming
https://youtube.com/watch?v=8pTEmbeENF4
Or the ideas behind something like Enso:
https://enso.org/
Or "just" interactive notebooks…
Computers are so much more than pen & paper!
---
"Liberating programming form monadic style" was only a pun on the parent post. :-)
If you do FP (functional programming) in an advanced typed language you will likely end up with code written in monadic style, meaning that you wrap all (effectful) computation in some monads.
In my opinion that's in the end not really much better than the usual imperative style—and that closes the circle to the original citation: "Can programming be liberated from the von Neumann style?" (which was the title of a quite important paper).