17 ms·
> I have spent years writing about and studying Lisp, including buying several books. The key is "writing and maintaining" Lisp software. Lisp often won't get
by lispm 2y ago
> I have spent years writing about and studying Lisp, including buying several books.
The key is "writing and maintaining" Lisp software.
Lisp often won't get learned by reading or writing ABOUT it, but by reading AND writing actual Lisp code.
It's a bit like riding a bike. You can study bikes for a long time, but you will typically not be able to ride a bike. That's something which can be learned when actually practicing to ride the bike. This means also not needing to consciously think about it, but by moving tasks to internal automatisms. Lisp code is data and this wants to be "manipulated". This manipulation is a key to learn Lisp. The other key element is to work with a system which gives live feedback -> interactive programming. "Interactive" means to do things, to fail, to improve, to do it again.
It's in part the experience of actually using an interactive programming system.
- lycopodiopsida 2y agoI agree, even after only working through examples and small learning projects in "Common Lisp: A Gentle Introduction to Symbolic Computation" writing is quite easy. Maybe the secret is writing lisp instead of writing about and studying it. The same approach also works with every other programming language, as a bonus :)
- lproven 2y ago> The key is "writing and maintaining" Lisp software. You may be right there, but I think there is a point you are smoothing over and almost trying to hide here. What if someone can't get to the point where they are able to write useful code? If you can't start riding a bike without stabilisers or someone holding it, then you're never going to learn to ride well. At around age 11 or 12 I tried to learn to roller-skate. My parents bought me skates, and I put them on and tried to stand up. I fell over so much over a few days that I bruised my pelvis and walking became very painful, let alone lying down. It was horrible and I gave up. 25 years later I managed to learn to ride a snowboard, after years of failure, because of having to do an emergency turn to avoid hitting some children and getting up on one edge and learning that edge-riding is the key. Nobody told me, including 3 paid days of lessons with a professional teacher. It took great persistence and physical pain but I did it. I gave up on skating of any kind. My core point is that people vary widely in abilities. Some people pick up a complex motor skill in 10-15min and can do it and their skills grow from there. Others may struggle for days or weeks to attain that... And most are not doggedly determined enough to try for that long. Algebra is most schoolchildren's way of describing "something extremely hard to learn and pointless in everyday life." For ordinary humans, the concepts of "variables" and "symbols" that manipulate them IS A WAY TO TALK ABOUT something super-difficult. But most of it, with effort, can just about get through. Very very few choose to follow it further. And yet, there are a few families of programming languages -- Lisp, Forth, Postscript, HP calculator RPN -- whose basic guiding assumption is "you will easily master this basic action, so let's throw it away and move on to the logic underneath". And the people who like this family of languages are annoyed and offended that other languages that do not require this are hundreds of times more popular and are used by millions of people. Worse still, when someone comes and says "hey, maybe we can simplify that bit for ordinary folks", they mock and deride the efforts. Maybe just allow yourself to think: perhaps this stuff that's easy for me is hard for others, and I should not blame them for them finding it hard?
- anthk 2y agoThe rule of three is algebra, yet every grandma knows it.
- lproven 2y agoWhat is "the rule of three"? I have never heard of it, and Googling it was not helpful. Conspiracy sites and rules for fiction writers and things.
- AnimalMuppet 2y agoDunno. The only programming rule of 3 I know is that, in a C++ class, you provide a destructor, a copy constructor, and an assignment operator. But that doesn't fit either, because it's not really algebra, and every grandma certainly does not know it, and it doesn't fit in a Lisp article anyway.
- anthk 2y agoThe basic proportion matching formula which is just a linear equation in disguise. a/b = c/d, we know a, b and c, solve for d, which is cb / a. As I said, every grandma did that to guess some percentages. Thus, if anyone can grasp that, he/she is ready for Algebra.
- _yb2s 2y ago