Jonathan Blow: “C++ is a weird mess”
gamesindustry.biz
gamesindustry.biz
The only actual information I can find about it is videos, which is kind of useless.
That said, if you want to know what Jai is about, I recommend starting from his first video: https://youtu.be/TH9VCN6UkyQ
The first couple dozen videos are all pretty dense, with him presenting the basics of the language pretty efficiently. (His more recent vids are more like development vlogs) Yes, videos are slow, but for me I don’t think I would’ve appreciated his design choices without all the context.
I also found watching his process for inventing the language extremely instructive, just as a programmer. It has substantially formed my own process and thinking over the last few years.
A lot of language decisions are the result of how you handle the edgecases, and how they interact with the rest of the semantics of the language. When thought isn’t given to that you get wonderful things like == in JavaScript (the absurd appearing behaviour is completely consistent with the internal semantics of the language - the weirdness is the result of other language features happening during evaluation)
I don't se why, if proper versioning is implemented.
Who thinks that? Everyone I work with wishes for simplicity. Sure, we recognise that there are tradeoffs and constraints, but simplicity is prized above complications.
If I had to ask for one language feature for game-related code, it would be a compiler backend targeting the various shader "ISAs". It should be relatively easy since the exposed architecture by the APIs are quite high level.
It would be useful, if only to make sharing data layout between the GPU & CPU less annoying (padding float4 slots by hand, sigh ...), as well as constants and other stuff.
Especially as modern rendering techniques are more and more compute shader heavy (tiled/clustered shading etc) we could definitely use some nicer high level language features in there instead of the usual preprocessor contraptions.
It is pretty easy to write a Lisp that does this.
But for now, glslify seems to simplify things. https://github.com/glslify/glslify
I'm using Go.
If that's the full scope of his technical argument then I don't see why it's a good idea for anyone to waste their time reading up on his vaporware language. I understand why the author feels the need to promote his work but his promotion angle and lack of technical arguments speaks for itself.
Not liking big agenda languages was one of the over-arching statements he made. For Rust specifically he felt the safety guarantees and ergonomics actually got in the way too much. I believe there were also concerns that the "zero-cost" abstractions that Rust provides aren't actually zero-cost for all applications of the language.
He is NOT an inexperienced developer. He has not been beaten down by asshole team leads in corporate environments for 2 decades and remains a free-thinker.
You should consider watching at least the first part of that talk. It made a splash at the time because there are several insights that people found provocative.