Discussion with Jon Blow and Casey Muratori: Making Programming Language Parsers, etc (Q&A in separate video)



1 Like

Jon Blow is frequently streaming his Jai Engine programming sessions, there are hours and hours of his rambling available on YouTube and Twitch. I haven’t watched the ones you posted, is there something particular in there you wanted to discuss in this forum?
If no, I want to suggest to not just post these videos here, since they tend to be very long and I don’t think they will spawn meaningful discussions here, if they are not prefaced with a very specific context.

I personally think is still good to share them, as one could be not aware of them (like me, for example :D). However I agree that specific comments could help sparkle a discussion

1 Like

Jon Blow is an icon for a lot of gaming industry coders.
On top of Jai, there is Odin language, https://odin-lang.org/
The Odin programming language is designed with the intent of creating an alternative to C with the following goals:

  • simplicity
  • high performance
  • built for modern systems
  • joy of programming

What is intersting in Odin Implicit context system

I’ve watched my fair share of Jon Blow content ever since I saw the Indie Game movie, and while I don’t doubt his intellect, I see many of his standpoints as well as his self-perception rather critical. His views are tainted very much by his experiences programming in games, and programming alone or in small teams, which is inherently different from other industries or working in large groups (I’ve done research and worked in games for several years, as well as other industries, like medical technologies, automotive, and IDE development). Yet, he seems to project his views on programming and software development in a very general way.

To give an example, watch his take on the Language Server Protocol, which he shares in his doomsday talk about the collapse of civilization. While many of his anecdotes during that talk are relatable and some are even funny, and while I understand his rhetorical and didactical sentiment, many of the points he makes are nothing but sophism to me.

Yeah I agree. I disagree with his notions of Rust and many other modern languages. I also disagree with his notions of scripting languages “not being real programming languages.” But I still thinks his videos could provide great discussions for those looking to take notes on this kind of stuff. They talk a lot about how parsers work and how someone could get started. They also make a really great point that a parser “is just a regular program that takes some input and spits out some output”. Which is completely true. Parsers range from tiny things that are like 10 lines of python code to thousands of lines of code in C++. I remember always being afraid of writing a parser because I thought it was something special. When I realized a few years ago it’s not that bad, after accidentally writing a parser for the first time, I realized that it was a lot easier. I had also made a program that communicates with the Nintendo Switch Joycons (the controllers) via bluetooth, and I had to construct the packets to the controllers and it would respond back and I would have to parse the packets. I’ve had to do the same thing in my job tons of times, in the exact same way in the exact same order. I think its important for newer people to language design to understand that parsing is not language specific. You can learn how to parse before you get into language design. And learning other parsing techniques could definitely help with learning language design.