On 05/08/2017 09:21 AM, Rel wrote:
What do you guys think of the points explained here:
https://www.youtube.com/watch?v=gWv_vUgbmug


Watched the first 15-20 min of it. Definitely want to watch the rest. Buuuuuutttt.....so far it's a good example of the *one* little thing that kinda bugs me about Johnathan Blow:

I keep hearing him say the same things I've been saying for years, but because he wrote Braid, he can sometimes get people to actually listen instead of blindly dismissing everything. :/ (Granted that's not a fault of Blow's. But it still bugs me!)


1) The compile times seems very fast in comparison
with other modern programming languages, I'm wondering
how he managed to do it?

By being a game (and engine) developer and knowing the basics of writing efficient code, unlike the majority of the software industry.

(Seriously, if other circles of dev would pull their ***** out of their ***** long enough recognize all of what game programming obviously involves (ex: It's more than the glorified calculators that the upptity banking software is, and don't get me started on "enterprise" in general), then they could finally start learning how to write grown-up code and software today wouldn't suck so f****** badly.)

Also, not using header files.


2) Compile-time execution is not limited, the build
system is interestingly enough built into the language.

Nemerle had that years ago (although I'm guessing/hoping that unlike Nemerle, Blow's implementation probably doesn't require manually compiling to a DLL before being able to use given code at compile-time).

My inclination is that it's the right approach, and is one thing that makes D look clunky and awkward by comparison. I never bought D's argument that compiling source shouldn't be allowed to do arbitrary code execution or I/O because, come on, "build scripts" and "build systems". That "no arbitrary code execution" ship sailed ages ago: Who in hell compiles software from source without using the provided buildscript or buildsystem configuration (all of which, by necessity, allow arbitrary code execution and IO)? Nobody who isn't searcing for their own little corner of hell, that's who.

The *one* thing that does give me a little pause though is the possibility that order of compilation could change the results of generated code. I think it'll be interesting to see how that plays out in practice. "Don't do that" sounds nice, but the question remains: "Is it something that will happen without the author knowing he's doing it? If so, will it be a problem?"

            • Re: Jon... Meta via Digitalmars-d
              • Re:... Nick Sabalausky (Abscissa) via Digitalmars-d
            • Re: Jon... Nick Sabalausky (Abscissa) via Digitalmars-d
              • Re:... Patrick Schluter via Digitalmars-d
              • Re:... Ola Fosheim Grøstad via Digitalmars-d
              • Re:... Nick Sabalausky (Abscissa) via Digitalmars-d
              • Re:... Patrick Schluter via Digitalmars-d
          • Re: Jonathan... Ethan Watson via Digitalmars-d
            • Re: Jon... Nick Sabalausky (Abscissa) via Digitalmars-d
        • Re: Jonathan Blo... bachmeier via Digitalmars-d
  • Re: Jonathan Blow's presentat... Nick Sabalausky (Abscissa) via Digitalmars-d

Reply via email to