Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    James Iry

    james-iry.blogspot.com · Personal blog · on HN since 2008

    James Iry writes about programming languages, type systems, and software estimation, including a well-known satirical language history.

    Visit blogHN submissions
    Languages & CompilersProgramming
    What HN says

    Commenters call his Brief, Incomplete, and Mostly Wrong History of Programming Languages the best article on the subject, and quote it often.

    Stats for nerds
    143HN people shared it
    89linked in comments
    2Kstory points
    Dec 2025last shared
    2011people per year2025

    Top posts on HN

    1. 1
      A Brief, Incomplete, and Mostly Wrong History of Programming Languages
      84 people · 1.6K points · first shared 2009 · 45 comments on HN
    2. 2
      Why C Is Not Assembly
      3 people · 93 points · first shared 2010 · 54 comments on HN
    3. 3
      A Brief, Incomplete, and Mostly Wrong History of Programming Languages (2009)
      1 person · 37 points · first shared 2014 · 13 comments on HN
    4. 4
      C Is Not Assembly
      1 person · 31 points · first shared 2010 · 14 comments on HN
    5. 5
      Types (and Languages) à la Chart
      4 people · 30 points · first shared 2010 · 2 comments on HN
    6. 6
      A Brief, Incomplete, and Mostly Wrong History of Programming Languages (2009)
      1 person · 30 points · first shared 2013 · 8 comments on HN
    7. 7
      How To Estimate Software
      2 people · 13 points · first shared 2010 · Discussion on HN
    8. 8
      A Brief, Incomplete, and Mostly Wrong History of Programming Languages
      8 people · 11 points · first shared 2014 · 1 comments on HN
    9. 9
      Type Systems: Bottom Type
      2 people · 8 points · first shared 2009 · Discussion on HN
    10. 10
      Why Eager Languages Don't Have Products and Lazy Languages Don't Have Sums
      2 people · 8 points · first shared 2011 · Discussion on HN

    What HN people wrote when they linked it

    • louthyAug 2023

      > none of it matters if you hope more people use and understand functional programming

      On a personal level, I couldn't care less tbh. If people want to learn it, that's great, if not that's also fine. There's plenty of room for procedural, OOP, and FP to exist side-by-side. If one domain feels complex to you, don't do it (or put extra effort into learning it), but I'd argue that OOP is much more complicated - it's just that most devs tend to grow up with OOP and so the context switch to FP is more difficult.

      > you overestimate how much people actually understand oop vs just winging it, in particular, inheritance and polymorphism

      Forget 'polymorphism' for a second and think about 'object'. An object in the real world doesn't have behaviours attached to it. An object in the real world doesn't mutate, in-place, in a discreet portion of time. Objects in the real world have a immutable past, a present state, and multiple possible futures based on interactions with external events. Those interactions is literally how we define time. OOP (as it's commonly practiced) does away with time and has myriad complexities because of it.

      The trivial OOP explanation "an object is like a thing in the real world. A rabbit is an object, a triangle is an object, etc." combined with the unbelievable complexity artefacts (in place mutation, hidden state, attached behaviours, etc.) - is much, much worse than the upfront cost of learning about: pure functions, monadic composition, etc.…

    • lenerdenatorApr 2024

      Reminds me of the Haskell entry on the Brief, Incomplete, and Mostly Wrong History of Programming Languages [0].

      "1990 - A committee formed by Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and People for the Ethical Treatment of Animals creates Haskell, a pure, non-strict, functional language. Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that "a monad is a monoid in the category of endofunctors, what's the problem?""

      Math people: "What if we made software code more like mathematical proofs?"

      Idk. What if you had dated before age 38?

      [0] http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html

    • gtaniApr 2011

      For more correctness, scala has had interop hiccups

      http://lampsvn.epfl.ch/trac/scala/ticket/2991

      http://stackoverflow.com/questions/3313929/how-do-i-disambiguate-in-scala-between-methods-with-vararg-and-without

      (and does Orig. Commenter have examples of clojure hiccups? Interop is very important to both (and F#). Maybe a more meaningful compare/contrast is haskell, scala and F# (which I can't do)

      http://matt.might.net/articles/best-programming-languages/

      ---------------

      http://james-iry.blogspot.com/2010/05/types-la-chart.html

      (his league table of "Most Powerful Type Systems": Agda, epigram, scala, haskell

    • ackfoobarFeb 2024

      > They just released a proposal that effectively side-steps the problem of checked-exceptions-in-lambdas.

      The main problem of checked exception in lambdas is that Java's type system does not allow expressing statements like "`forEach` throws whatever the lambda throws". Here are two links:

      http://james-iry.blogspot.com/2012/02/checked-exceptions-might-have-their.html

      https://blog.jooq.org/javas-checked-exceptions-are-just-weird-union-types/

      The proposed syntax puts the exceptions on equal footing with the happy path. Not a bad idea, but irrelevant to the main problem.

    • mericAug 2015

      "The Internet was built by people like me." - Eric S. Raymond

      I guess that's kind of like if Tim Berners-Lee said:

      "I built the internet."

      Maybe this author can fit some Eric S. Raymond's content into his blog post:

      http://james-iry.blogspot.com.au/2009/05/brief-incomplete-and-mostly-wrong.html

      If Eric S. Raymond doesn't spend wastefully, he should still have tens of millions:

      http://www.zdnet.com/article/eric-raymond-how-ill-spend-my-millions/

      He's a great software engineer, but I didn't like the tone of this campaign for monthly donations either.

    • tantalorAug 2022

      Sorry I think that joke went over your head.

      1990 - A committee formed by Simon Peyton-Jones, Paul Hudak, Philip Wadler, Ashton Kutcher, and People for the Ethical Treatment of Animals creates Haskell, a pure, non-strict, functional language. Haskell gets some resistance due to the complexity of using monads to control side effects. Wadler tries to appease critics by explaining that "a monad is a monoid in the category of endofunctors, what's the problem?"

      http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html

    Related

    James Hagueprog21.dadgum.com472 people

    Things That Turbo Pascal is Smaller Than

    James Hague
    Personal · last shared 2026
    Hillel Waynehillelwayne.com294 people

    1/0 = 0

    Hillel Wayne
    Personal · last shared 2026
    James Coglanblog.jcoglan.com93 people

    The Myers diff algorithm: part 1

    James Coglan
    Personal · last shared 2026
    Jeremy Bowersjerf.org78 people

    Functors and Monads for People Who Have Read Too Many “Tutorials”

    Jeremy Bowers
    Personal · last shared 2026
    Hirrolothirrolot.github.io27 people

    Rust Is Hard, Or: The Misery of Mainstream Programming

    Hirrolot
    Personal · last shared 2025
    John Regehrblog.regehr.org401 people

    Teaching C

    John Regehr
    Personal · last shared 2026
    Yossi Kreininyosefk.com387 people

    Yosefk - My history with Forth & stack machines

    Yossi Kreinin
    Personal · last shared 2026
    Storytotellstorytotell.org18 people

    Free your technical aesthetic from the 2010s

    Storytotell
    Personal · last shared 2026