Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. SpaceX's Starship makes orbital debut deploying Starlinks before early ending (reuters.com)
    —discuss
  2. Learning a Language Through Literature (languagethroughliterature.com)
    1comments
  3. Prince of Persia (archive.org)
    —discuss
  4. What should we open source in the age of AI? (getmegaportal.com)
    —discuss
  5. Nobody Has a Good Answer for Agentic Identity Yet (fusionauth.io)
    —discuss
  6. Logo Design Trends in 2027 Favor Marks Someone Can Prove They Made (weandthecolor.com)
    —discuss
  7. Halting inputs by 2050 is insufficient to avoid marine microplastic accumulation (nature.com)
    —discuss
  8. A Vision-Language Model as a Teacher for Bird Vocalization Detection (biorxiv.org)
    —discuss
  9. The ACToRS in AI Framework (hedgehoglibrarian.com)
    —discuss
  10. Boulder County's wildfire risk eased after summer rain (boulderreportinglab.org)
    —discuss
  11. Setting Up a New iPhone 18 Pro with Apple Watch Series 12 (tidbits.com)
    —discuss
  12. Show HN: FastRecall, OpenRouter for Memory (fastrecall.ai)
    —discuss
  13. Wavelets in 3D Graphics (comonad.com)
    —discuss
  14. Can Muse make us forget the metaverse? (platformer.news)
    —discuss
  15. Show HN: Using 2D DFT, dithering, etc. to maximize eInk manga image quality (github.com/ciromattia)
    —discuss
  16. Durable Tasks in the Real World: What Problems Does It Solve? (tamirdresher.com)
    —discuss
  17. Pixi, a cross-platform, cross-language package manager (prefix.dev)
    —discuss
  18. Use of AI backfires on an expert witness at trial: "They have biases" (cbsnews.com)
    —discuss
  19. OpenCode launches higher tier for Go Plan (twitter.com/opencode)
    —discuss
  20. Comparing exception behavior of magic statics, std:call_once, and std:async (devblogs.microsoft.com/oldnewthing)
    —discuss
  21. First DVD player announced Sept 26, 1996 (dfarq.homeip.net)
    —discuss
  22. Hijacking the PS5's RTMP Stream (yashgarg.dev)
    —discuss
  23. Rick Manelius on Forward Deployed Executives [video] (youtube.com)
    —discuss
  24. Kids turned low-traffic NPR Spotify comments into a secret group chat (thisamericanlife.org)
    —discuss
  25. I asked across LLMs what is the best email provider: Resend is cited most (openllmrank.io)
    1comments
  26. What legal documents do startups need in the US? (stripe.com)
    —discuss
  27. Gevva0 – a Jev like decision engine on Gemma 26B via direct logit scoring (github.com/solvingsteve)
    —discuss
  28. Meta Poaches MongoDB CEO (mongodb.com)
    —discuss
  29. Universal gates from braiding and fusing anyons on quantum hardware (uchicago.edu)
    —discuss
  30. Ask HN: JEV for K1 Tax Forms
    —discuss

What makes Lisp difficult to read?

2 pointsby 34m agopaultm.nl
2 comments
16m agoHN ↗

I have not yet encountered a fully satisfying explanation as to why Lisp is perceived as being less readable.

Difficulty is, by definition, relative to one's skill. You cannot so quickly discount the fact that 99% of programming is taught in Java/C style language syntax. If you've had lifelong exposure to Lisp, you might feel exactly the opposite. The author does a poor job of justifying why these pop-cognitive-psych theories should have more weight than prior exposure.

Personally, as someone with decades of exposure to both styles, I look at the factorial example and see everything I love about Lisp syntax - consistent, no magic keywords and syntax to memorize, it represents a tree just like my mental model of code, there's no way to fall through and forget an else, expressions instead of statements, no early returns ... literally everything about the Lisp example is more readable to me. YMMV.

11m agoHN ↗

I tend to struggle with other people's indentation rules for code and other programming languages, like nobody liked my article that said you should carry indentation into embedded strings that represent other programming laguages like SQL

   result = sql.execute("""
      SELECT someColumn
      FROM thatTable
      WHERE anotherValue>55
        AND state='pending'
      ORDER BY createdDate
   """)

Ultimately the idea is that indentation should be influenced by semantics, the intention of the code, and not just the syntax. Of course that is against the "one way to indent" philosophy of Go, Biome, and such... But I might accept less than optimal indentation to put an end to tab wars once and for all.

I find indentation of Lisp always seems to fail at communicating in the semantics, much worse than other languages. Things like

   (if condition truePath falsePath)

are scrambled when your eye skips over something. If the Lisp community got over its respect for tradition perhaps they'd develop some kind of syntax highlighting or tooltips or something that would clarify this sort of structure.

About 90% of real language have subject-verb-object or subject-object-verb orders

https://en.wikipedia.org/wiki/Subject%E2%80%93object%E2%80%9...

verb-subject-object and verb-object-subject are more Lisp-like and represent 10% of languages including Standard Arabic, Finnish and Fillipino.

I like extreme parsimony, like I'd love to write stuff like

   format = lambda: `%1-%2`

but I think as complexity goes up depending on the meaningful order of elements breaks down in many ways and you need to give things meaningful names.