←back to thread

Four Years of Jai (2024)

(smarimccarthy.is)
166 points xixixao | 1 comments | | HN request time: 0s | source
Show context
sph ◴[] No.43726312[source]
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?

replies(4): >>43726339 #>>43726530 #>>43726853 #>>43730682 #
mjburgess ◴[] No.43726339[source]
Iirc, 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.

replies(3): >>43726361 #>>43726379 #>>43749235 #
xigoi ◴[] No.43726361[source]
> 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.

replies(5): >>43726406 #>>43726410 #>>43726436 #>>43726493 #>>43726632 #
chii ◴[] No.43726493[source]
> without accepting contributions.

it's not even contributions, but that other people might start asking for features, discuss direction independently (which is fine, but jblow has been on the record saying that he doesn't want even the distraction of such).

The current idea of doing jai closed sourced is to control the type of people who would be able to alpha test it - people who would be capable of overlooking the jank, but would have feedback for fundamental issues that aren't related to polish. They would also be capable of accepting alpha level completeness of the librries, and be capable of dissecting a compiler bug from their own bug or misuse of a feature etc.

You can't get any of these level of control if the source is opened.

replies(1): >>43726534 #
lifthrasiir ◴[] No.43726534[source]
You can simply ignore them. This worked for many smaller programming languages so far, and there exist enough open source softwares that are still governed entirely by a small group of developers. The closedness of Jai simply means that Blow doesn't understand this aspect of open source.
replies(5): >>43726583 #>>43727170 #>>43729370 #>>43731354 #>>43734631 #
worthless-trash ◴[] No.43726583[source]
I believe sqlite does this.
replies(2): >>43729199 #>>43730877 #
Capricorn2481 ◴[] No.43730877{3}[source]
That kind of means jack squat though. Jai is an unfinished *programming language*, Sqlite is an extremely mature *database*.

What chii is suggesting is open sourcing Jai now may cause nothing but distractions for the creator with 0 upside. People will write articles about its current state, ask why it's not like their favorite language or doesn't have such-and-such library. They will even suggest the creator is trying to "monopolize" some domain space because that's what programmers do to small open source projects.

That's a completely different situation from Sqlite and Linux, two massively-funded projects so mature and battle-tested that low-effort suggestions for the projects are not taken seriously. If I write an article asking Sqlite to be completely event-source focused in 5 years, I would be rightfully dunked on. Yet look at all the articles asking Zig to be "Rust but better."

I think you can look at any budding language over the past 20 years and see that people are not kind to a single maintainer with an open inbox.

replies(1): >>43735114 #
worthless-trash ◴[] No.43735114{4}[source]
We can muse about it all day, the choice is not ours to make. I simply presented the reality that other succcessful open source projects exist that were also in 'early development state'.

There are positives and negatives to it, I'm not naive to the way the world works. People have free speech and the right to criticise the language, with or without access to the compiler and toolchain itself, you will never stop the tide of crazy.

I personally believe that you can do opensource with strong stewardship even in the face of lunacy, the sqlite contributions policy is a very good example of handling this.

Closed or open, Blow will do what he wants. Waiting for a time when jai is in an "good enough state" will not change any of the insanity that you've mentioned above.

replies(1): >>43738052 #
1. Capricorn2481 ◴[] No.43738052{5}[source]
I don't have a stake in this particular language or its author, I was just discussing the pros and cons of the approach.

> Waiting for a time when jai is in an "good enough state" will not change any of the insanity that you've mentioned above.

I outlined some reasons why I think it would, and I think there's good precedent for that.

> the choice is not ours to make

I never said it was.

> People have free speech

I don't think I argued people don't have free speech? This is an easily defensible red herring to throw out, but it's irrelevant. People can say whatever they want on any forum, regardless of the projects openness. I am merely suggesting people are less inclined to shit on a battle-tested language than a young, mold-able one.