Why am I learning LISP? What does it do? I’m getting that religious feeling about it already.

Well, it doesn’t do everything. Actually there’s a lot that it doesn’t do but there’s a lot that it can do.

Ok That sounds obscure. Let’s see… if I wanted to write a new game, I wouldn’t use LISP. Java. Python. They’re great for that. Better still, a game development environment like Unity 3D or go hardcore with C++.

These languages are all-purpose, if I had a goal in mind, it’s heavy with graphics, sound, connectivity (networking) and they’re perfect for making games.

HTML+Javascript are still kinda your only choices for doing stuff that works on web browsers, whether games or anything else, and you have to add on a lot of things to make it work, but there’s awesome stuff for that too.

But so why am I excited about LISP?

I want to talk to the computer.
I want my computer to understand me.
I want to understand my computer.

The reason why LISP is used so much in real-world AI (great examples are solving the very complicated “get your cheapest airfare” problem when the airlines are top-secret about how they do things. Or the only commercial quantum computer – that was written with LISP)… is because it’s raw power that can do impossible things.

I don’t know what I’m going to use it for or even if I’ll succeed in really learning it (or Scheme, which is used in some games and is its close cousin):

But see, here’s the thing I’m getting out of it: With LISP, my computer is learning right along with me. It doesn’t do much by itself. I don’t even know what I’m going to do with it. But it has flow – I “feel connected” to what I’m doing. It tells me right away if I don’t make any sense. It does what I tell it to do, yes, but it really forces me to think, WHAT AM i DOING?

And really, I have no idea what I’m doing. But it’s like planting a seed of an unknown plant. What will it grow into? Will I be able to give it water to help it grow? If I get it to grow, how will it branch out? How will the branches branch out? Will those branches reach down and connect with the root? Will one of them reach the sun and come back again?

I don’t know.

That’s the kind of feeling I’m getting, and I can barely add two numbers in reverse polish math. (it uses ( + 2 2) to tell me “4” rather than 2+2)

I guess mostly it’s because it uses lots and lots of parenthesis. Things inside of things inside of things inside of things inside of things. It creates structures of connected things. When I learn it, I’ll be able to have it talk to itself and change its own code.

So what does it do? I have no idea. It’s like someone plopped an alien baby and said, “You. Care for this baby.” and I have no idea what it eats – IF it eats, if it needs water, if water is acid to it.. how will I get it to understand me? How will I understand it?

and it’s confusing to most programmers, which makes it different and I’m contrary. It’s older than me and helped build the very Internet we’re on.

So, really? I don’t know what it does yet. It doesn’t know what it does yet. The whole thing confuses me like crazy yet it seems so simple I feel like it shouldn’t confuse me at all.. and that’s what I love about it.

I feel like I’m about to dig various tunnels in the dark. It’s that “feeling” – that experience that I’m after, not something to show off to other people. Reading the things people write about LISP that love it, it has almost this religious quality to it and on page three of a tutorial (I spent more time reading ABOUT it than actually doing it yet) – I’m getting ‘that feeling’ of excitement and exploration.

So, practical? Probably not. It’s just a “deep thing” that I really want to understand.

Leave a comment

Your email address will not be published. Required fields are marked *

× 5 = thirty five

Leave a Reply