Jai - A Programming Language for Games


kaprikawn

Very Active Member
Joined
Sep 28, 2008
Messages
421
Location
UK
Website
kaprikawn.wordpress.com
Just in case it's passed anyone by (it did me until recently), Jonathon Blow of Braid and The Witness fame is making a new programming language for games called Jai.

It seems like he's been working on it for about five years, and it's a compiled language aimed at being better than C++ for games. Currently it isn't available, but it seems that it's been sent out to a bunch of people recently to beta test. And once it's released it'll be open source and MIT licensed (or otherwise liberally licensed).

There's an old video of the genesis of it here and plenty more since in the playlist (warning, the videos are very long but super informative) :



If you want something a little shorter, someone from CD Projekt Red has done some videos previewing it starting with :

 
I don't want ro ruin the surprise... but...
The second video finishes with an hangover :'(

Damn, a VisualStudio-Like environment without installation ?! Without compiled libraries ?!
This is cool just for these 2 things !!
 
I don't want ro ruin the surprise... but...
He's a C++ programmer, give him a break. Look how happy he is at basic things Bash (import is done with just a dot), Python and Perl have.
Note that Python started off as a meh language, then went through excruciating backwards-incompatibility, more than once, before it became Python 3.x

However, Jai works as I expect it to work, when importing a global function. So I can import f() from any file, and it will just work, not that because I used another filename, I suddenly have to change may calling code.
I'm sure there is a way to call f as if it was a member of different classes.

Damn, a VisualStudio-Like environment without installation ?! Without compiled libraries ?!
Sorry to burst your bubble, but It's just Microsoft Code for Linux. Not trying to be mean. Probably has an CODE add-on for defining the syntax.

Love these small languages (like autoit3, tcc, rebol, Perl5) that "just work when in the path". Hope they can fix the scope thingy.

Note about Perl, you can also redefine functions, and it just runs. You just need to enable the warnings pragma to get such warnings:

Code:
$ cat a
sub r{}
sub r{}
$ perl a
$ perl -wc a
Subroutine r redefined at a line 2.
a syntax OK

Like so:

Code:
$ perl a
Subroutine r redefined at a line 3.

$ cat a
use warnings;
sub r{}
sub r{}

for double subroutines, without overloading, we just need to put them in a package:

Code:
$ perl a
Who's on first
What's on second
$ cat a
use warnings;
require "a.1";
require "a.2";
first::r();
second::r();

$ cat a.1
package first;

sub r{
    print "Who's on first\n";
}
1;
$ cat a.2
package second;

sub r{
    print "What's on second\n";
}
1;
 
Last edited:
  • Like
Reactions: rSl
Sorry to burst your bubble, but It's just Microsoft Code for Linux. Not trying to be mean. Probably has an CODE add-on for defining the syntax.

After VB5, I always evaded every Microsoft programming environments at a point then when, for work reasons, I had to learn C# (by myself), I didn't even know that VisualStudio was the main dev. enviroment... so I used VIM to make everything...
after some months, another dev. that was born in C# had to take my role... he was clueless... took him a month to add stuff that I could have done in a day :D
 
Last edited:
I always evaded every Microsoft programming environments
I try too, but sometimes need to at least say I am familiar with the software. They are embrace extending into Linux for a while now. And seeing the marketshare of Linux, it's not that pretty.
 
I wasn't expecting at all something of this type from Microsoft that doesn't need to be installed.
 
Back
Top