Live data from Hacker News

The Liberating Experience of Common Lisp

ds9soft.com

51–60 of 126 posts

Re: The Liberating Experience of Common Lisp

#51
post #45

Earlier quoted context omitted.

I write Go for a living. I run Emacs. I read the first part of the article, thinking about how Lisp used in a personal project makes so much sense because you can build the meta-language to your liking and not make something so weird you confuse your coworkers -- and then I got to the section on Go and I thought wow! This guy really doesn't get it! >On average, most shops have average people Yes, hello, that's me! I…

I think that the idea that Lisp is for smart people is misguided and wrong. I don't think a person needs to be a genius to do well in Lisp. As a long-time C and Fortran and Python programmer (and many other languages) it took a long time for me to adjust to the different way of thinking necessitated by Lisp. Also if Copilot or LLM write Go code, why do we think it can't write Lisp code? I've dealt with code in many l…

> I think that the idea that Lisp is for smart people is misguided and wrong.

I think it's a misunderstanding. People think that other people are like them (and in particular, think like them).

I think that some languages are a better fit for how some people think. Other languages are a better fit for how other people think. It's not "smart vs. dumb", it's different thinking styles.

Now, if FP (or at least non-procedural) fits your thinking style better, and all you've known is procedural or OO languages, when you run across Lisp it's this amazing, magical experience. You never knew programming could be like this. It's enlightening and freeing. It just fits.

But when you try to tell someone else, and they say, "Eh, Lisp never really clicked for me", you think: "How can it 'not click'? It's this wonderful, magical language!" It's really easy to assume "they're stupid" instead of "they think differently".

Re: The Liberating Experience of Common Lisp

#52

Lisp really is an eye-opening experience when learning to structure programs and computations. Stumbling on Lisp in college was a fascinating experience for me in particular because I had been raised around C++ and Java, and my programming life up to that point had been a struggle understanding how to abstract a program into objects and how to build those objects' interfaces. Once I started down the path of functiona…

A big piece of OO development is state management. If you're modeling a system having several interacting entities whose interactions may vary based off that entity's current state - then OO is most likely the way to go. You can encapsulate that state management in one place rather than having it strewn throughout the entire codebase.

If you're doing information-oriented processing, whether it be a traditional batch process, or a decision-support system reacting in real time to incoming data - then functional is most like the way to go.

If you're doing corporate CRUD development, then just use JavaScript (assuming Web CRUD) and the popular CRUD framework du jour.

This is what it means to use the right tool for the right job. There is no perfect language that excels at everything. It all depends on what you need to do.

Re: The Liberating Experience of Common Lisp

#53
post #12

Apologies for donning my grumpy old man hat. I like CL as much as the average dev who's dabbled with it on weekends but can't find anyone to pay me to use it, but...this essay really adds so little to the conversation about it. There's not an awful lot explicitly wrong in it per se, but people have been writing these little puff pieces on their blogs about Lisp for (at least) twenty years now. This checks all the usu…

Try Nyxt and writting an extension for it; for example, some URL rewritter doing what Libredirect does in former Firefox and Chromium browser.

https://nyxt.atlas.engineer/

Re: The Liberating Experience of Common Lisp

#54
post #52

Lisp really is an eye-opening experience when learning to structure programs and computations. Stumbling on Lisp in college was a fascinating experience for me in particular because I had been raised around C++ and Java, and my programming life up to that point had been a struggle understanding how to abstract a program into objects and how to build those objects' interfaces. Once I started down the path of functiona…

A big piece of OO development is state management. If you're modeling a system having several interacting entities whose interactions may vary based off that entity's current state - then OO is most likely the way to go. You can encapsulate that state management in one place rather than having it strewn throughout the entire codebase. If you're doing information-oriented processing, whether it be a traditional batch…

CL can do OO programming too.

Re: The Liberating Experience of Common Lisp

#55
post #2

I can relate. I read Graham's book on Common Lisp more than 20 years ago and was entranced. But opportunities to use it in the day job are few and far between, and I would have qualms about recommending it, in most contexts. For a lot of purposes, its libraries are just nowhere near as good as Python or JavaScript or Java. And some of its superpowers (macros!) can also be used really, really badly. There was an essay…

>>> There was an essay about Lisp being a "language for smart people"

Boy! Nothing can be further from the truth! At least my experience, trying to teach people to program in java, c, c++, lisp and assembly to both technical and non technical people, the only language that is easy to teach is lisp. By far the only language that everybody “got” and could actually do something on it.

Compare that to c++, where experienced programmers shoot themselves the feet every single day.

Re: The Liberating Experience of Common Lisp

#56
post #35

Earlier quoted context omitted.

I wish you could use Genera. If you like emacs/slime. You would see how much we lost :(

What Genera ideas are Emacs/SLIME missing out on that would improve them?

A microcode tweaked down for Lisp. The whole OS being a Lisp image.

Imagine running Common Lisp in bare metal. Like Mezzano OS does, but with your Intel malware ^U CPU firmware designed to run CL at even faster speeds.

Re: The Liberating Experience of Common Lisp

#58

> How long before Copilot is able to write all the code any Go developer now writes by hand? A long time ago I read someone saying "Lisp is the only language where I spend more time thinking than typing". Recently, when I was telling ChatGPT what logic I wanted written on what data structures, I realized the same was true about having an LLM write any other language.

Honestly, to me that sounds like a red flag. There are already too many temptations to get on a purist mood and spend ages thinking about elegant code structure.

I know, it's ambiguous, "more time thinking than typing" might imply that you spend more time thinking about the core problem you are solving. But let's be real, it's Lisp, you are thinking about how to model your problem elegantly in Lisp, not about how to solve it.

This is incidental complexity, you might feel mightily smart and productive, but you are really not getting anything substantial done. Clean code is critical, but in moderation, you need to constantly prevent it from upstaging the actual problem you are working on.

Re: The Liberating Experience of Common Lisp

#59
post #12

Apologies for donning my grumpy old man hat. I like CL as much as the average dev who's dabbled with it on weekends but can't find anyone to pay me to use it, but...this essay really adds so little to the conversation about it. There's not an awful lot explicitly wrong in it per se, but people have been writing these little puff pieces on their blogs about Lisp for (at least) twenty years now. This checks all the usu…

That could be easily be my post a couple of years ago.

Let me give me my post-vitae:

It was great. I had to teach Lisp to a dozen people, convince them it was a good idea. Right now we have many systems ans thousands of lines in code in Lisp. Everybody is loving it. From management, amazed with the speed of development, and fewer bugs, to the test, ci/cd people having much less trouble.

Re: The Liberating Experience of Common Lisp

#60
post #7

Two books, for beginners and experts: - A Gentle Introduction to Symbolic Computation. Get both the book and the figures. https://www.cs.cmu.edu/~dst/LispBook/ Paradigms of Artificial Intelligence Programming https://github.com/norvig/paip-lisp https://unglueit-files.s3.amazonaws.com/ebf/59f74a93bbc1435c... Get SBCL as the compiler/interpreter, it's the fastest FLOSS one. Portacle has everything to begin with minus t…

Practical Common Lisp is also a nice read, and the Cookbook* seems to be coming along quite nicely. There's also CLiki (the Common Lisp wiki), but I'm not sure how up-to-date it is.

* https://lispcookbook.github.io/cl-cookbook/

Post reply on HN