Writing that changed how I think about programming languages

(bernsteinbear.com)

177 points | by r4um 7 hours ago

5 comments

  • sph 2 hours ago
    I love this! I have done a lot of CS research lately, and some of these I haven’t come across yet.

    Let me share some of my favourites not listed here, off the top of my head:

    - Ian Piumarta’s “Open, Extensible Object Models” (https://www.piumarta.com/software/id-objmodel/objmodel2.pdf) is about creating the most minimal object-oriented metaobject system that allows the maximum amount of freedom for the programmer. It basically only defines a message send operation, everything else can be changed at runtime. The practical counterpart to the dense “Art of the Metaobject Protocol” book.

    - John Ousterhout “Scripting: Higher-Level Programming for the 21st Century” (https://web.stanford.edu/~ouster/cgi-bin/papers/scripting.pd...) - not really a paper, but an article from the creator of Tcl about the dichotomy between systems programming languages and scripting languages. Obvious at first sight, the lessons therein have wide ramifications IMO. We always seek the perfect multi-paradigm language that can do anything at high performance with the most productivity, while perhaps it is best to have compiled, fast, clunky systems languages paired with ergonomic, flexible interpreted frontend. Often all you need is C+Tcl in the same app. A must-read for anyone writing yet another programming language.

    - Niklaus Wirth's Project Oberon (https://people.inf.ethz.ch/wirth/ProjectOberon/) is the implementation of an entire computer system, from the high-level UI down to kernel, compiler, and a RISC-like CPU architecture. He wrote the seminal "plea for lean software" and actually walked the walk. A long lost art in the era of dependency hell and towering abstractions from mediocre coders.

  • jwr 2 hours ago
    I would also highly recommend watching one of Rich Hickey's talks (especially the earlier ones). Watching those certainly changed how I thought about programming in general.
    • sph 17 minutes ago
      Skip “Simple made easy” because I cannot stand hearing that talk quoted by basically every single conference speaker in the last decade. It’s become its own cliché.

      (Joking of course. I much prefer “Hammock driven development” but it’s not very corporate friendly)

  • deanebarker 1 hour ago
    I wish someone would write this for higher-level languages: JavaScript or .NET. I'm sure this person is brilliant, but they're operating at a much lower (higher?) level than most of us.
  • AlphaGeekZulu 5 hours ago
    For micrograd: is there more documentation available than just the source code in the Github repo?
  • kreelman 5 hours ago
    Neat. Thanks.