this post was submitted on 17 Dec 2025
515 points (96.4% liked)

Programmer Humor

28016 readers
1241 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] Zak@lemmy.world 5 points 6 days ago (1 children)

Entirely readable to someone who knows Common Lisp, and unreadable to someone who doesn't know any kind of Lisp. Mostly readable to someone who knows Emacs Lisp, Clojure, or Scheme.

Being able to correctly guess what the syntax does without knowing the language is a function of similarity to familiar languages more often than it is a characteristic of the syntax itself.

[–] bigfondue@lemmy.world 3 points 6 days ago (1 children)

Emacs Lisp

If someone knows elisp, they would have no trouble with that. Emacs has EIEIO, which is basically like CLOS lite

[–] Zak@lemmy.world 2 points 6 days ago (1 children)

I imagine the tricky part for someone unfamiliar with Lisp would be that there's no syntactic clue that a particular thing is a macro or special form that's going to treat its arguments differently from a function call. Someone who knows Scheme may have never seen anything like CLOS, but would see from context that defmethod must not be a function.

[–] bigfondue@lemmy.world 2 points 6 days ago (1 children)

Yea, and CLOS is pretty weird, with putting methods outside the class definition.

[–] Zak@lemmy.world 1 points 6 days ago (1 children)

You don't even need to define a class to define methods. I'm sure that's surprising to people coming from today's popular language, but the original comment was about syntax.

Whether Lisp syntax is ugly is a matter of taste, but it's objectively not unreadable.

[–] bigfondue@lemmy.world 3 points 6 days ago* (last edited 6 days ago) (1 children)

Where you can define a method is syntax

[–] Zak@lemmy.world 1 points 6 days ago

In most languages, I would agree with that. In Lisp, I think I might not. If Common Lisp didn't come with CLOS, you could implement it as a library, and that is not true of the object systems of the vast majority of languages.