4 ms·
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,
by wk_end 2y ago
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 usual boxes: "it's so powerful and liberating", "working in an image on a living system is amazing once you try it you'll see", "critics are wrong you can write unmaintainable code in any language", etc.
OP hasn't even really used Lisp in anger, yet: "my next project is being built with it". I'd be much more interested in seeing a postmortem after that - "Ten Years Building a Major Piece of Software in Lisp" - with some actual self-reflection, rather than just a regurgitation of the usual talking points.
- jwr 2y ago> OP hasn't even really used Lisp in anger, yet: "my next project is being built with it". I'd be much more interested in seeing a postmortem after that - "A Reflection of Ten Years Building a Major Piece of Software in Lisp" - with some actual self-reflection, rather than just a regurgitation of the usual talking points. I should probably write that post, though about "a Lisp", not strictly about Common Lisp. I've been using Clojure to make a living for the last 10 years or so, quite successfully and I can't see anything else that would fit my needs better. I came to Clojure from Common Lisp.
- ds9soft 2y agoBlog post author here: True. But there's no reason not to write when you are in anger about other languages that you do use every single day. I guess I was just venting and also reaffirming my intention to use CL. I have used it before in a previous job for a quick tool and I know it can be used for more complex stuff, which I have already started building. I haven't been writing a major piece of software in Lisp for 10 years, so I can't write about that. But I can compare how it feels to write software in other languages vs Common Lisp. And also, Lisp is a blip compared to Rust or Go right now, so I don't know why it's so terrible to talk about it. People will keep talking about the things they like as much as the things they don't like. And it's fine.
- erik_seaberg 2y ago"Used in anger" means for a serious goal. It's an analogy for firing a gun in combat rather than just for training or testing.
- ds9soft 2y agoThanks for the correction.
- dunefox 2y agoPlease do continue to write about Lisp.
- wglb 2y agoYes, it is a bit grumpy. I am in the process of writing an example of > "Ten Years Building a Major Piece of Software in Lisp" Coming to a ShowHN soon.
- anonzzzies 2y agoI guess I need to write that then. It's not magic, it's not all powerful etc, but, for me/us, it is better than anything else that is there. Our company library is basically a dsl that grew over decades and it is a pleasure. I work with other tech and it basically really sucks balls compared to CL/SBCL/emacs. I am sorry for anyone who missed out on this, but it is not a religion; use what works for you.
- Lyngbakr 2y agoOP hasn't even really used Lisp in anger, yet This struck me, too. My current hobby project is in Go and I'm really quite enjoying it. It doesn't feel "soulless" to me at all. That said, I'm well aware that my opinion may be different if I had to write Go for a living instead of just for fun.
- ds9soft 2y agoI have used CL before, but not in anger.
- anonzzzies 2y agoI use Go too; I am an old guy and I like C; go reminds me of it. I don't have to remember anything; I can just dev with it without internet if need be. But I can also do that with CL and then, well, everything is better. For me anyway.
- allknowingfrog 2y agoI've also been dabbling in Go recently, and I'm finding that the culture surrounding it is one of actually understanding what your code does. My main language is Ruby. It hits many of the same high notes that Lisp programmers talk about, and I enjoy writing it. There's just something about the practical, concrete nature of Go code that appeals to me.
- KerrAvon 2y agoSomeone once wrote that "Ruby is an acceptable Lisp." Is Go your first static language? It's not a particularly good one except for certain niches. You might try some others.
- allknowingfrog 2y agoIt is, yeah. I've done tutorials in C and Rust and even Haskell at one time or another, but never anything serious. What do you recommend?
- kubectl_h 2y agoI enjoyed using elisp and common lisp for the years that I spent in emacs and stumpwm but it always made me chuckle when I'd read some comment or blog post proclaiming that learning lisp is somehow like ascending to a higher plane of developer consciousness. I feel like that sentiment was really high around the late 00's and early 10's for some reason, but also it may have been because that's when I used it most.
- leprechaun1066 2y agoShinmera recently talked about porting SBCL to the switch: https://reader.tymoon.eu/article/437 https://reader.tymoon.eu/article/437
- dang 2y agoDiscussed here: Porting SBCL to the Nintendo Switch - https://news.ycombinator.com/item?id=41530783 https://news.ycombinator.com/item?id=41530783 - Sept 2024 (81 comments)
- anthk 2y agoTry 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/ https://nyxt.atlas.engineer/
- f1shy 2y agoThat 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.
- orthecreedence 2y agoThis is a good perspective. I did work in lisp, including production systems (albeit small systems), for many years and authored many open source projects in CL. I'd say the biggest hurdle was the community. There was a strange balance between getting contributors and people going off and rewriting the thing you're working on becuase they can do it better/make it faster/etc. It definitely skews towards people going lone-wolf. A lot of people said this going in but I ignored it because I love the language (still do) but eventually got burned out on trying to do anything real with CL. I absolutely did get highly impactful contributors on some of my projects, and I'm still thankful to them, but there was also some "this isn't fast enough I'm going to just rewrite it" that frustrated me a lot. One place I think CL absolutely would shine is game dev. I started using it for that a bit and the ability to redefine the system while it's running is an incredible superpower. Forget compile times, rebuilding the state of a game can take a long time and being able to fix a bug or adjust behavior right then and there is really cool. This probably isn't even novel anymore given modern game engines, but at the time I loved it.
- ds9soft 2y agoThat's true of any language or project to be fair. Big egos are everywhere in software development.
- orthecreedence 2y agoI'm saying, based on my observation, it's more pronounced in CL's culture, not that it doesn't happen in other languages.