Jonathan Blow on Why He is Creating JAI

Поделиться
HTML-код
  • Опубликовано: 14 янв 2025

Комментарии • 82

  • @theevilcottonball
    @theevilcottonball 5 месяцев назад +29

    Jai is cool, but C and C++ will not go away. I write in C despite some of its problems, because everything has a C API, for Jai I would need to write bindings (and know C for writing them anyway).

    • @filipg4
      @filipg4 5 месяцев назад +15

      Jai can generate bindings. That being said, of course C/C++ will never go away.

    • @____uncompetative
      @____uncompetative 5 месяцев назад +12

      @@filipg4
      C++ has the worst syntax of any programming language not created deliberately as a joke.
      Rust has the worst semantics of any programming language not created deliberately as a joke.

    • @xanderlinhares
      @xanderlinhares 5 месяцев назад +6

      Jai can’t compete if it’s never released…

    • @theevilcottonball
      @theevilcottonball 5 месяцев назад

      @@filipg4 Like any other popular language. And usually bindings don't translate well (for things like preprocessor macros, for things like complex C++ template metaprogramming bananas, etc.) And then there is a mental burden of translating the documentation from C into Jai (unless the autotranslate that as well) and a general familiarity with C is still required because when your bindibg are wrong or you use them wrong because you do not know C/C++ then you have a problem.
      I never really like autogenerated bindings, I think it is better to write bindings manually when only very few functions/types are needed in the bindings.

    • @llothar68
      @llothar68 4 месяца назад

      @@filipg4 Even Objective-C will never go away (not in my lifetime).

  • @jeezusjr
    @jeezusjr 5 месяцев назад +2

    I wish I could experience his language, but it'll be a few years still.

  • @darthtesla301
    @darthtesla301 5 месяцев назад +32

    1. thanks for linking to original video
    2. jon's blow-ing up in size and should cut back on sweets

    • @pizzaman11
      @pizzaman11 5 месяцев назад +1

      Might be he's just out of shape compared to the interviewer. Dude's jacked lol

    • @MurtagBY
      @MurtagBY 4 месяца назад

      He is jamming to finish way too many projects, hard to eat well if you are not doing it systematically

  • @swyveu
    @swyveu 25 дней назад

    Code needs to be beautiful !!

  • @gruntaxeman3740
    @gruntaxeman3740 2 месяца назад +1

    Like Jonathan says, this is how we get new languages and tools.
    But I still don't know what it is C++ pain point.

    • @metaltyphoon
      @metaltyphoon 23 дня назад

      One of the reason he said was right in the beginning, C++ is slow to compile.

    • @gruntaxeman3740
      @gruntaxeman3740 23 дня назад

      There are efficient mitigations for that.
      1. Instead of C++, make lower level stuff using C, compile them to libraries that can be reused and just link those to project.
      2. Disable optimizations on development time.
      3. Understand how compiler actually works. That means properly split code to header and code files. I've seen projects where people put everything on header files or something similar and that likely lead to slow compilation.
      4. Understand how make works. It track changes and make only necessary steps to produce binary. Like only build object files based on changes on code and link.
      5. Use threading in make.
      6. Think carefully how to create test infrastructure using mocks properly.
      7. When creating game, build "game logic" in code, but script content, so you don't need to build again with some small change.
      And short version, using tools properly and not doing some dumb things avoids a lot of problems. I don't think C++ compilation time is issue because it can compile so much in.. second. I think C++ has actually huge strength in game programming because there is so large consensus that high performance game code should be written in C++.
      What I see as pain point is that there are no proper framework so C++ game code is often hard to read.

  • @avwie132
    @avwie132 5 месяцев назад +67

    Jonathan is in the Messiah phase now. Thinking he has ideas that nobody ever had before.

    • @Raxfyr
      @Raxfyr 5 месяцев назад +25

      its crazy that he insists on doing everything himself from scratch when nothing he's building requires any of the super fast, efficient code he's always going on about. Witness and whatever sokoban he's working on now could have been built in half the time with Unity.

    • @Nerzhus
      @Nerzhus 5 месяцев назад

      ​@@Raxfyr yep.

    • @owenpalmer8242
      @owenpalmer8242 5 месяцев назад +21

      @@Raxfyr it's crazy but I think it's cool. using someone else's library/framework/engine can be torture. when you build it yourself, the sense of reward is immense.

    • @avwie132
      @avwie132 5 месяцев назад +3

      @@Raxfyr indeed. It is NIH syndrome in extremis.
      But hey, he has the money and the time so he can do whatever he wants

    • @NukeWalker
      @NukeWalker 5 месяцев назад +20

      @@Raxfyr Given that increases in computing power of new CPUs are getting smaller and smaller with each passing year, (can only get so small with transistors) it's a very good mentality to have optimization and deeply understand what you're doing. We used to launch missions to the Moon with computers weaker than the cheapest Arduino, nowadays Chrome eats half of your RAM just by opening a couple of tabs. Whether we like it or not, soon we will have to go back to the reality of having to optimize everything if we want more than one program running at the same time on the same machine.

  • @lDeath489
    @lDeath489 5 месяцев назад +5

    I trust Jonathan. I find him to be reasonable even when he is frustrated [but i would encourage him not to be annoyed , he should expect to be annoyed by stuff and laugh about it]. 😺
    People and Tech over complicating things. So it is an opportunity to someone like Jonathan.
    Maybe Epic is looking for a language like yours instead of Verse or you can upgrade Verse. Or you can go even higher goals.

    • @Valentyn90A
      @Valentyn90A 5 месяцев назад +1

      He is NOT reasonable at ALL. He is delusional.

    • @lDeath489
      @lDeath489 5 месяцев назад +5

      ​@@Valentyn90A Watch his interviews and conferences, he criticize himself and criticize his own early builds of his games, he admit of his own mistakes and limitations and he is aware that other people are better than him in other aspects. He is also aware of how people perceive what he say and how he say things, so he rephrase what he is saying according to who he is talking to and stick to actually answer the questions.
      So i'm confident that He does have a reasonable and valuable thought process even if it is not perfect it is good enough to respect his thoughts and take it seriously.
      If you can't watch his stuff, Trust me ;D

    • @KikkerFish
      @KikkerFish 3 месяца назад

      Verse will fail. It’s too weird for most people.

  • @matjam6660
    @matjam6660 3 месяца назад +1

    I wish he'd stop talking about it and just release the language and the reference compiler.

  • @ExpensivePizza
    @ExpensivePizza 4 месяца назад +5

    Everyone in the comments misses the point. He's not doing this to make money. He's not doing it to replace other languages. He's not even doing it to make better games.
    He's doing it because he wants to and he can.

    • @____uncompetative
      @____uncompetative 3 месяца назад

      No. I think he needs his language to work on his next game as it is such a big project that he wants something he is truly happy with.

  • @username9340
    @username9340 26 дней назад +1

    These problems he complains about have already been solved by Java. Fast compile times. Good performance. Easy to read syntax. There is a few good open source game engine written in it already. You can write code and test it out in a few seconds.

    • @anima94
      @anima94 10 дней назад

      C++ is better than java at those things and he is even complaining about that

    • @CaldonianBoar
      @CaldonianBoar 9 дней назад

      I can hear him clenching his fists at this comment.

  • @maximenadeau9453
    @maximenadeau9453 5 месяцев назад +5

    Another language starting, inevitably having the same limitations than other languages, because everything nowadays is just another syntax on top of LLVM. Why not contribute on something that already exists ? Or just use plain old C when you really want to have full controll ?

    • @filipg4
      @filipg4 5 месяцев назад +10

      Jai already has a custom back-end and it's metaprogramming capabilities alone are already lightyears ahead of anything on the market.

    • @asdqwe4427
      @asdqwe4427 5 месяцев назад +2

      C has too much undefined behaviour

    • @maximenadeau9453
      @maximenadeau9453 5 месяцев назад +3

      @@asdqwe4427 if you think C has undefined behavior, at this point you might as well say that Assembly has undefined behavior.

    • @alejmc
      @alejmc 5 месяцев назад +1

      @@filipg4 really? I enjoy a lot listening to Jon but I can’t quite grasp sometimes what the bigger deal is about.
      I’m a non programmer that started making games since the Microsoft XNA days, then Unity, so basically 95% of my experience is C# and associate graphics API and shaders.
      Some might say that C# is not a real language and that game programming is not real programming and more “just scripting”, but I feel like I barely scratch the surface of what it’s possible, I’m using barely 10% of the language and libraries capabilities I think… can’t grasp how JAI would be so much better 😢

    • @filipg4
      @filipg4 5 месяцев назад +5

      ​​@@alejmcWhat you are doing is absolutely real programming and majority of people will agree, Jon included. If you write code to make the computer do something, you are doing programming, regardless of your tools/languages.
      Jai is perhaps a bit more difficult to appreciate if you did not get a chance to use it, or if you did not spend much time with C++. Because what Jai does really good is make things which are very messy/difficult in C++ like metaprogramming/builds/memory management/etc. - really easy without limiting what you can do. Combine that with a ton of quality of life improvements like better errors, smarter compiler, super fast compilation times, types as first class citizens, much nicer syntax, etc. and you get yourself an amazing systems language.
      Hope that clears it up a bit.

  • @rndszrvaltas
    @rndszrvaltas 3 месяца назад

    Okay, this is embarrassingly vague.

  • @K9Megahertz
    @K9Megahertz 5 месяцев назад +13

    You know I woke up this morning and had the craziest thought. How much better things would be with just one more programming language...
    When is it going to stop? We're north of hundreds of languages at this point.
    It's like Linux, let's make a new distro everyday... cause we don't have enough.
    What you end up with is a disparate landscape where nothing works with anything else.

    • @zenshade2000
      @zenshade2000 5 месяцев назад +24

      He isn't creating another programming language to satisfy anyone other than himself and other game programmers that have been frustrated by the same friction that he has. So if you don't grasp why it's necessary, it's not for you.

    • @plaintext7288
      @plaintext7288 5 месяцев назад +4

      Closest thing to it right now is Rust due to the community effort. But using a systems programming language for general scripting (bash, python, lua), pc/mobile game dev (from c++ to kotlin to js), access to data science tooling (python, julia) etc. is just not worth it
      I am a golang backend dev and I'm better off using react+ts for a portfolio website and lua for hobby game dev and bash for scripting
      Also, there are multiple app communication protocols ranging from extern c to protobufs to json depending on needed level of ease of use and flexibility

    • @lukasschmidt2478
      @lukasschmidt2478 5 месяцев назад

      But how do you know that the other more than a thousand languages were also invented in the morning? It could be a lunch time thing for all you know.

    • @NukeWalker
      @NukeWalker 5 месяцев назад +1

      Different languages are better tailored for different kind of tasks. Otherwise we'll have the mentality of JS running everywhere, even where it has no business running.

    • @diggerkropkapl
      @diggerkropkapl 5 месяцев назад +8

      You know, this can be said about a lot of things, like why would Rimac make another car company, don't we have enough of them? Why would Framework make yet another laptop, we already have established brands. Why would anyone make another videogame, we already have too much to even find the time and play our backlog.
      Let the man do his thing, maybe it will be a failure, maybe it will be a success. Maybe it will solve *his* problems and that will be a success in itself. He's not doing it for money and fame, he's doing it because he thinks there is a valid reason to work for *years* to create a new language :)