Skip to content
This repository has been archived by the owner on Jun 28, 2023. It is now read-only.

jai: Consider / Explore migrating to the "Jai" programming language after it lands and matures #61

Open
silbinarywolf opened this issue Dec 24, 2018 · 0 comments
Labels
NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.

Comments

@silbinarywolf
Copy link
Owner

silbinarywolf commented Dec 24, 2018

Note: Considering this seriously is probably 2-3+ years away.

What?
Jai is the kind-of working title for Jonathan Blow's programming language that is literally designed for game development. It's not released yet and I'm sure it'll take a few years for it and it's community to mature.

Why look into this?

  • Tiny runtime (no GC, no Goroutines)
  • More performant
  • More control
  • Has generics
  • More game dev ergonomics
    • Function overloading
    • Operation overloading for Vector/Matrix types
    • Mega fast compilation time for x86

Why not look into this?

  • Have to start thinking about memory management
    • Not necessarily a problem for me, but I'd like my engine to be easy to develop in for artists with little programming experience.
  • No support for web. (JS / WASM will need to come from the community)
  • No support for WebRTC (ie. UDP in the browser, unlike Pions/WebRTC)
  • May lose test tools
  • Potentially a big job to rewrite. Considering I'm targetting 2D games, the payoff might not be worth it.

How would this project migrate across?
I'd probably make the next version of this project a breaking change and offer a sort-of upgrade path to the new Jai language.

@silbinarywolf silbinarywolf added the NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made. label Dec 24, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
NeedsDecision Feedback is required from experts, contributors, and/or the community before a change can be made.
Projects
None yet
Development

No branches or pull requests

1 participant