> you can add your own symbols (that can optionaly expand to words) > it can display graphics such as graphs, plots, diagrams, images or even interactive ball-and-stick model of a chemical compound > it is programmable, i.e. you can write your own functions with recursion, conditionals and loops This sounds similar to Ken Perlin's Chalk Talk. See the demo at https://youtu.be/xuzrF_82z7U?t=2679 but the whole video is…
New Kind of Paper
121–127 of 127 posts
Re: New Kind of Paper
#122Earlier quoted context omitted.
Depends on the country. In Poland it's usually nothing for multiplication: (x+3)(10-y) then dot, then asterisk. Nobody writes "x" for scalar multiplication cause it's easy to mistake it for the variable x. What do you mean by 2xy? 2 * y or 2 * x * y? Another cultural difference is how 7 and 1 is written - in USA you write 7 with 2 strokes and 1 with 1 stroke. In my country 7 is always crossed (always has 3 strokes) a…
That was how I learned to notate multiplication in high school or earlier. It’s how it’s done in all the mathematical literature or textbooks I’ve ever seen. And people only started using * when they started programming computers.
Re: New Kind of Paper
#123Re: New Kind of Paper
#124"Are there any programming languages that were designed for pen and paper?" Well, I designed http://canonical.org/~kragen/sw/dev3/paperalgo , and I like it okay, but I still find it a lot harder to read than more conventional languages.
Hey, that is quite cool. :) It looks like Plankalkül [0] or early blackboard APL [1]. The 2D notation is probably a problem, but it is always cool to see new takes on this problem. [0]: https://gregorias.github.io/2014/11/22/early-high-level-prog... [1]: https://aplwiki.com/wiki/Iverson_notation
Thank you for linking me to Grzegorz's post, which is a much better explanation of Plankalkül than I'd seen previously! I just celebrated Zuse's birthday on Tuesday. I jotted down his TPK example in paperalgo and found that it was about 64 symbols (characters and non-character lines), about a quarter the size of the Plankalkül version he gives†:
But there are definitely some real parallels: the horizontal bracket for the loop and what I take to be the tabular condition-consequent-condition-consequent representation of conditional logic, with each consequent to the right of its condition, and of course the use of subscripts for array indexing. It is a peculiar combination of the comfortable and the rebarbative—why A9 or W2, for example?
______
† If we count by non-whitespace characters, it's a bit over a third the size of his Python, too.
Re: New Kind of Paper
#125Earlier quoted context omitted.
> The parsed version flashing every time a change was made was distracting… you don’t want to keep having your eyes pulled away from where you are writing. Totally. > Also, having all of the input terms be integers, yet the answer returned as a floating point, seems a basic type error. Spot on. > In general, though, it seems to miss the mark. If you’re going with a hybrid electronic/pen approach, why not let the comp…
> I am familiar with Bret Victor's work, but I don't know which interaction you have in mind. Just the idea that since you’re working on a computer, you should be able to take advantage of it. So once the numbers are in there, you should be able to tweak them around without having to re-write everything. What if this value was higher? What if it was lower? How would that affect the results? Let the calculation be exp…
Re: New Kind of Paper
#126Earlier quoted context omitted.
Hey, that is quite cool. :) It looks like Plankalkül [0] or early blackboard APL [1]. The 2D notation is probably a problem, but it is always cool to see new takes on this problem. [0]: https://gregorias.github.io/2014/11/22/early-high-level-prog... [1]: https://aplwiki.com/wiki/Iverson_notation
Thanks! Why do you prefer 1-D notations for paper programming? I think of the second dimension as being one of the primary advantages of using a pencil rather than a keyboard: on the keyboard it is awkward to move around but it is easy to spew out thousands of characters, while for the pencil the situation is precisely reversed. Thank you for linking me to Grzegorz's post, which is a much better explanation of Planka…
I read what you have wrote on paperalgo and I like it a lot. It's terse and thought out. I think pattern matching makes more sense than conditionals and looping, but it is easier to transliterate it from different languages. ↑ from Smalltalk just feels right.
Re: New Kind of Paper
#127Earlier quoted context omitted.
Thanks! Why do you prefer 1-D notations for paper programming? I think of the second dimension as being one of the primary advantages of using a pencil rather than a keyboard: on the keyboard it is awkward to move around but it is easy to spew out thousands of characters, while for the pencil the situation is precisely reversed. Thank you for linking me to Grzegorz's post, which is a much better explanation of Planka…
While I understand why 2D is objectively better choice for expressing algorithms, I believe 1D is better suited for our minds. 2D is just hard to parse. You don't know where to look and how to proceed. With 1D you start in the upper left corner, and there is only one direction to follow. Less is more. I read what you have wrote on paperalgo and I like it a lot. It's terse and thought out. I think pattern matching mak…
enum { size = 8192 };
int main()
{
char *n = "tmp.mmapcrash";
int f = open(n, O_RDWR | O_CREAT, 0666);
if (f
rather than in 1D like this: enum { size = 8192 }; int main() { char *n = "tmp.mmapcrash"; int f =
open(n, O_RDWR | O_CREAT, 0666); if (f
Are you saying that your experience it's the other way around?Pattern-matching makes some code a lot easier to express and understand, but it's true that there are some languages where you end up having to kind of hand-translate it into a nest of conditionals and whatnot. It's kind of mindless work, though, so I don't really feel like I'm missing anything important in the pattern-matching representation of conditionals in paperalgo.