Programming Avant-Garde

(mmapped.blog)

64 points | by surprisetalk 5 days ago ago

11 comments

  • nadam a day ago

    Re-watching Bret Victor's "Inventing on Principle" was an interesting experience today. At the time of recording (2012) his talk was magical and ahead of its time. Today his principle (immediate feedback to the creator) is fully applied in tools for technical artists. (Unreal Engine, Houdini, etc...) It is funny to see what happened with his ideas: basically what happened is that the software engineer and technical artist roles has got really separated. For technical artists his ideas are everyday life today, almost trivial seen from 2024 (although they are not), although they work mostly not in text-based, but node based programming languages. For software engineers his ideas are not so relevant as software engineering is specializing on the more messy, more abstract or more complicated problems. Frontend development is somewhere in between. I think Tim Sweeney (and his team) is missing from the list, who I believe has seen this coming already in 2012 and built Unreal Engine to its current form.

    • Fraterkes a day ago

      In what way do Unreal and Houdini embody "immediate feedback to the creator"? If youre just talking about Lumen and Nanite (which I think is a bit of a stretch), Blender arguably got there first with Eevee. I don't think Unreal even has proper hot-reload.

      • nadam a day ago

        An example is the material editor. When dragging a value of a property of a node (like color) you see it immediately in the editor. You apply a material on an object, (regular object, water, Landscape), and while changing stuff in the node graph, you can see it applied to the object on the scene almost immediately (depending on some factors of course). A Material can be as complex as a Landscape auto-material which magically auto-generates the surface appearance of a complex landscape (with even foliage). But this is just an example, there are other node graphs in Unreal, like PCG. Hot-reloading my C++ code is not strictly necessary as I write C++ code mostly for really messy complex stuff, where I need to think a lot between tests. So I think Unreal mostly has immediate feedback where it is most necessary.

      • scott01 a day ago

        You can tune data assets while the game is running in editor. Hot reload works and is a crucial part of workflow in a lot of projects. The caveat, if I understand correctly, is that it works only for UObjects. I was surprised seeing UE recompiling stuff on my pet project on Linux, without doing any extra configuration.

  • DeathArrow a day ago

    Sadly, the world seems to be influenced more by the wrong people and ideas. GoF patterns, Martin Fowler, Uncle Bob, writing everything in javascript.

    • polotics a day ago

      It's a bit more complicated than that, IMHO. The GoF, Bob and Martin, come from a place of having seen problems and trying to provide solutions as best they can, with valid experience on stuff that did help. The fact that some bullies then use these guys' honest attempts at helping others to shoehorn their views into any discussions and kill debate is a sad thing, but not really their fault, right?

    • bvrmn a day ago

      On a more deep level "bad" ideas are driven by consumerism/capitalism in general. It's a mere reaction to management demands.

  • scott01 a day ago

    Casey Muratori’s content has had a profound influence on me as a programmer. I’ve enjoyed going through his articles (check out “Stable Filter” [1] if you haven’t yet), as well as his course “Computer, Enhance” [2].

    1. https://caseymuratori.com/blog_0035 2. https://www.computerenhance.com/

    • DeathArrow a day ago

      I, too, enjoy Casey's ideas. Sadly, he would have been rejected at most job interviews for refusing to use factory-factory-factory type patterns.

  • bvrmn a day ago

    > THE THIRTY-MILLION-LINE PROBLEM

    It starts from a wrong premise that nobody knows what all this code does and goes off the rails further down.

    90% is drivers for millions of hardware SKUs. Author intentionally ignores a fact that 80-90es world didn't have such selection and thus was immensely simpler to ship your applications.

    OS is not a problem.

  • a day ago
    [deleted]