Remix.run Logo
luxorious 17 hours ago

There's something seriously off about this ginger bill guy. In addition to copying most of Odin from Jai, Bill copied Jon Blows announcement to his announcement as well as the fake surprised "oh I didn't see you there" opening for the real announcement. He's also planning to release the language the exact same time as Jai, and even said "after ten years of hard work its finally here."

Any one of those things you could ignore, but all of them together and its starting to be weird.

baranul 15 hours ago | parent | next [-]

There is also a strong argument about whether or not Odin can survive the public release of Jai. Which is rumored to be this year, but who knows if that will prove true.

Debatably, Odin's limited success, is due to Jai not being available to more of the public.

luxorious 12 hours ago | parent | next [-]

I think plenty of people will still use Odin, primarily because there's a lot more batteries included, but everything about this announcement makes me think Bill is worried about the competition, and trying to showcase his 1.0 with all his batteries...while releasing around the same time as jai. Kinda weird behavior imo.

devalexwells 13 hours ago | parent | prev [-]

What is the strong argument exactly? Odin coexists happily with Zig, Rust, C3, nim already, no?

baranul 12 hours ago | parent [-]

Odin is different enough from those languages, where coexistence and what is offered should not be so much of a problem. Unless, out of sheer competitive or corporate spitefulness against others (the less, the better thinking) and for higher rankings, they feel compelled to reduce user choice.

Jai, on the other hand, arguably appeals to the same groups and circles as those that are or might be attracted to Odin. That even appears to go for their creators, where similar demographics of fans would likely choose Jonathan Blow.

leecommamichael 17 hours ago | parent | prev | next [-]

What would you say is similar between Odin and Jai? I briefly used Jai (I have never had access) and found that essentially only declaration syntax is familiar.

luxorious 16 hours ago | parent [-]

The entire concept of Odin seems to be taken from Jai. They're both aiming to be C/C++ replacements "for the joy of programming" (another thing that was in the early Jai videos that Bill ripped off). In addition to the syntax (which is eerily similar across the entire language), there is the "using" keyword, the "defer" keyword, the context system, custom allocators, native AoS, polymorphic procedures, etc.

Again, any one of those things on it's own is not a smoking gun, and many of these features and syntax are becoming standard in modern languages. But the fact that SO MANY of Odin's features and even it's marketing strategy seems to be copying Jon Blow is weird to me. You can still go watch Jon's videos demoing early Jai from 11 years ago...and if you check the comments you'll see a familiar ginger face, so there's no doubt Bill saw those videos when they came out, and began developing Odin AFTER he saw Jai.

If he was simply inspired by Jon that's fine, there's nothing wrong with more well-thought out programming languages in the world. But when you copy a lot of the language, copy the announcement to the announcement video, copy the announcement video, and also plan to release at the exact same time as Jai, while largely denying that Jai had any influence of your language, red flags will go off for anyone that's paying attention.

dismalaf 36 minutes ago | parent [-]

> The entire concept of Odin seems to be taken from Jai. They're both aiming to be C/C++ replacements "for the joy of programming" (another thing that was in the early Jai videos that Bill ripped off). In addition to the syntax (which is eerily similar across the entire language), there is the "using" keyword, the "defer" keyword, the context system, custom allocators, native AoS, polymorphic procedures, etc.

Both Odin and Zig were inspired by Jai. Both creators were in the "Handmade" community and inspired.

That being said, a ton of these concepts existed in many languages that pre-date the developement of Jai by a very large margin.

> using

Literally in C++. Common Lisp has ":use" for packages/namespaces and "with-slots" for structs. Pascal has "with". A bunch of others too.

> defer

This came from Go.

> the context system

Jonathan Blow talked about where he got this, basically using obscure SML compilers in the 90's. Jon probably got this from MLKit. This is also how some Lisps did arenas in like the 70's... Ada also has a similar feature.

> The entire concept of Odin seems to be taken from Jai. They're both aiming to be C/C++ replacements "for the joy of programming"

Except D, Nim and Haxe are probably the actual precursors.

According to Jon the biggest feature of Jai is it's macros which are basically taken from Common Lisp although languages like Haxe, D, Rust, Nim and probably others also allow execution of any arbitrary code at compile time. At a recent LambdaConf he also talked about what he called a "plugin" system for the Jai compiler which kind of sounds like how OCaml or Haskell do macros/templates.

But Odin famously eschews macros. There's a few built-in features that do things at compile time but you can't just execute any code at compile time.

> began developing Odin AFTER he saw Jai

Jon (and Casey's) videos inspired the whole "Handmade" community, for better or worse. Both Bill (Odin) and Andrew Kelley (Zig) started their respective projects because of it. Both "took" ideas from Jai. Except none of those ideas are unique. There's literally nothing in Jai another language doesn't have. Even the syntax "name :: type" seems to come from Haskell type declarations, although :: is also used for types in Fortran and it's used in Backus-Naur form.

Anyhow in the end Jon's the one who just took a bunch of pre-existing functional language features, added it to a C-like language and acted like he reinvented the wheel. He didn't.

devalexwells 16 hours ago | parent | prev [-]

I think both Bill and Jon have discussed this at length and are both mutually respectful of what problems each are trying to solve, could be wrong. At the least, I think it's disingenuous to suggest that Odin is "mostly copied" from Jai just because they have a few similarities and share inspirations.

See [1] where Bill discusses the influences and where they've diverged longer-form.

[1]: https://github.com/odin-lang/Odin/wiki/Odin-vs-Jai