3 ms·
Yeah, you know what else I'm realizing? All the different kinds of punctuation let my eyes skim over different parts of code so easily, and lisp doesn't give m
by Frondo 10y ago
Yeah, you know what else I'm realizing? All the different kinds of punctuation let my eyes skim over different parts of code so easily, and lisp doesn't give me that.
You know how, when you're reading natural language, you don't actually read individual letters, not once you have any reading fluency? That's how I read code, too, I'm realizing. When I see the parentheses in C#, my brain just goes "oh that's a method/function call" and I can either skip over the contents of the parens or read them if I need to. Reading comprehension is pretty quick.
Looking at all the parens of even that simple lisp factorial, and I realize that I'm feeling a lot of cognitive load that would simply never go away, because the punctuation doesn't let me filter any of it out. I'd have to read everything more carefully.
- lisper 10y agoFocus on the words, not the punctuation, just like you do when reading natural language.
- Volt 10y ago>You know how, when you're reading natural language, you don't actually read individual letters, not once you have any reading fluency? As difficult as it is to imagine, you can indeed achieve fluency in reading Lisp code. Like with everything else, it takes time and practice.
- spacemanmatt 10y agoYou get used to reading lisp, the same as you get used to reading all that boilerplate syntax.
- shakna 10y ago> Looking at all the parens of even that simple lisp factorial, and I realize that I'm feeling a lot of cognitive load that would simply never go away, because the punctuation doesn't let me filter any of it out. I'd have to read everything more carefully. Completely the opposite here. Parens means function call or list. Lists usually denoted by a quote first. I don't read the parens, I skim everything, reading words. And the punctuation is really simple. For example: if (number? a) + a b error "Not A Number" a I stripped most of the parens there, (like Wisp [0] does), because I don't really see them. I see function call and arguments, because there isn't anything else. Scheme has the very least syntax out of just about any programming language I've used. It has a tiny cognitive load compared to most. [0] http://dustycloud.org/blog/wisp-lisp-alternative/ http://dustycloud.org/blog/wisp-lisp-alternative/