6 ms·
Surprising deep and level headed analysis. Jai intrigues me a lot, but my cantankerous opinion is that I will not waste my energy learning a closed source langu
by sph 2y ago
Surprising deep and level headed analysis. Jai intrigues me a lot, but my cantankerous opinion is that I will not waste my energy learning a closed source language; this ain’t the 90s any more.
I am perfectly fine for it to remain a closed alpha while Jonathan irons out the design and enacts his vision, but I hope its source gets released or forked as free software eventually.
What I am curious about, which is how I evaluate any systems programming language, is how easy it is to write a kernel with Jai. Do I have access to an asm keyword, or can I easily link assembly files? Do I have access to the linker phase to customize the layout of the ELF file? Does it need a runtime to work? Can I disable the standard library?
- mjburgess 2y agoIirc, pretty sure jblow has said he's open sourcing it. I think the rough timeline is: release game within the year, then the language (closed-source), then open source it. Tbh, I think a lot of open source projects should consider following a similar strategy --- as soon as something's open sourced, you're now dealing with a lot of community management work which is onerous.
- baranul 2y agoAn argument can easily be make that Jai could have been released as closed-source, some time ago. Many fans and the curious, just want to be able to get their hands on it. Jon is not going to stop public reaction nor will Jai be perfect, regardless of when he releases. At least releasing sooner, allows it to keep momentum. Not just generated by him, but by third parties, such as books and videos on it. Maybe that's where Jon is making a mistake. Not allowing others to help generate momentum.
- xigoi 2y ago> as soon as something's open sourced, you're now dealing with a lot of community management work which is onerous. This is a common misconception. You can release the source code of your software without accepting contributions.
- 0x1ceb00da 2y agoThere is a lot of experimentation going on as well. Few months ago 2 new casting syntaxes were added for users to evaluate. The plan is to keep only one and remove the others before release.
- mjburgess 2y agoI don't think the issue is just contributions. It's the visibility. When you're a somewhat famous programmer releasing a long anticipated project, there's going to be a lot of eyes on that project. That's just going to come with hassle.
- diggan 2y ago> That's just going to come with hassle. Well, it is the public internet, people are free to discuss whatever they come across. Just like you're free to ignore all of them, and release your software Bellard-style (just dump the release at your website, see https://bellard.org/ https://bellard.org/) without any bug tracker or place for people to send patches to.
- sesm 2y agoOne is also free to not provide the food for discussion, that's the choice jblow made.
- codr7 2y agoTiming IS important, releasing too early can kill public opinion on a project.
- ModernMech 2y agoSo can announcing too early. See: Duke Nukem Forever. Or in the language domain, V-lang.
- tialaramex 2y ago
- sph 2y agoThat’s what I meant by forked. If Jonathan wants to keep his branch closed source, that’s fine, as long as he cuts a release, gives it a GNU license and calls it OpenJai or something. He doesn’t have to deal with the community, somebody will do that for him.
- pjmlp 2y agoApparently not only do the 90's approach still work pretty well when the language comes with a piece of green coloured hardware, all the ongoing returns to 90's licensing models prove that the free beer approach isn't working when the goal is to build a sustainable business of out the technology.
- az09mugen 2y agoThere is this streamer that does a lot of interesting language exploring on his own. I don't say you will find all the answers to your questions, but I think you will get a good sense of what you can or cannot do in jai : https://www.youtube.com/results?search_query=Tsoding+jai https://www.youtube.com/results?search_query=Tsoding+jai
- sph 2y agoTsoding is great. Don’t be put off by the memelord persona, he’s a genuinely smart guy always exploring some interesting language or library, or reimplementing something from scratch to truly understand it.
- estebank 2y ago> Don’t be put off by the memelord persona One can be put off by whatever one is put off by. I've gotten to the point where I realized that I don't need to listen to everyone's opinion. Everyone's got some. If one opinion is important, it will like the shared by more than one person. From that it follows that there's no need to subject oneself to specific people one is put off by. Or put another way: if there's an actionable critique, and two people are stating it, and one is a dick and the other isn't, I'll pay attention to the one who isn't a dick. Life's to short to waste it with abrasive people, regardless of whether that is "what is in their heart" or a constructed persona. The worst effect of the "asshole genius" trope is that it makes a lot of assholes think they are geniuses.
- AlchemistCamp 2y ago> If one opinion is important, it will like the shared by more than one person. Sometimes nobody else shares the opinion and the “abrasive person” is both good-hearted and right in their belief: https://en.m.wikipedia.org/wiki/Ignaz_Semmelweis https://en.m.wikipedia.org/wiki/Ignaz_Semmelweis Personally, I’d rather be the kind of person who could have evaluated Semmelweis’s claims dispassionately rather than one who reflexively wrote him off because he was strident in his opinions. Doctors of the second type tragically shortened the lives of those under their care!
- WalterBright 2y agoSome comparison with D: > Do I have access to an asm keyword, Yes, D has a builtin assembler > or can I easily link assembly files? Yes > Do I have access to the linker phase to customize the layout of the ELF file? D uses standard linkers. > Does it need a runtime to work? With the -betterC switch, it only relies on the C runtime > Can I disable the standard library? You don't need the C runtime if you don't call any of the functions in it.
- sph 2y agoThanks. I haven’t played with D since it also had a closed source implementation (10+ years ago) and never kept up with its newer development. I should check it out again.
- WalterBright 2y agoD is Boost licensed front to back, which is the free'est license out there.
- GoblinSlayer 2y agoI don't get what's up with the runtime hysteria. All languages have a runtime maybe except for assembler. And linux kernel itself is infamous for being not C by a large margin. And in general remove something important from any program and it will stop working.
- muth02446 2y agoIf you do embedded work, you often want to be in total control of all memory allocations. So it is good to know that the compiler will not produce some invisible heap allocations and there is a useful subset of the standard libray that does not use them either.