I'm not as dismissive to jblow, but I am frustrated with his model of development and the inflated expectations that come with it. It's quite likely that Jai will be a great language but it won't be the silver bullet some seem to think that it is. There's nothing more annoying than talking about the tradeoffs between compile time and static analysis only for someone to say "but Jai solved it" (and yes, I have conversations with people who do say this).
Imagine I had a startup and kept on posting about how amazing my product was and how everybody was going to find it revolutionary, and maybe I even shared a few streams of me using it, but I didn't release. And this continued for like, 6 years. Wouldn't you get a little suspicious? Even if I was running a closed beta. Even if I had a proven track record.
Writing a language and keeping it locked up while you perfect it just isn't a great model of development. Languages are not just the compiler and the corresponding features. They're tooling and infrastructure. They're libraries. They're communities. It may be wonderful to work sans the usual politics of open source, but you're not gonna end up making a language that people use.
And maybe that's not jblow's goal. Maybe he just wants a language for himself. Well, good for him. But that seems a little sad. Programming languages are some of the most generous, wonderful gifts to the CS world. If I were him, I'd hate to see my language die with me.
I wasn't familiar with him and found this video where he seems to say a lot of things that are kind of sketchy about concurrent programming at the very start of the video: https://youtu.be/hjvtzriNlMU
Because I can't download a compiler for his language and try out his ideas. I've designed fantasy programming languages, too, but you don't see me telling everyone on the internet that will listen to me about them, dragging other PL designers that have actually released working code through the mud as I do.
He demonstrably has a working compiler and programming language. Calling it a "fantasy" just because he has not given you full access to the source is plain incorrect.
He streams so much of his development work on the compiler that a determined party could probably reproduce it by just copying the text from his text editor. He streams so much of his game development using the compiler that it obviously and unambiguously works - and so long as you know all the idiosyncrasies of the language (a big caveat) works reasonably well.
He has put up, just not in the medium that you would prefer. You have not, so perhaps you should take the second half of your advice.
I can make a python script that prints out stuff while I'm streaming, too. He hasn't demonstrated squat.
But, let's say he does have a working compiler. It's very probable that he does. Why doesn't he release it, then?
Well you see, the only way it's possible to really effectively criticize a programming language is to use it. By not releasing the compiler, he avoids real criticism.
So, no, I don't take him seriously on PL design. At best, he's scared of criticism, but wants to be able to criticize others. At worst, he's a fraud.
I'm not a PL designer, but from everything I've heard him say regarding PL design, I agree with your assessment that one probably shouldn't take PL design advice from him (or at the least take them with a grain of salt).
However I don't think there is any need to suggest he's a "fraud", the language is "fantasy" or faked for the stream. I also don't think that there is any need for him to release the compiler.
Have you considered that Jai is just a hobby project? Many programmers choose writing a programming language as a hobby project so why shouldn't he? Releasing a compiler to the public and having everyone demand that he also maintains it for every corner case they have is a lot less fun than just working on it for your own scope and showing it off/discussing it in your stream.
Did he say something that offended you? He shares his opinions to people who ask about it. Often his opinions are shared on his livestream - which is an environment he ultimately owns.
I’m a bit shocked at your attitude with this. Your conviction is unnerving. The existence of jai doesn’t prevent the existence of Rust or other languages.
> I can make a python script that prints out stuff while I'm streaming, too. He hasn't demonstrated squat.
Creating a Python script that makes it look like you have an actual compiler is harder than you think it is.
> At best, he's scared of criticism, but wants to be able to criticize others. At worst, he's a fraud.
I wouldn't say he is scared of criticism, more like he is not yet at the state that he wants to accept criticism. I wouldn't want people to comment on my half-finished projects too, but this doesn't mean I can't say that something else couldn't be better.
So people can watch him develop software? The same reason why you might stream a "let's play" but not be interested in somebody commenting on how bad of a gamer you are?
The issue is that he uses that platform to criticize other languages. That's my root problem, here. If all he did was write code, then nobody would care.
I'd be okay if he never spoke about it as the next big thing in programming with no intention of releasing it for public criticism. It's 100% okay to have private, in-house tools.
> I can make a python script that prints out stuff while I'm streaming, too.
I really doubt this. The amount of effort and acting that would need to go into being able to script in advance the sort of mistakes you make when programming would be astronomic. You would have to never make a typo when you weren't supposed to, always make a typo when you are, somehow deal with the fact that when you get stuck you need to be able to respond to audience feedback, and so on and so forth. (Oh, and interactive 3d programs not just text to a terminal).
That's a lot harder than making a programming language.
> Why doesn't he release it, then?
Because he doesn't think public feedback would be helpful at this time. Because he wants to release software that he can take pride in instead of a alpha level programming language. Because that's what he is used to from game development. Because he feels like it. Etc. Why does it matter? You aren't entitled to it.
If he doesn't feel like public feedback would be helpful, then why is he streaming about it? That doesn't make any sense at all.
I'm not entitled to shit, but he's also not entitled to a platform. He's a game designer. He's released games. If he wants to talk about games design, I'm all ears.
> If he doesn't feel like public feedback would be helpful, then why is he streaming about it? That doesn't make any sense at all.
He _does_ take feedback from the public. That is, from people who take him seriously and participate in the conversation.
The compiler _is_ released in a closed beta. You could be a part of that if you were a productive voice in his language design discussions.
Instead, you're condescending:
> I can make a python script that prints out stuff while I'm streaming, too. He hasn't demonstrated squat.
> He's a game designer. He's released games. If he wants to talk about games design, I'm all ears.
Why would _anyone_ want to hear your ideas on their language if you believe these statements?
He's provided hours and hours of discussion on Jai and language design, explained most decisions he's taken and changes he's made since the inception of the language, documented the language's journey, _paid_ for people to work on the language, and we get to read "he could be faking it?" Yeah, he faked compiling programs with literal input from Twitch chat. The guy's a magician, not a programmer.
Why is the default that everyone should release the things they make? Maybe he just wants to use it for himself and is uninterested in anyone else using it.
I think that's a really toxic attitude. My thoughts about programming languages are still valid, even though I've never made one of my own. I have opinions about what works and what doesn't, based on experience using programming languages, and just because I haven't actually tried to write a compiler doesn't mean I should "shut up" about it.
If you don't like his ideas (or him) just ignore them. No one's forcing you to listen.
I think it's toxic to suggest your way or ideas are better without giving people any way to verify that they are. Of course anyone can have an opinion about anything.
Take him however you wish; I don't follow him or know the backstory here. But adopting a "put up or shut up" attitude makes it less likely that people excited about something will share it, especially if they're newer or less experienced. That sucks. We should try to make the tech community a welcoming place that fosters enthusiasm.
I neither know Jonathan Blow, nor understand why he must create a programming language to critique them - is he someone who works on programming languages as his day job, for some time, yet somehow has avoided enforcing his opinions on himself?
It's more the issue that he has one that has worked on in private. He hasn't released a version publicly. Someone earlier in the thread was saying the fact that he has designed a language means he is worth listening to where the counter argument is does it really count if he's never released it and no one really uses it?
He's a video game designer who announced a new programming language called "Jai" in 2014, and no compiler has yet been released for it (but he discusses new language features on his Twitch stream)[1].