this post was submitted on 13 Oct 2025
21 points (100.0% liked)

programming

278 readers
1 users here now

  1. Post about programming, interesting repos, learning to program, etc. Let's try to keep free software posts in the c/libre comm unless the post is about the programming/is to the repo.

  2. Do not doxx yourself by posting a repo that is yours and in any way leads to your personally identifying information. Use reports if necessary to alert mods to a potential doxxing.

  3. Be kind, keep struggle sessions focused on the topic of programming.

founded 2 years ago
MODERATORS
 

I get dizzy looking at C-like languages, they just feel incredibly hard to follow compared to an S-expression.

Everything this just so verbose and there's so much negative space between the lines. To be fair, this course is making us program using Java so maybe it has to do more with that.

you are viewing a single comment's thread
view the rest of the comments
[–] BeanisBrain@hexbear.net 3 points 1 month ago* (last edited 1 month ago) (1 children)

A list of space-separated strings in parentheses

Literally everything in Lisp is one of these

A list is space-separated items in parentheses

A variable assignment is space-separated items in parentheses

A function call is space-separated items in parentheses

A function definition is space-separated items in parentheses

If you want to put one of these inside another (For example, a function call inside a variable assignment) you have to put a parentheses list inside another parentheses list

It makes everything a hellish homogenate soup that's the equivalent of a video game where key interactable objects are the same color and texture as the background

It also has weirdly aggressive advocates. One of them treated my dislike of it as though it couldn't possibly be legitimate, insisting that I hadn't taken the time to properly understand it (I took a semester-long class on it, in which I got an A), while another on this very site wanted to outlaw using any other language to the tune of 51 upvotes.

[–] hello_hello@hexbear.net 1 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

It makes everything a hellish homogenate soup that's the equivalent of a video game where key interactable objects are the same color and texture as the background

At least it's only one structure to memorize and is consistent with all dialects. Meanwhile C-likes have invented an innumerable amount of special jargon unique to each of them and them only.

A list of space-separated strings in parentheses

Also this is straight up wrong. Atoms are s expressions but not lists.

(I took a semester-long class on it, in which I got an A),

This is a unfair thing to say considering we know nothing about what your semester long class on it was or how that grade somehow makes your assessment more objective. My HS taught racket for its intro CS course and every student hated it and thought lisp sucked ass and were happy to use Python next semester, myself included.

Turns out the curriculum sucked ass (3 weeks to teach a strict functional lisp and then they switch to a modeling language called netlogo that is far away from being a lisp).

None of the students could explain what a cons cell was, or what a linked list was.

I get that you personally don't find it easy to parse, but that doesn't mean that the language itself is unparseable

[–] BeanisBrain@hexbear.net 2 points 4 weeks ago (1 children)

Of course my assessment isn't objective. Talking about a programming language based on aesthetics and readability is inherently subjective, as I'd hope anyone reading this could figure out for themselves. If you like LISP, keep using LISP. My perspective is my own.

This is a unfair thing to say considering we know nothing about what your semester long class on it was or how that grade somehow makes your assessment more objective.

I understood LISP well enough to get a high grade in a 300-level college course dedicated entirely to teaching LISP under a school and a professor that were both highly rated for teaching comp sci. I learned LISP. I applied LISP. I did not like LISP.

I knew another guy who insisted that I hadn't given LISP enough of a chance, that the only way to properly learn it was through a book called Practical Common LISP. I read this book. I worked through it. It gave very little attention to drilling basic concepts. It introduced macros almost immediately. It did not make it any easier for me to parse LISP code. I did not find it helpful. I still did not like LISP.

Yet another LISP advocate told me that I only thought I didn't like LISP because both of the above methods were bad, and the only proper way to learn LISP was through the book Structure And Interpretation Of Computer Programs. Maybe I'll try that one someday, but I'm getting a bit tired of trying to learn the language only to be told I'm doing it wrong.

[–] hello_hello@hexbear.net 2 points 4 weeks ago* (last edited 4 weeks ago) (1 children)

I'm sorry, it wasn't right of me to berate you like that.

My first real intro to lisp was using Emacs, so writing lisp had a direct practical advantage to being able to customize and run tools in the editor.

I also read SICP as well. The first few chapters do help in understanding lisp in relation to it being a metaphor for organizing computer programs but it isn't a deep dive into the language itself.

I just felt unreasonably frustrated when people bring up the paranthesis (Language of Idiotic Superfluous Paranthesis) since balancing sexps is a very surface level view of the language that basically never comes up after the growing pains stage (and using an editor that automatically balances parens and allows you to manipulate sexps as a unit). It would be like deriding all of Python because it uses indentation to separate blocks of code and calling it unreadable.

[–] BeanisBrain@hexbear.net 2 points 4 weeks ago

I'm sorry, it wasn't right of me to berate you like that.

We're cool heart-sickle