Hacker News Comments on
Jonathan Blow "Making Game Programming Less Terrible" Talk at Reboot Develop 2017
Daniel Bross
·
Youtube
·
71
HN points
·
4
HN comments
- This course is unranked · view top recommended courses
Hacker News Stories and Comments
All the comments and stories posted to Hacker News that reference this video.You don't know what you're talking about. Chris spotted the developer's unfamiliarity with the web and he was right.At this point, I have loaded the all the HTML, CSS and even an image but not a single pixel will be drawn until the JS is done downloading and running. The problem here is not JavaScript, but render-blocking tags. This should be relevant: https://stackoverflow.com/questions/4396849/does-the-script-...200ms: http handshake done. let's download this HTML page 207ms: ok the page is downloaded. let's see what it's all about 213ms: better look ahead and queue up all the files this page needs. it's a CSS file, a JS file and a bunch of PNGs 214ms: parses 9 lines. stops parsing. 217ms: CSS starts downloading! 220ms: JS starts downloading! 221ms: one of the PNGs starts downloading! nothing happens 384ms: CSS is done downloading :) 389ms: CSS is done parsing :) 405ms: the first PNG is done downloading :)
Why can't the website just load everything and then, only after showing you the contents of the page, run the necessary JavaScript? Probably because the developer never even thought about all of this. I don't blame him. He's not walking around saying his website is fine handcrafted HTML free of bloat or fluff. He's just making a website about his book.
As a sidenote, you believing that this is a website that "loads extremely quickly" reminds me of Jonathan Blows's "there's generalized insanity about software and people often don't know what makes programs slow" ( https://www.youtube.com/watch?v=gWv_vUgbmug )
⬐ tscs37I think it's less of an unfamiliarity and more of an outdated development practise. Plus, completing the entire page in under 750ms (measured in Firefox) is still faster than some other pages out there (reddit: 4s, HN: 1.2s, etc)I would personally say the website has it's charm, even if it's a bit dated in design.
⬐ muthdraOh no, I don't have anything against the website. It worked 100% of the times I tried in less than one second and it responds well to every lighthouse audit for performance except render-blocking tags. Also the books look amazing.But the point was all about the look of the site and the defense was that it should behave like an old-time simple barebones website because it looks like one. This is not true.
This website waits to parse a JavaScript file that adds like 5 lines to the bottom of the page. It looks and behaves... unconventionally.
This is of no use for me unfortunately. I don't miss OO syntax from C at all. OO by default leads to badly architected software, as learned emprically from many projects. I'm perfectly happy with the minimal OO support that C brings - Just pass an explicit "vtable" (struct of function pointers) in the few cases where it makes sense.Instead of OO I would like to know if we can do something about the (mostly compile performance) problem that importing external interfaces is done by including text files, and that compilation means writing intermediate results to disk.
Also there might or might not be a nice solution for better compile time code generation (just for the rare things where it's really useful, like support for type-generic value printing when debugging).
Jonathan Blow has made some really impressive advancements with his Jai language (his own language) compiler https://www.youtube.com/watch?v=gWv_vUgbmug. Compiling a game engine and a little game (50K lines of code I think) in less than a second. Whether his ideas work out well in the end or just work for himself remains to be shown, but it's very interesting to watch the video in any case.
⬐ speaseHas there been any external verification of Jai?⬐ jstimpfleHow do you mean? The compiler is not released yet, but he has done many streams working on the compiler and on the game engine (both written in that language) and answering questions. You can find them all on youtube.
also Jai: https://www.youtube.com/watch?v=gWv_vUgbmug
⬐ _pmf_I have hopes that Jai will be at a very nice local optimum regarding performance and productivity, but I think just like in C++, safety is not a major design goal (you need to be unsafe if working with memory mapped structs).⬐ Rusky> you need to be unsafe if working with memory mapped structsPerhaps when defining their address and layout, or if they are a hardware structure that affects memory like a page table or TLB or a DMA controller, but beyond that, why? Or is that just the main use case you're describing?
For anyone who hasn't yet seen it, check out Jonathan Blow's Jai language, it is fantastic!
⬐ papafThat's cool. Is there somewhere I can download the language to play with?⬐ wulfklaueNo ...
⬐ Pica_soOFascinating to see a language that supports DOD as a paradigm.
⬐ mcbitsAny time someone complains about software startup times, I'm reminded of Blender, which starts in a fraction of a second on my old 1st-generation i5 with a cold cache. That should be the baseline: If a program is less complex than Blender, there is no excuse for taking more than 1 second to launch.