Live data from Hacker News

Porting 58k lines of D and C++ to Jai

yet-another-blog.com

181–190 of 264 posts

Re: Porting 58k lines of D and C++ to Jai

#181

I’m in the private beta and things are changing constantly. I’m not sure why anyone would pick a language that won’t ever have a real ecosystem of libraries. Coming from C++ and need to remain low-level? Pick Rust, done.

> I’m not sure why anyone would pick a language that won’t ever have a real ecosystem of libraries

I think Jon is pretty hard in the camp of handmade game programming. My intuition about the decisions he's making about the language is that the way he's thinking about the "library ecosystem problem" is A) use a code generator to create library bindings from C++ (Raphael Luba, another dev contracted to work on Jai has done some extensive work there), or B) write it yourself.

Re: Porting 58k lines of D and C++ to Jai

#182

I’m in the private beta and things are changing constantly. I’m not sure why anyone would pick a language that won’t ever have a real ecosystem of libraries. Coming from C++ and need to remain low-level? Pick Rust, done.

With the almost total incompatibility in mindset and preferences between Jai and Rust, I’m not sure if this is actually practical ‘advice’. I can’t help but think most devs that want to use Jai are avoiding Rust purposefully so advising them to skip Jai as a potential replacement for their low level development needs and use Rust is just not going to happen.

Who is avoiding Rust (an open source, publicly accessible, and relatively widespread language) for Jai (a closed vapourware language that is apparently not anywhere near release) for anything but toy projects?

Re: Porting 58k lines of D and C++ to Jai

#183
post #147

Earlier quoted context omitted.

I'm curious - what you think of as a good example? I think of C++ templates & macros, which I would not describe as arising from restrictions?

Template metaprogramming in the absence of constexpr/concepts would be my guess.

Traits are more restricted in what they can do than Templates, so the original quote does not apply here

Re: Porting 58k lines of D and C++ to Jai

#184
post #108

> a big chunk of these vulnerabilities would not exist if C and C++ [...] simply didn’t have zero-terminated string, initialized values by default, had a proper pointer+length type thus replacing 90% of pointer arithmetic with easily bounds-checkable code, and had established a culture that discouraged the prevalent ad-hoc style of memory management. This is Rust's calling-card, so I find this plea for a better lang…

This is also C++20’s calling card. It has `std::span`.

But remember all C++ defaults are wrong, and so of course std::span isn't bounds checked

While your Rust slice will yell at you (at runtime if it can't figure it out at compile time) when you try to index into the fifteenth item in a ten item slice, C++ has Undefined Behaviour in this case.

Re: Porting 58k lines of D and C++ to Jai

#185
post #156

Please choose more descriptive titles for your submissions here, people. Some dude I don't know is porting a game I know nothing about to a language I know nothing about and his reason is "because I feel like it". He has grievances about the current state of things and the port hasn't gotten anywhere yet. I have a hard time thinking of a blog post that would be less useful to me. No lessons learned, no "why you shoul…

Nothing forced you to click on it

Re: Porting 58k lines of D and C++ to Jai

#186

I'm not sure that if passing from a widely used language to a marginal language wasn't a success why going from a marginal language to a totally obscure one will be

An obscure language custom built for the purpose of writing computer games and by a developer with razor sharp focus on making it better who is very responsive about bugs submitted by the people with access to the beta.

Re: Porting 58k lines of D and C++ to Jai

#187
post #21

Earlier quoted context omitted.

I'm starting to actually believe that Rust will eat C's lunch for systems programming.

I highly doubt so. Rust is extremely complex and restrictive. For actually critical software, there is Ada/SPARK.

Rust is much easier and less complex than C++, which is very widely used.

Re: Porting 58k lines of D and C++ to Jai

#188
post #21

Earlier quoted context omitted.

I'm starting to actually believe that Rust will eat C's lunch for systems programming.

The disparity between Rust jobs and C/C++/C#/Java/Golang jobs on Indeed is staggering. Even worse, most of the Rust jobs are blockchain-related and may not survive the coming blockchain downturn. It may be the case that some people use Rust but without Rust jobs, there will be no pool of experienced developers to later draw on.

AFAICT most Rust jobs don’t require previous experience in the language.

Anecdote: My company is a nearly 100% Rust shop and we have never made it a job requirement.

Re: Porting 58k lines of D and C++ to Jai

#189
post #143
post #21

Earlier quoted context omitted.

I'm starting to actually believe that Rust will eat C's lunch for systems programming.

Rust will not accomplish this without significant language changes as well as changing cargo into something a lot more cooperative with external ecosystems. Zig is getting an absolutely enormous boost from the fact that it is a self-contained C ecosystem that can cooperate with others. Zig has tripped into a very powerful niche--a lot of people LOATHE the build systems of the C/C++ world. If Zig gains very much more…

Cargo isn’t part of Rust (the language) and you can use Rust without using Cargo.

Re: Porting 58k lines of D and C++ to Jai

#190

I'd love to see more about Jai. I don't understand why they are not working in the open, this is a tool, not a game, input for a large community is extremely valuable. But as brilliant as Jon Blow is, he is at least equally as stubborn. Fast compilation and nice, easy to read syntax with good default is exactly what I am looking for. I can understand the hype about metaprogramming, and its potential usefulness, but I…

[deleted]
Post reply on HN