From today onwards I officially became a Blow hater.I sent an email to Theckla asking to join Jai's closed beta. I explained that I work with networking in a Telecom company and said that I would like to study the language a little and do a demo at my company. I currently have the pirated compiler, but I can't present a pirated compiler in my company, and of course I didn't mentioned that on the email.I explained some of our constraints and also talked about some features of the language that I find very relevant for what I want to build here.And yes, I provided all my details, my LinkedIn profile, some conferences where I spoke, my resume and some other personal information.Result: I received a generic response saying that I didn't fit the profile, in addition to the maillist being full and that if I was too insistent, I should wait for the open-beta.A few days later, I saw a Russian no-coder called Valigo, a fat guy who has never done anything relevant besides shitposting on X, posting videos on YouTube about Jai saying that he has been in beta for 2 years. What in the name of fuck? What is the profile for Jai's closed beta, then? Being a useless no-coder like Tsoding and Valigo?But I think everything fits together now, it's no wonder I haven't seen anyone relevant use this Lisp rubbish disguised as systems language.
I agree with you, but also this is totally sour grapes.
>>109050892what are the keywords to find the compiler? I wanna see how much of it is a meme.
You should write an open source compiler to spite him. It would be the funniest shit ever.
>no you must be an unemployed no-coder that spends the entire day shitposting on X instead of doing actual work for actual companiesThis is so pathetic I completely lost all my interest in the language.>>109050959Vibecoders will probably do that ironically using Rust. Hope to see his nigger game flopping to oblivion.>>109050941I had an older version someone posted here like 2 or 3 weeks ago. Not sure if sharing it is against the rules since that anon got banned minutes later (maybe for another reason? idk).
>>109050959someone is already doing that.https://github.com/withlang-dev/open-jai
>>109050992I knew a vibecoder would do that lmao. The only thing I got wrong in the >>109050983 was the language, not Rust but Zig. Still funny as fuck. Hope the vibeslop gets more traction than the official one.
>>109050892You work at some shitty telecom company. Tsoding and this Valigo guy are huge retards but they're still way above you. Blow made the right call.
>>109050892>>109050983yeah, he's an ass, but also, it's nothing personnel. He doesn't owe you the compiler. Also nobody in your company would care anyway, because it's a language with the compiler that hasn't been released by some guy who wrote it to make a game. It's 2026, nobody cares about a new programming language, because it will only create problems for employed people, it won't solve them. The target audience for anything new now is unemployed tinkerers.
>>109050983>Vibe coding a compiler Who wants to use a vibe coded compiler in anything serious. That's a tad self defeating. It'd have to be a compiler that was hand written or used AI carefully if you wanted to actually get any traction.
>non gamer programmer wants to use game programming language for work>cries when cantmany such cases of web dev. try programming your websites in godot.
>>109051074Jon himself says that Jai is a "systems programming language". Also, afaik Tsoding and Valigo are just tinkerers, can't remember a single game made by them. Maybe a snake clone while learning Jai?
>>109050892Who cares about that stuff? Nobody codes manually nowadays
>>109050992Fucking based
>>109050892>I saw a Russian no-coder called ValigoNot releasing the compiler never even made sense to me.Just say it's in beta, it's what zig has been doing for the past 10 years, and honestly zig is atleast usable unlike Mr Blow's lang
>>109050892Those people will advertise it for free to their audiences. Just look how they suck john blow's dick every time it's mentioned. You, on the other hand, won't. And there is a chance you will be the next leaker since you are not a public person. Giving you the compiler is too risky for zero profit.
>>109050892>steal the compiler>beg to get in for free after you already stole it>stated reason: I want to be a show off at my company>doesn't get in>immediately start attacking other members of the community>now you hate the very thing you wanted to be a part oftoo comical to even be true, dodged a bullet with that one
I argued with JBlow on twitter once, and as he got more and more angry it became more and more clear that he's not really a smart guy. I don't know where his technical reputation comes from, a lot of what he says is wrong, and Braid was pretty good but it wasn't an all time great or anything.
>>109050892jai shi ram is stupid as hell mane
>>109051884>using twitterkill yourself
>>109050892>pirate a closed compiler>want to get a legit copy to share with a company (are you retarded nigger)>don't mention game dev ever>get your ego hurt>"REEEEE HOW DARE HE GIVE THE COMPILER TO ECELEBS FOR MARKETING PURPOSES">I HATE JAI I HATE JOHN I HATE HIS GAMES DIE DIE DIE BASED VIBE CODERS DIE DIE DIEYou are a dumb nigger. You are the blackest retard gorilla nigger I have ever seen.
>>109052287>>109051823>pirating a memelang compiler is heckin bad WAAAgo back
>>109050892he doesnt want mission critical software using it because then you'd just cry at him for breaking changes. solo devs with a social media can still write some useless shit and advertise the language
Cartmanland, the language
>>109050892first time?
>>109050892Im part of the beta. Idk why to be honest and Im a idiot. I wanted to do game dev with it, but ended up using Odin instead beacuse it is not in beta, and actually finished. Just be polite and be into the same things he is into... Idk. No, your work with jai is probably not going to be super important
>>109051768there's no risk to that because it would be completely inconsequential.
>>10905264890% of /g/ could never write code like this.
>>109051263speak for yourself, nocoder.
>>109052648>>109052715actually that's great code according to /g/
>>109052726yeah, and 90% of /g/ could never write it.
>>109050892I saw John Blow at a grocery store in Los Angeles yesterday. I told him how cool it was to meet him in person, but I didn’t want to be a douche and bother him and ask him for photos or anything.He said, “Oh, like you’re doing now?”I was taken aback, and all I could say was “Huh?” but he kept cutting me off and going “huh? huh? huh?” and closing his hand shut in front of my face. I walked away and continued with my shopping, and I heard him chuckle as I walked off. When I came to pay for my stuff up front I saw him trying to walk out the doors with like fifteen Milky Ways in his hands without paying.The girl at the counter was very nice about it and professional, and was like “Sir, you need to pay for those first.” At first he kept pretending to be tired and not hear her, but eventually walked backwards and brought them to the counter.When she took one of the bars and started scanning it multiple times, he stopped her and told her to scan them each individually “so here's the thing, it's to prevent any electrical infetterence,” and then turned around and winked at me. I don’t even think that’s a word. After she scanned each bar and put them in a bag and started to say the price, he kept interrupting her by yawning really loudly while looking around from different angles like he was searching for something.
>>109050892>I am employed and a professionalThat's the problem King. Next time tell him you haven't showered in 6 months and you code in C
>>109052726YES, code-lets honestly believe that compiled languages works like scripted languages, and try to do the same optimizations. LOL. WHY is this file open in his IDE?? Because he is WORKING ON IT. You will NEVER be part if the closed beta, let the seathing continue
>>109052877It really is important to filter these "people" out of our community. The jai-closed beta has standards, and these standards MUST be maintained at all costs
jon dodging bullets like op is a good sign
>>109052923Yeah, filter out people trying to do actual work and give access to no-coder lolcows. Nice strategy if you want a bunch of incompetent people without real-world experience using your language.But as I said before: I couldn't find a single relevant person using Jai. That speaks volumes.
>>109052877if using readable code structure makes a difference to your compiled language then maybe your compiler is hot garbage.
>>109050892How it started:>Good morning, saar I am work for very important telecom company (you may know as "call center" in american)>We even work on same street as DurgaSoft!How it ended:>What you mean you no give compiler?>You bloody bitch benchod you give to dalit and not me?>I fuck your mom and take your job
>>109052333pirating was not the issueop being a butthurt faggot is
We all know Jai's adoption will be 0, right?
>>109052648I never noticed he has a sizeable belly in this picture.
>>109050892>, I provided all my details, my LinkedIn profile, some conferences where I spoke, my resume and some other personal information.If this isn't a repost from reddit, did you give your github? Jon prefers seeing actual projects you make, not superficial talks and linkedin shit
>>109053079It will be a little higher than Zig probably.+ lots of JBlow fanboys+ lots of indie game devs who want something a bit more batteries included but not an engine like Godot+ niche non-games people who like the language+ long time c/c++ users who want a "serious" language
>>109053194My CV has all the relevant projects I worked on. Some of them are open-source, some of them are not, but provided some info about what I did. I can't really share here without doxxing myself since it's a pretty known telco in yurop.>githubI don't have anything relevant on github, just a few draft projects while reading some papers and my master thesis (which is on the CV as well).>linkedin shitI shared that so he could check I was a real person working on an actual company, not an Indian bot trying to leak the compiler.>superficial talksVery hard to make a presentation that's not superficial, I give you that. Still, those talks were basically a presentation about stuff I've published about.Also, you're making this sound like I should be prepared for a fucking interview, while random no-coder bozos got their way without having anything relevant on their side. My mistake was thinking a language glazed by unemployed faggots would really be better than C++.>>109053218>long time c/c++ users who want a "serious" languageI couldn't find a single C++ programmer who actually think Jai is useful. I was probably the only programmer who thought that could be useful.
>>109053275>I don't have anything relevant on github, just a few draft projects while reading some papers and my master thesis (which is on the CV as well).that's probably why you got rejected, he prefers people who actively make things and have plenty of code to share. Whereas you thought of it as a formal interview and cited irrelevant credentials he likely didn't care about.
>enterprisetroons that spend more time in stand up meetings than writing code have the gall to call others no-codersKEK!
>>109051302He claimed it was because he wanted to only have relevant feedback, not feedback from nocoders. But then as OP pointed out, he seems to only enlist nocoders to use it, likely selecting for people with media following of some sort as that's probably what he's looking for (clout, not making a good language or whatnot).It also obviously doesn't make sense because he could just release it and then specifically invite people's feedback based on his selection criteria without otherwise closing the system.
>>109051768The opposite about leak risk. OP says he IS a public person and doxed himself. Violating terms like these would get OP fired from his day job and good luck speaking anywhere in the future if it came out. But what about random youtubers? They don't have much to lose.
>>109053275>Hello Sailor!Holy cringe. Might as well start every programming related email with "Hello world!".
>>109050892why would anyone take jblow seriously?his takes are all retarded
>>109053589some people need a ruthless daddy persona in their life
>>109050892Reading this is enough to convince me not to touch Jai. Exclusive clique bullshit can fuck off, that's not something I would ever want to rely or depend on for even a hobby project, let alone a serious important project
>>109053330>that's probably why you got rejected, he prefers people who actively make things and have plenty of code to shareyeah, blowjob has been called a no-shipper by some javascript eceleb and he has been obsessed with shipping ever since, if you don't ship on github then you're not worth his time, his fragile ego has been brushed as he hadn't shipped anything in over 10 years.even had to call casey nagasaki or whatever his fucking japanese name to help him defend his honor, that was awkward and pitiful to see.
>>109050892This pic alone proves Blow is a moron.He also uses Windows while worshipping C, when C is a Unix language.
>>109053727You can't be serious, my fucking sides!
>>109053275> The beta is closedAnon the point of a closed beta is to cap the amount of feedback you get. If he doesn't need more users or further feedback for now, there's no reason to enroll more people. Don't take it personally.
>>109053727he does not worship C. He stated multiple times that C sucks and that it was good only in the 80s
>>109053757No, that is not the point of a closed beta at all, blowjob. Not to mention>closed beta>for a fucking programming languageLol, lmao.
>>109053689>nagasaki or whatever his fucking japanesemuratori is italian
>>109053762[citation needed]
>>109053781A mouse born in a barn is not a cow.
>>109053783bro i heard in in a stream, some chatter asked him why he uses C++ instead of simply C for the compiler that was his response
>>109053790 i meant the surname not the person
>>109053798Oh I understand. Yes, you are right. In the Italian alphabet, the original spelling is 村鳥 which is very traditional spelling in Italy.
>>109053727what's wrong here?
What's so special about the language anyway?
>>109054037That's the neat part: absolutely nothing.Originally the only feature it was supposed to have over other languages was an annotation for SoA vs AoS storage. That feature was removed. So it's the most pointless language this side of Hare.
>>109054088Really?! That was literally the only thing that came to mind when I tried to recall what it could do, and it isn't even hard to do that in C++ with templates.
>>109054037It has pretty powerful compile-time programming features. That's about it
>>109054037it's just odin with metaprogramming
>>109054037nothing. Jonathan blow is like the Andrew Tate of programming, so people expect his language to be badass.nevermind that he got famous for developing Mario in a suit.
>>109050892He can't release Jai publicly because then there is a risk that Soulja Boy gets a hold of it and absolutely tears a new one into Jonny Blow's anus.
>>109053589there's a fine line between scepticism and contrarianism that once crossed is difficult to come back from.Jonathan blow speaks to the contrarian retards who will eat up anything that goes against the mainstream.
>>109053018After written your 100_000th line of code, you will have a different opinion, code-let. It is more than readable, and sometimes you just got to get the code down, get it working and move on, if it is not important expensive code that you will use a lot and that runs every frame. God, im so much better than you because im part of the jai closed-beta
>>109050892Odin ate Jai for breakfast, and Zig ate Jai for lunch.Jai, You're nothing to me now.
>>109054572wow, you're so cool and professional for writing unmaintainable spaghetti code. a codelet like me could never.
>>109053275That is funny, because Jonathan invited me personally almost emediatly into the jai community, with open arms. REMEMBER being part of the jai-closed beta is a Class-Distincion
>>109052720You’re trans and unemployed. Nobody needs codetrans anymore
>>109052715
>>109053218Odin is probably the bigger competition with Jai.
>>109054907I find rust really nice especially for these sorts of algorithmic computations.It's like really elegant, but the compile times suck so bad.
>>109054857that's your dream, AI making everybody as useless as yourself.
>>109054037People who don't use alt-langs think CTFE is some new and magical invention.https://en.wikipedia.org/wiki/Compile-time_function_execution
>>109055249Highly reductive (stupid) post.
>>109055322just like Jon Blow
>>109055329Nice try, but you are now confirmed retarded and clueless.
>>109054037>>109054088>That's the neat part: absolutely nothing.It's just Blow being a Blowhole and autistic about shit that he could resolve in other languages he's chimping about.
>>109055343just like Jon Blow
>>109055322What else does Jai have then?AST macros aren't new.out of order compilation is mostly irrelevant to users (as long as it works).other alt langs compile your projects in seconds.
>>109053559that sounds like he doesn't like being criticizedwhich is retarded, since he also released his games in public, which will give him negative feedback, how about that?
>>109053727>He also uses Windows while worshipping C, when C is a Unix language.>C is a Unix languageThis is the sort if shit that disallows you from being part if the closed beta. NO NORMIES ALLOWED
>>109050892Is there any recent leak of jai after that of 06-02-2025 (iso) ?>>109051248Tsoding got his invite from someone already in the beta, not from John himself. The other idk.>>109051823>>109052287I never understood JBlow hate in here (like OP), he probably makes nocoders, webshiters, jeets, troons, and vibeslopers insecure, which are the majority of /gee/ nowadays.
>>109057684jblow is literally the nocoder god. He never did anything and doesn't have a single correct programming or game development-related opinion of his own (also demonstrated by his track record and the fact he still needs to hire an entire AA studio's worth of staff to make the game for him after spending 10 years making a prototype), but he likes to pretend the opposite and to pose as a sole dev kind of figure. He makes nocoders feel smart for following him.Hmmm, seeing a pattern here...
>>109053589>>109053595>>109054483>I watched some compilation of jblow and got insecure award
>>109054465lemao
>>109054936Exactly. Zig fills a completely different niche compared to Jai. Zig focuses a lot on being a better C and first class interop with C libs. Odin is a C++ replacement meant to be simple, clean, and footgunless. Doesn't help that Odin and Jai have very similar syntax and are both gamer Langs, so either Jai will come out and Odin will lose a ton of users, or Jai will come out and no one will care because they see it as equivalent to Odin and are already used to Odin. I think the longer Jai takes to come out, the harder it'll be for it to take off. Unless Odin is a secret teaser trailer for Jai and once Jai comes out Ginger Bill deletes all evidence of Odin or reveals Odin is a subset of Jai with the fancy features turned off.
>>109053275Sorry bro, but you kinda got owned. >your profile does not meet our guidelinesmakes it sound like you're sysadmin for the KKK, or maybe he doesn't like network engineers. Maybe you came off a bit too eager and he smelled the weakness.
>>109057979>he smelled the weaknessAnd somehow he smelled strength in this snownigger? Guess I should take that as a compliment then. At least I don't look like a fucking Russian pedophile.
>>109055027Cope, nobody codes manually anymoreCoding is a trans hobby
>>109059651Blud forgor to post his snailcat image :skull:
>>109053275>linkedin>google scholar>linking his cv>enterprise shit ICK
>>109053757> the pool of beta applicants is closed
>>109054088>>109054037> absolutely nothingThis but unironically. It's literally a better C made by people who understand what makes C great - the fact that it gives you a tiny set of extremely solid core constructs, and doesn't even try to force its opinion on you in things where its not so great.It also improves upon 'C' in ways that make it convenient, sane, relatively safe, without going too much into 'opinionated' territory - which is extremely ironic considering what a controversial person Blow is. It adds an amazing macro system on top, which is basically a reference to each and every language on how to do a macro/CTFE system, which basically allows people to implement custom features, with an absolutely tiny amount of code and complexity for example, and not much else (even though it might look like it). It makes stuff like writing a compile time JSON serializer a piece of cake, which is a major engineering effort The way its better than Odin/Zig/Rust is that instead of projecting their creators' idea of how you should *code*, you're supposed to discover yourself, as the language allows expressing ideasIt (and listening to some of his and Muratoris interviews with veteran gamedevs/programmers) retroactively made me understand what an abomination C++ is, it has a ton of poorly implemented features, like templates, or how its whole OOP model is implemented, with issues like the hidden vtables, bullshit like randomly injected code snippets in your program, 'zero cost abstractions' that make the compiler work through 100x as much code, and produce unusable debug builds etc.And there were a ton of other ways floating around other than what C++ did which worked much better (like COM for example). But C++ forced its way of doing things, and vendors forced C++, so we work with what we have nowadays.
>>109054483Not true. JBlow has managed to mostly avoid being a pure BS contrarian. He also makes products regular people pay money for, and happens to think differently from others.True contrarian are the 'muh systemd made my dick fall off' people like Lunduke who couldn't articulate a coherent paragraph of technical issues and who'll have nothing to say once their supposed enemies disappear.
>>109057935No. Odin focuses on gingerbill's needs for that EmberGen thing.Zig/Rust etc. mainly exist to make webdevs feel smart.99% of code written in those languages is ether webdev-related or toy projects including muh 2D platformer with ECS that I can post on orange site.
>>109050992>bootstrapped with zig and self hostedalready mogging the original
>>109061072>>109061012>>109061044Get an add, jblow
>>109054907>24 puzzles is too much work>12 puzzles should be enough for everybody>why would you want more than 11 puzzlesoy wey
>>109057935It looks to me like the big difference is metaprogramming. And people avoid metaprogramming as much as they seek it out so I would guess there's an audience for both.
>>109055806>that sounds like he doesn't like being criticizedif you know anything about blow, he doesn't like being criticized.
grapeniggers seething at applechads
>>109050892Lmao you got BTFO'd by jon blow me for being a code monkey enterprise coder (certified by do the needful) and you came crying to 4channel
>>109061072bill didn't work at embergen for the majority of the language's life what the hell are you talking about, even then how does making sure a language is useful for particle simulation somehow make to bad for everyone else?>>109061012literally the only thing with jai you could possibly say that puts it above odin is metaprogramming which is essentially just masturbation and makes codebases completely unreadable. You can do anything useful for that in odin with code generation there is literally 0 purpose to store the permanent artifact of a json serializer as macros rather than as just an actual generated program. gingerbill is correct that the whole purpose of metaprogramming is adding language features that should just be there in the first place, so if you are making a new language it makes more sense to just add the features.
>>109061821My bad about Odin, but just checking out the docs, Odin really looks like Jai without the macros, with very few actual differences - the main one I could spot is that iterators are structs in Odin just like most languages, and macros in Jai - but the macros are literally why C was so powerful (as well as ugly).People used to write DSLs in C with macros, and true, it does tend to look like dogshit, but are still quite powerful.Odin doesn't have that so it loses a ton of expressive power, and for example, JSON parsing in Odin works via reflection.Metaprogramming is only ugly because in most languages its an afterthought, in Jai, writing a JSON parser is so simple its actually one of the examples, and the code's 99% identical to what youd write to parse JSON at runtime.Another example:Odin has SOA support in the language, but in Jai, you can literally do that shit with macros.Blow even explained in one of his videos why he cut it - there's just so many ways to represent entities, like if you have a Position component, do you store them asxyzxyz or xxxyyyzzz or you can have sparse vs dense components, like you have a Render component which only appears on 10% of Nodes, if you store it in a SOA fashion you waste a lot of memory, so you have to come up with some fancy shit, the programmer using the render system to assemble a draw call shouldnt have to care about.But this stuff is app specific, so the only correct solutions here are to either offer no support for it, or to allow programmers to build their own.Then, after a decade of experience, you'll kind of know what works and what doesn't
>>109053218>+ lots of indie game devs who want something a bit more batteries included but not an engine like GodotThese people do not exist. People who do not want to use an existing engine either never deliver anything or know what they are doing and won't be using a new meme language.
I twas pretty obvious from the start that Jai was a scam. He did it to make money off ad revenue while building a cult following. It's 2026 and honestly, i'm surprised people still fall for shit like this.
I got perm banned from his twitch chat for saying "at least Andrew Kelley isn't afraid to release his language"jblow has the thinnest skin of anyone on the internet
>>10905089210 CLS20 PRINT "I prefer BASIC as a nocoder language"30 PRINT "It is a very neat language"40 PRINT "In variations like freebasic/visual basic you can even do C like stuff like functions and structures"50 PRINT "Now enjoy AIDS"60 PLAY "CDEFGAB"70 POKE &HFCAB,25580 NEW
>>109052648This is hard to read. The least he could do is to define booleans instead of having expressions inside if clauses. It makes a world of difference for readability. Even for basic comparisons.
>>109062136>compile time reflection(/introspection whatever you wanna call it).>compile time code execution>macros simply outputing string with generated code>support in code editors to expand/collapse macro into generated code (that plus toggle you get on the left side of the code blocks) Here. Metaprogramming solved.
>>109062136The two different perspectives seem to be the language should produce a discrete artifact like with code generation, so for odin debugging, and using git to track generated stuff is effortless. If you go back to the program in 2 years and modify the code generation program you can immediately see the diff of all the flows that will change, and can easily see how many things use it/are effected by it. I just do not see what other metaprogramming offers over this that justifies the hidden control flow that you just have to hope you remember and can still understand if you edit it in several years. And the majority of the "C" metaprogramming was just people implementing basic features that should have been in the languageWith those two perspectives as stated above it's kind of should the complexity be handled within the program itself, or should the complexity be handled by external programs/tooling. To me I just don't see why you'd try to do everything within the language, I could see that maybe making it easier for a team (but the negatives of metaprogramming will also be more obvious with the team) but lots of the organic built in stuff the "niceties" and readability you can literally just have in a custom editor plugin.One maintains an extremely clear readable artifact of "what the program is" and the other just depends upon you remembering or basically indirectly forcing it to do codegen anyway>Then, after a decade of experience, you'll kind of know what works and what doesn'todin is 9 years old, has more users than jai, is open source, and jangafx has more actual engineers and customers than jai>>109062263what advantage does macros give you over just using code generation and editor tooling? Also another very relevant thing since practically with most codebases this is a concern you will basically need to have:Would you rather try adding a feature to an AI generated macro, or to an AI generated code generation program?
>>109062308>what advantage does macros give you over just using code generation and editor tooling?Easier builds.Source files are just source files instead of your special magical format that needs to be processed by the code generator before becoming normal source code files - better compatibility with code editors/IDEs.
>>109051302That's because your goal isn't to drive up hype.Zig is as good as zig, but Jai could be anything, it could even be as good as zig
>>109062355>it could even be as good as zigThat's an incredibly low bar to meet.
>>109062352>Easier buildsyou literally just write a script that includes stuff in the order you need it and you would never have to think about it again, and if you do you just open it and it's extremely obvious what is happening>Source files are just source fileswhat? This if anything is my point, the source file of the codegen can itself just be odin or maybe whatever data you are processing to generate the code, and you ALSO get the output as clear source code. Macros on the other hand are not. >better compatibilityit literally just generates normal source code why would there be a compatibility issue? Due to just generating actual source code you could literally just add whatever you want to the generated source you could have your editor integrate with. People should be writing more custom plugins for editors it is very easy and gets you way more power than just what languages can give you.
>>109062407Have you ever coded anything bigger than hello world in your life?It doesn't sound like you did.
>>109062425yeah dude macros definitely become more useful when you have a giant code base and a bunch of engineers implementing their own macros on top of macros (nowadays many of which are certainly AI generated)
>>109062450They literally do.That's why people use them.
>>109062457Is that's why people also use OOP? Why not just use C++ more people use that then use C or jai if you are just going by "People do this so it must be good".I asked you a pretty clear question though that is practically what we actually have to deal with in modern code bases. Would you rather have to add a feature to ai generated codegen or ai generated macros? (The person who originally made it is no longer at the company)
>>109062263Cool but Odin literally can't do proper compile time execution, and the outputting to text-> back into the compiler approach is extremely painful as you have to script together some monstrous build system yourself and you break all hope of offering decent autocomplete and dev experience. Go does this with 'go generate' and it sucks.>>109062308I just don't get why codegen and metaprogramming is supposed to be confusing, You can probably write magical metaprograms, but you don't need that just to write confusing code. And ironically, systems that try to constrain the programmer, like C++ templates, usually result in more complex and convoluted solutions which are much more difficult to understand and maintain. Like I don't even remember what SFINAE horrors you need to implement what is just a simple 'if'. Which if they don't work or compile for some reason, good luck figuring that shit out.With 'C' (and likely with Jai in the future), you can look into generated code just like regular code.
>>109062494People used C++ and C++ style OOP because it's an improvement over just using C in large codebases and there weren't really any better alternatives available at the time.Now they still use it because there's a ton of legacy code.
>>109062514>outputting to text-> back into the compilerIt should be a deliberate well-designed and implemented language feature, not some kludge slapped on by the third-party build system.
>>109062523if you think OOP is an actual improvement over C I'm not really sure why you are even talking about Jai. (and you still completely ignore the actual realistic practical question)
>>109062562It is. If you've ever worked on something larger than hello world you would know it.Doesn't mean I believe C++ is good, no, it's now likely the worst programming language to exist.C is better, but for tiny programs. Anything larger and lack of abstractions quickly becomes tedious.
>>109062591Assuming a 3 year old code base where the original engineer who wrote it is no longer available (and the code was originally written with ai).Do you think it would be easier to work with and update something that he implemented with codegen or with macros? This is what actual coding looks like realistically. It's too large to rewrite and is used in a bunch of places throughout the codebase. Do you genuinely think macros would make for a better codebase, and make that edit and verifying there were no regressions easier?
>>109062650Depends on the language's macro system quality.And how it was used in particular project.Just look at Rust's entire ecosystem - it's built with macros (as the language depends on them heavily) and yet code is very readable and maintainable.An Rust's macro system isn't even that good.
>>109062740Rust macro code is very unreadable and macro-heavy code is commonly cited as being very problematic.General rust code is not very readable at all, but it sure beats C macros at any rate.The other problem with macro is the culture it represents. For example, lisp macros are as readable as lisp code (that's a good thing by the way), but they encourage people to build DSLs that prevent code sharing from being effective because everyone is effectively using a different microlanguage to solve things and you have to learn that microlanguage before you can contribute or use the code for your own use.
>>109062758>Rust macro code is very unreadableOnly macro_rules, they are meant to be quick simple macros.The proper procedural macros are just regular Rust code. You can write them as readable as you want.>General rust code is not very readable at allSkill issue. I find actual production Rust code much easier to follow than typical production C++ code. The way it recommends one commenting style and provides tools to work with it, makes it so in practice, Rust code tends to be way better documented. Whenever I look at some large C++ project, it's very often long stretches of code with no comments whatsoever.
>>109062796Procedural macros are hell, you'd know if you had ever had the displeasure of working with them.
>>109054456I think it has better treatment of array/pointer types. Odin is a mess for trying to pascalize all the various behaviors of C pointers.Also some kind of bullshit about RTTI in Odin that doesn't exist in Jai?
>>109062801>Procedural macros are hellThat's just metaprogramming.Writing (robust) programs generating programs is harder than just writing programs.
>>109062848particularly if you can't see what you are generating. Being able to diff what changes your changes have on the previously existing generated programs is just a per-requisite to actually being able to use them well
>>109062758>General rust code is not very readable at allI never had any problem reading Rust code.I have some problems reading C++ (depends on the style).I sometimes have problems reading C - as soon as callbacks are used heavily - lets say it's a library where some interfaces may be implemented by the user - then it quickly becomes unreadable mess due to C type system being inadequate to express those concepts well.
>>109062796>>General rust code is not very readable at all>Skill issue.Any code can be readable with sufficient skill so if you're invoking "skill issue" on this topic it just means you've decided to abandon good faith discussion of macros and their impact on code readability (and related issues).>>109062848Yeah and when people grow up they often learn that the harder way isn't always the better way.
>>109060123You’re trans
>>109062801I wrote bunch of procedural macros and they are really neat. For example I made a macro that generates "--help" message just from doc comments on the Config struct that supports nesting and default values and all.I also made a macro that translates string/number literals to the custom string/number encoding that an embedded device was expecting. I could use the same methods I use for runtime conversions which significantly simplified everything. I have no idea how would I even approach something like that in C/C++ without a custom text preprocessor.>>109062856Your ide should support expanding macros. There is also cargo-expand command. And you can and should always write tests.
>>109062895I said skill issue because so very often people who claim Rust is unreadable often primarly just dislike it(because it's Rust or because of superficial reasons like muh type after ident syntax) and never even try to learn it. They willingly stay ignorant so they can continue claim how unreadable it is.The point is, Rust is not a APL like write-only language. Rust syntax is nothing groundbreaking or unusual, it's just not strictly C-like and that bothers baby ducks. And considering the different attitude to commenting, it can even be more readable in practice, but that is more subjective than objective.There is nothing objectively unreadable in regular, idiomatic Rust code.
>>109062540I honestly don't even understand your point now. What I got from you: builtin codegen is bad, but its fine if it outside the language, except it needs to be built in.Yes, JAI is not unique in that it allows compiler AST access, nor is it unique that you can use it to generate code. Honestly, I think once you have type inference wired up, and Blow expained how type inference works in Jai, its not that much harder to wire Jai style codegen into the language than templates are, I'm surprised there's no production language that didn't go all the way with this kind of feature.
>>109050892Explain what amazing features Jai has to offer.
>>109062308>what advantage does macros give you over just using code generation and editor tooling?I remember a vid/stream where jon implemented costume compile time checks for whatever rules you decided your codebase has to adhere to as proof of concept. He did a few simple ones from some well known list in like an hour but if you wanted to go crazy you could have a borrow checker.
>>109063183So... a linter?
>>109063214I guess but liners are monstrosities. A rule was like 10 lines of code right there in the build metaprogram. Having a separate program do that shit for you is retarded. Same goes for build systems. Jai demonstrates that good metaprogramming is a superior solution to most "tooling".
>>109063349You've never seen the code for a linter, got it.So it is proven, the only people who are impressed by jai are nocoder retards.
>>109063214>>109063445linters are cancer that largely enforce other people's retarded opinions about universal "best practices" on your code. Being able to easily implement your own for your own code is an obvious advantage.
>>109062985So in other words you got triggered and lost the plot. As a consequence you stopped saying anything interesting or useful as you switched into full rust shill mode.
>>109063516>As a consequence you stopped saying anything interesting or useful as you switched into full rust shill mode.That's because you've stopped reading after the first two words.
>>109050892In other words, you're a butthurt nobody who gets treated accordingly.
>>109063492Congrats, you have no clue what a linter is. I rest my case.
Order of the sinking star demo is up
>>109063551Why is the performance so bad?
>>109062514>Cool but Odin literally can't do proper compile time executionIt does some compile-time execution (eg "when" statement) but explicitly does not want to add a lot of metaprogramming features.>I just don't get why codegen and metaprogramming is supposed to be confusingMetaprogramming introduces additional indirections that you are required to trace in order to understand what any particular piece of code is doing. Metaprogramming adds a layer of overhead that frequently leads to a variety of what I'll just call "maintenance issues" for lack of a better term. Discipline can reduce and mitigate some of the inherent difficulties associated with macros but it usually doesn't remove the issues altogether. And the extent to which you care about these issues also depends on the domain and environment. How much are you gaining from macros that you're losing from static code analysis and refactoring tools? For some, it's not worth the tradeoff.
>>109063591Why wouldn't it be? He's totally unable to make a game that doesn't perform like garbage, then he turns around and talks about how to make performant software. Always hilarious. The worst part is he isn't a solodev, he pays an entire team to make the game for him.
>>109063541>The degenerate rant about C baby ducks is the good stuff actuallyWe're talking about the general pros and cons of using macros (and other metaprogramming features) in a programming language. If a static code analyzer cannot follow your code because of turing-complete macros, it's literally, objectively, LESS READABLE than code without macros. Loss of (objective) readability is a con in a discussion about pros and cons of metaprogramming. The real-world implications of this tradeoff can be mitigated or addressed situationally. Or it may be determined to be too great a cost and risk for a project and a simpler language may be chosen.
>>109063550>Congrats, you have no clue what a linter is.You have clearly never used a linter in the real world.
>>109063879>n-no uYou must be 18 or older to browse this site. Come back in 6 years.
>>109063955This could be solved with you making a counter point instead of ad hominem. But as it stands now, you lose. We probably don't even disagree on as much as you imagine, but since you're an insecure faggot afraid to post anything real, this will go nowhere.
>>109064104You are so profoundly retarded you can't comprehend a simple string of 3 basic words put together.
Just downloaded Blow's Order of the Sinking Star and it's destroying my GPU lmao. htop informs the game alone is taking ~4.1Gb of RAM.I don't really get it, Blow is always complaining about how bloat modern games are, but his game (which is a Sokoban clone with Overwatch graphics) is heavier on my GPU than Automobilista 2 and Assetto Corsa with 287342034870 mods. Is this the power of Jai™?
>>109064416Just discovered what is the problem. Every time those yellow beams are rendered, my GPU gets raped.
>>109064430do a frame capture in renderdoc
>>109064430apart from the rape, how is it?
>>109063873>If a static code analyzer cannot follow your code because of turing-complete macros, it's literally, objectively, LESS READABLE than code without macros.But it can, simply by evaluating it. A macro invocation that never terminates can just timeout and raise a compilation error.An IDE can even display proper color highlighting and associate tokens with items and variables for an entirely custom grammar if your macros are well written and preserve spans.Readability and computability are separate things anyway.And the skill issue part was not even related to macros but your claim about general Rust unreadability.
>>109064416>destroying my GPU>Is this the power of Jai™You are aware that things that are generally referred to as programing languages program the CPU not GPU, right? >>109064591Demo is on steam for a week.
>>109064602Dude, it's a poorly optimised game. Just install the free demo and see how much it sucks. The game is not even interesting. Really a disappointment since it took +10 years.
>>109064523The things people will do to reinvent Lisp macros.
>>109063748>Metaprogramming introduces additional indirections that you are required to trace in order to understand what any particular piece of code is doing. Metaprogramming adds a layer of overhead that frequently leads to a variety of what I'll just call "maintenance issues" for lack of a better term. Discipline can reduce and mitigate some of the inherent difficulties associated with macros but it usually doesn't remove the issues altogether. And the extent to which you care about these issues also depends on the domain and environment. How much are you gaining from macros that you're losing from static code analysis and refactoring tools? For some, it's not worth the tradeoff.You could say the same exact thing about literally every feature ever, including function calls.
>>109064699i do say the same thing about function calls, people should be much more careful about extracting things out to functions unnecessarily
The Looker has more reviews on steam than The Witness kek
>>109064740You could, but macros introduce more and harder to debug indirections than traditional functions. So the question is how much expressive power do you really need and is it worth the tradeoffs. This is the question binary-brains can't fathom.
>>109064652CPU is hovering between 2 and 5%. Game runs smoothly on performance mode. No load screens. My PC is 10 yo btw. That's far from "sucks" in my book.
>>109064744A fucking parody was better than the actual thing lmao.Imagine how much Blow hates the guy who created this lol, lmao even
>>109064740Sorry, >>109064765 was meant to be a reply to >>109064699
have you tried not being a corpocuck mcwagie 5000? Maybe if you had told him you were an unemployed game engine dev he'd have given you the access
>>109064992Why is it surprising that a parody is popular? Millennials love ridicule of serious things more than they love their parents.