Skip to content
DevMeme
Languages Post #107 · source on Telegram

A Lisp Programmer's Unofficial Motto

Description

A screenshot of a social media or forum comment thread with a dark background. The first comment, by user 'bautin', aggressively advocates for using parentheses to enforce the order of operations in code. It reads: "The proper order of operations is as follows: Put fucking parentheses around everything to force the order and stop being a bitch." This comment has 1.9k upvotes. A reply from user 'Nebuli2' succinctly states: "Ah, a Lisp programmer." which has 584 upvotes. The joke is a direct jab at the Lisp family of programming languages, which are syntactically defined by their heavy reliance on S-expressions (symbolic expressions), where every operation and its arguments are wrapped in parentheses. This syntax, while unambiguous, is often seen as verbose or "irritating" by programmers accustomed to languages with infix notation and standard operator precedence rules. The reply correctly identifies the first user's forceful opinion as the de facto philosophy of a Lisp developer, making it a classic in-joke for those familiar with different programming paradigms

Comments

8
Anonymous ★ Top Pick Most languages have operator precedence rules so you don't have to think. Lisp has one rule so you're forced to
  1. Anonymous ★ Top Pick

    Most languages have operator precedence rules so you don't have to think. Lisp has one rule so you're forced to

  2. Anonymous

    In my team we don’t argue about operator precedence - after the fifth set of parentheses the code self-identifies as a Lisp dialect and the bikeshedding just upgrades to macro hygiene

  3. Anonymous

    After 20 years in tech, I've learned that Lisp programmers don't have trust issues with operator precedence - they just have trust issues with everyone who came after McCarthy

  4. Anonymous

    Operator precedence tables are just tech debt the language took on so you wouldn't have to type parens - Lisp refused the loan and has been smugly debt-free since 1958

  5. Anonymous

    The real joke here is that after 20 years of arguing about operator precedence in code reviews, you realize the Lisp programmers were right all along - explicit is better than implicit, even if it means your code looks like a game of Towers of Hanoi. At least when production breaks at 3 AM, you won't be debugging whether that calculation failed because someone forgot that bitwise operators have lower precedence than comparison operators in C

  6. Anonymous

    Lisp: where operator precedence is obsolete, but paren debt compounds faster than interest in a legacy monolith

  7. Anonymous

    Precedence is a compiler feature; parentheses are a 3am-on-call feature - Lisp just productized it

  8. Anonymous

    Lisp’s fix for operator precedence is simple: delete precedence - then spend the saved time arguing which macro accidentally reinvented the compiler

Use J and K for navigation