They Made a Sequel to C

Поделиться
HTML-код
  • Опубликовано: 7 сен 2024
  • Streamed Live on Twitch: / tsoding
    Enable Subtitles for Twitch Chat
    More Episodes: • C3 Programming Language
    References:
    - c3-lang.org/
    - github.com/c3l...
    - github.com/c3l...
    - Code: github.com/tso...
    Support:
    - BTC: bc1qj820dmeazpeq5pjn89mlh9lhws7ghs9v34x9v9
    - Pay for my VPS: zap-hosting.co...

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

  • @mateusvmv
    @mateusvmv Месяц назад +186

    Everyone talking about C killers, meanwhile I'm looking for the C healer

    • @CHURCHISAWESUM
      @CHURCHISAWESUM Месяц назад +20

      Everyone ask what is C nobody ever ask how is C :L

    • @Jupiter__001_
      @Jupiter__001_ Месяц назад +13

      HolyC

    • @mateusvmv
      @mateusvmv Месяц назад +1

      @TempCrap-nn4cm tell me about it!

    • @gwentarinokripperinolkjdsf683
      @gwentarinokripperinolkjdsf683 Месяц назад +1

      I am starting to learn how to use clang tooling and I have some ideas about extending the C language. In particular I want comp time functions

    • @Shonicheck
      @Shonicheck 26 дней назад

      ​@@gwentarinokripperinolkjdsf683 Do you want compile time functions like in zig? If yes then zig is your answer!) You can also perfome computations using good'ol macro-magick(though heavy use is ill-advised), also most of the simple computations that can be done in compile time are already done in compile time by using optimisations of modern compilers(though yes, this behaviour is NOT a guarantee). If you are talking about meta-programming then *light* macros are all you need. Anything more than that - you might as well use just c++ at this point(you can treat c++ as a feature dump of c extensions), since it has compile-time functions and a metric ton of other features like that.

  • @pgpg6
    @pgpg6 Месяц назад +594

    "This is what happens when C programmers start making websites" 😂

    • @saeedhaidar1375
      @saeedhaidar1375 Месяц назад +12

      Man I laughed so loud🤣🤣🤣

    • @kausdeka
      @kausdeka Месяц назад +1

      Pokémon evolution!!

    • @V0ngard3n
      @V0ngard3n Месяц назад

      @@saeedhaidar1375I have got literally kicked out of a team call for laughing my soul out for this 😂

    • @ashley_noveyplush
      @ashley_noveyplush 26 дней назад +3

      reading this comment at the same time tsoding says it hits different

  • @j-wenning
    @j-wenning Месяц назад +217

    The FAQ now has a "How do I use WASM?" section now.

  • @GesteromTV
    @GesteromTV Месяц назад +121

    14:11 face asking : " do i developed it in my dreams or something?"

  • @marcsfeh
    @marcsfeh Месяц назад +131

    the "unecessary" fn keyword actually allows to disambiguate a bunch of problems that the C declaration syntax suffers from, especially when declaring function pointers

    • @iverbrnstad791
      @iverbrnstad791 Месяц назад +37

      Helps make the code greppable too

    • @twenty-fifth420
      @twenty-fifth420 Месяц назад +9

      @@iverbrnstad791 Yeah, that was the big pet peeve and we haven't started the video!
      I feel like zozin has forgotten what it is like writing idiomatic C. It is not like your higher level languages where you just get a 'print'. Like java (shots fired), you do this 'void main' bullshit. Like, what does 'VOID' mean? (I know what it means now dont correct me below), what does MAIN mean (oh we need a main function, I dont know why but whatever.)
      I prefer an explicit function keyword. That is C/C++ problem. I hate it has no function, fn, fun or func keyword.
      Also, i am optimistic about C3. I think it is a less feature promisey V, but I look forward to seeing both develop as a 'just a thin layer' above C.

    • @artemiasalina1860
      @artemiasalina1860 Месяц назад +1

      @@iverbrnstad791 So do comments, no? /* fn */

    • @tilmanrotationalinvariant2257
      @tilmanrotationalinvariant2257 Месяц назад +18

      @@artemiasalina1860 no

    • @lolilollolilol7773
      @lolilollolilol7773 21 день назад +2

      C3 looks a bit like zig, just with less features.

  • @XeZrunner
    @XeZrunner Месяц назад +151

    14:07 that slow look at the camera is hilarious LOL

  • @wassimulator
    @wassimulator Месяц назад +26

    I actually talked with the creator of C3 a little some time back. It was throughly a good experience both from a programming language and a personal standpoint.

  • @notdeus3834
    @notdeus3834 Месяц назад +75

    One day, I'll be able to fully comprehend the things you say

    • @zxcv88111747
      @zxcv88111747 29 дней назад

      This is how charming he is.

  • @idkncc
    @idkncc Месяц назад +194

    My brain is too soyed to understand after previous web development streams

  • @memetech-
    @memetech- 17 дней назад +3

    I feel like the subtitles are not doing their job here... They're nice, if not for the fact that now I don't get the *real* subtitles

    • @angelcaru
      @angelcaru 14 дней назад +2

      You can still enable the auto-generated subtitles

  • @psteven5
    @psteven5 Месяц назад +49

    Why are you still using C3 ?
    C23 is already out smh

    • @solidnywonsz
      @solidnywonsz 13 дней назад +2

      Who cares about C23? We already have C99

    • @psteven5
      @psteven5 13 дней назад +1

      @@solidnywonsz i saw someone say that on the C3 video after this one and i realized i could have made the joke way funnier

  • @kittenlord3572
    @kittenlord3572 Месяц назад +20

    44:10 I think it's actually a good idea, cuz defer also accounts for breaks/continues in the while loop, in case you want to use them

  • @kebien6020
    @kebien6020 Месяц назад +13

    Making the comments into RUclips subtitles is interesting. Never thought about that option

  • @Simon-xi8tb
    @Simon-xi8tb Месяц назад +160

    Why didnt they name it C+++

  • @harleyspeedthrust4013
    @harleyspeedthrust4013 Месяц назад +40

    a.f(b) is different from f(a, b) in which namespace f is a member of. I don't care much for method chaining, but it is useful to have built-in syntax that groups all methods for a type into their own namespace.

    • @davidbriggs8109
      @davidbriggs8109 Месяц назад +3

      They are actually the same thing, in my own POV sha

    • @ElPikacupacabra
      @ElPikacupacabra Месяц назад

      You can do f_a(a, b) if you insist. Manual namespacing. But the fact that a function takes a is sufficient to classify and search for such functions.

  • @vovakolodiy2270
    @vovakolodiy2270 Месяц назад +62

    We already have c with four +
    It names C#

    • @hpntic
      @hpntic Месяц назад

      C sharp sucks

    • @lobotomy-victim
      @lobotomy-victim Месяц назад +2

      C hashtag is awful

    • @satibel
      @satibel 16 дней назад +3

      @@hpntic c# is c++ flavored java, but with pointers and near-c speed, it's good for rapid iteration where you don't wanna care about lifetimes nor memory size and just want to do something, but p5.js and python are too slow.
      currently I mostly do tool dev, so c# is my go-to

  • @smnm
    @smnm Месяц назад +18

    Press 6 for beatbox mantra

  • @gamefun2525
    @gamefun2525 Месяц назад +7

    We got a sequel to C before GTA 6

  • @TheAlexgoodlife
    @TheAlexgoodlife Месяц назад +12

    People like methods mostly because it makes the code read almost like english. " a = b.copy(c)" is in the same order as subject, verb, object. It also keeps the current translation unit's namespace a bit cleaner I guess.

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад +2

      raw c is more like English. a = fsin(b). A is float sinus of b.

    • @TheAlexgoodlife
      @TheAlexgoodlife Месяц назад +1

      @@RukopisyNarnie consider a void function call to a function that modifies or requires self. It would read as "Operation(self, arg)", this could be "compare(a,b)", with a method it would be "a.compare(b)". Its really just to make it easier to read and parse, I argue that not having to explicitly pass self into the function makes it a worthwhile addition in its own right

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад

      @@TheAlexgoodlife It doesn't seem more readable to me. I guess it makes it easier to chain it for functions that return its "hosting type".

    • @samuraijosh1595
      @samuraijosh1595 Месяц назад

      this is also kinda the same grammar convention in declarative functional programming right?

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад

      @@samuraijosh1595 I am not sure if I understand what you say

  • @v8metal
    @v8metal Месяц назад +4

    I swear I couldn't stop laughing throughout the entire video. Thank you, you made my year.

  • @Mekelaina
    @Mekelaina Месяц назад +8

    I checked C3s change logs and apparently "printn" was once "println" and they willingly changed it for some ungodly reason.
    Revision 2023-03-18 apparently

    • @ardnys35
      @ardnys35 Месяц назад +4

      it would be too good perhaps that's why. they had to get us

    • @0LoneTech
      @0LoneTech Месяц назад +3

      I guess they thought it was more C-ish to use n as in
      than ln as in natural logarithm. You know, just like in puts. Wait...

    • @christofferlerno2633
      @christofferlerno2633 Месяц назад +2

      I hated how long and garbled printfln looked, and then I learned a bit of F# (F# uses printfn) and `printfn` quickly grew on me. A huge advantage is that it's much easier to read (fln is not good for readability).

    • @0LoneTech
      @0LoneTech Месяц назад

      @@christofferlerno2633 But as discussed all over these comments, fn now stands for function, even if the subprograms aren't functions at all. To please the parser, apparently.

    • @christofferlerno2633
      @christofferlerno2633 Месяц назад +1

      @@0LoneTech Here's the answer why: c3.handmade.network/blog/p/8886-why_does_c3_use_%2527fn%2527#30031

  • @Kitulous
    @Kitulous Месяц назад +4

    i didn't expect the emacs mode of this language to be inspired from tsoding's thing hahaha

  • @GegoXaren
    @GegoXaren Месяц назад +3

    The only language that is syntaticlly consise that I've every seen is the dead language OOC.
    That was the most beautiful thing I've ever seen.

    • @christofferlerno2633
      @christofferlerno2633 Месяц назад

      OOC. That brings back memories, last time I read about that one was ages ago.

  • @SimGunther
    @SimGunther Месяц назад +48

    There is actually a C4 PL, but that language is a little too explosive for my taste

    • @bossgd100
      @bossgd100 Месяц назад +5

      There is actually a C16/17/18 PL, but that language is only for android

    • @theevilcottonball
      @theevilcottonball Месяц назад +1

      I have a C17 compliant compiler, but not on android.

    • @GreggHarris-gm7ef
      @GreggHarris-gm7ef Месяц назад +6

      Arab programmers: "I'm in love"

  • @valshaped
    @valshaped Месяц назад +11

    "What's the point of `fn` keyword?"
    The fn keyword takes parsing a function definition from O(n^3) to O(n) (if i remember right) by making the grammar fully predictable
    EDIT: I did not remember right, lmao, I remembered very, very wrong

    • @mrglick5050
      @mrglick5050 Месяц назад

      What does n represent in a function declaration? I thought it's constant time.

    • @valshaped
      @valshaped Месяц назад

      ​@@mrglick5050The number of tokens in the function definition [`void`, `main`, `(`, `)`, `{`, `}`]

    • @sigurdhermann781
      @sigurdhermann781 Месяц назад

      @@mrglick5050tokens?

    • @JustMaiyak
      @JustMaiyak Месяц назад +1

      It’s probably the length of the file in # of lines

    • @valshaped
      @valshaped Месяц назад +2

      @@mrglick5050 Number of tokens in a function definition; though, I'm probably wrong about that. It's only when you get to nesting functions in other functions that you'd have ambiguity with expression statements. \shrug

  • @dragonkid5204
    @dragonkid5204 Месяц назад +18

    have you looked at Odin-lang? I've gotten really into it as of late, it has defer and builtin vector type arithmetic as well. I'd be curious to see what you would think of it.

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад

      He played with it on stream. You will probably find recording of that stream on chanel.

    • @dragonkid5204
      @dragonkid5204 Месяц назад +1

      @@RukopisyNarnie I couldn't find it, do you know what it is called? or around when it was?

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад

      @@dragonkid5204 I have no idea, but I remeber him trying it.

    • @RukopisyNarnie
      @RukopisyNarnie Месяц назад +1

      @@dragonkid5204 Maybe I mixed it upnwith something. Sorry.

    • @mishaerementchouk
      @mishaerementchouk Месяц назад +1

      @@RukopisyNarnieis it possible that you were thinking about zig? There was indeed a zig stream but I don’t recall an Odin stream.

  • @vovagusse
    @vovagusse Месяц назад +1

    Can't wait for part 4. That one's gonna blow everyone's minds.

  • @ilyasssaadi9594
    @ilyasssaadi9594 15 дней назад

    1:11:29 the language redeemed itself and he is expressing how much he loves it

  • @SteveRowe
    @SteveRowe Месяц назад +19

    I like that you wrote your own C3 mode before you knew C3 existed. 420 IQ move!

  • @icesentry
    @icesentry Месяц назад +1

    The nice thing about methods is that auto complete is much nicer with them compared to having the entire list of all functions.

  • @avasam06
    @avasam06 14 дней назад

    Adding chat in CC is novel. Probably breaks RUclips's Machine Learning too. double awesome.

  • @leshommesdupilly
    @leshommesdupilly Месяц назад +1

    Man, I'm still waiting for the day they will add classes to C :D

  • @Highwind_
    @Highwind_ Месяц назад +8

    First thing I will do is to alias c3c to "cccc", the way it should be.

  • @nimaaskarian
    @nimaaskarian Месяц назад +4

    I've wrote a todo app and I've called it c3 because of it expanding calcurses todos to have a tree-like structure.
    I think I have to start a lawsuit against them.

  • @HeyItsDoodler
    @HeyItsDoodler Месяц назад +4

    14:41 broke me

  • @raykirushiroyshi2752
    @raykirushiroyshi2752 Месяц назад +4

    Das crazy,can't wait for c4

  • @Lorenzo1938
    @Lorenzo1938 Месяц назад +7

    I think zozin could love Odin language (and i'm not payed to say that). After years of C/C++, Rust and some other Scheisse, it is very refreshing to use it

  • @naranyala_dev
    @naranyala_dev Месяц назад +1

    [PARENTAL ADVISORY] 18++

  • @oglothenerd
    @oglothenerd Месяц назад +1

    The random beet boxing made this all the better.

  • @user-qu7nq3uo3w
    @user-qu7nq3uo3w Месяц назад +2

    for changing the color you could use the vector swizzling to move to 0xFF along the color! color = color.brga;

  • @jose6183
    @jose6183 Месяц назад +3

    "What is this JAVA!?"...Yeah I totally agree 😂

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

    800x600 is of the orthodox aspect ratio but the holiest resolution is 640x480.

  • @yoavmor9002
    @yoavmor9002 Месяц назад +2

    Hot take: C will die when Intel comes up with a new instruction set architecture. But as long as they keep making them backwards compatible, we're stuck with C.

    • @ChristopherGray00
      @ChristopherGray00 18 дней назад

      no? GCC/clang are made to have maximum compatibility, they'll just port to a new instruction set... that's one of the fundemental jobs of a compiler.
      also, intel won't change to a new ISA, i'm not sure why you think that would even remotely be a good idea for them

    • @satibel
      @satibel 16 дней назад

      @@ChristopherGray00 itanium lurking around in the corner like oscar the grouch.

    • @ChristopherGray00
      @ChristopherGray00 16 дней назад

      @@satibel itanium? you mean that ISA in 2001 that immediately flopped when it came out and that intel had zero reason to proceed with?
      yeah, no one is going to use a proprietary one-company ISA and move their entire infastructure over for it. companies will just move over to AMD for better top-level performance with no changes needed.

  • @vicenteeduardo5598
    @vicenteeduardo5598 Месяц назад +2

    I loved this language, i bought me after the vector stuff

  • @axthd
    @axthd Месяц назад +1

    The language looks very promising.

  • @markblacket8900
    @markblacket8900 Месяц назад +2

    looks like zig with less crappy syntax

  • @musicdev
    @musicdev Месяц назад

    I’m not sure if this version will take off, but when they fix all the problems and release it as C4, I’m sure it’ll blow up

  • @darioabbece3948
    @darioabbece3948 Месяц назад +1

    14:40 the video is now turing complete

  • @jawad9757
    @jawad9757 Месяц назад

    a """C replacement""" without sum types and some level of pattern matching on them in this day and age is just a meme

  • @tomaszstanislawski457
    @tomaszstanislawski457 Месяц назад +6

    There is a plan to add "defer" to C, there are even actively discussed proposals on WG14. However, "defer" introduces quite many complication due to odd corner cases. Moreover, "defer" is virtually unusable without lambdas that have their own problems.

    • @OREYG
      @OREYG Месяц назад +2

      More like, whoever proposed a defer was the same person who proposed lambdas, and used the defer as a vehicle to push his lambda proposal. You don't need lambdas for defer to work, and edge cases are mostly related to go-to.

    • @GegoXaren
      @GegoXaren Месяц назад

      Auto exists in C, but you have to register a function for each type.
      Look up the GLib macros for g_auto, g_autoptr etc etc.
      It uses __attribute__((cleanup(...))) to do it.

    • @tomaszstanislawski457
      @tomaszstanislawski457 Месяц назад

      @@GegoXaren This GCC extension, not a standard portable C. Btw. it is possible to use nested functions with statement expression to get a lambda-like function that can be used with `cleanup` attribute. Something like `({ void foo(void*){...} foo; })`

  • @nephew_tom
    @nephew_tom Месяц назад +2

    14:11 That is c-2-emacs-2-human recursion...

  • @ruroruro
    @ruroruro Месяц назад

    1) The ".o" files that were created with --target wasm32 are actually WebAssembly binaries, not ELF object files. So it seems that wasm "just works (tm)".
    2) If you don't like prefixing everything with "raylib::", you can just have the main file and the raylib.c3 use the same module. You don't have to create a new module for each file. Although it is indeed a bit weird that there is no import blah::* or using blah or even import blah as foo.

  • @ErikBongers
    @ErikBongers Месяц назад +1

    I'm gonna wait for C4. It's gonna be explosive.

  • @RostislavArts
    @RostislavArts Месяц назад +6

    But wait... Sequel to C is actually D

    • @27onionnebell40
      @27onionnebell40 Месяц назад +1

      but there's already a programming language called D. and it requires a runtime (including GC! 🤔), or you are limited to a subset of functionality (called BetterC).

  • @rithvik_
    @rithvik_ Месяц назад +51

    the semantics look more like rust than C

    • @bossgd100
      @bossgd100 Месяц назад +79

      crust

    • @Anubis10110
      @Anubis10110 Месяц назад

      lol 😅

    • @Mohamed_Ahmed-222
      @Mohamed_Ahmed-222 Месяц назад

      crust

    • @paulkanja
      @paulkanja Месяц назад +1

      ​@@bossgd100 okay no cap this is a good name for a language that melds the two

    • @a.lollipop
      @a.lollipop Месяц назад

      ​@@paulkanjaI NEED THAT

  • @jc-aguilar
    @jc-aguilar Месяц назад +1

    Okay, this language looks very cool. The only things that I don’t like are the contracts stuff and defer. I think the using keyword in C# is better approach than defer, you can really see the scope of the thing that you are “using”

    • @egorsozonov7425
      @egorsozonov7425 Месяц назад

      No it’s not better, it introduces extra indentation and helps turn your code into The Tower of Doom

    • @donovan6320
      @donovan6320 Месяц назад

      Or you could define using() declaration as open ended and it effectively has the same scope as the function. That being said, if you are using enough calls to make a tower of Doom of using statements, you're probably doing something wrong.@@egorsozonov7425

  • @stzi7691
    @stzi7691 Месяц назад

    Regarding the $foreach: When it is executed at compile time the compiler loops and generates all the io::printfn() - lines.. and then there is no loop any more in the resulting code. In order to not confuse with scope, because it isn't, they did chosse the $endforeach, maybe. To annotate that you do not have a scope you could also used special curlys like ${ and $} to annotate that this are only lingual curlys but they will not exist anymore, when the compiler slided over it.

  • @kaitlynyaa
    @kaitlynyaa Месяц назад

    they should have called it c4, because then the slogan could be "this language is the bomb"

  • @RPG_Guy-fx8ns
    @RPG_Guy-fx8ns Месяц назад +1

    I want a prequel to C. something closer to ASM, but with more verbose operations.

  • @RadioactiveBluePlatypus
    @RadioactiveBluePlatypus Месяц назад

    Can't wait for C4 programming language that just explodes your computer at compilation

  • @stephenkamenar
    @stephenkamenar Месяц назад

    21:16 it's not "just a syntax" (well it is, but) it's actually important for organizing your code.
    i think it's a huge problem to not let you namespace functions like this.
    without it you just have a million global functions maybe namespaced with Foo_next() but Foo.next semantically lets you know the function is only relevant to the Foo struct/class

  • @androth1502
    @androth1502 Месяц назад +1

    windows stuff might be there for cross-compilation.

  • @rafagd
    @rafagd Месяц назад

    14:00 that moment when you just want some pretty colors on your screen and you get doxxed by a random repo maintainer

  • @porky1118
    @porky1118 Месяц назад

    26:50 If you want compiletime access of the complete language, rather use Lisp or Scopes.

  • @ratherbyexploring4898
    @ratherbyexploring4898 Месяц назад +5

    Feeling when that guy Alexy gives you a github star 😻

  • @pedrokalil4410
    @pedrokalil4410 Месяц назад

    the end for each may be because otherwise it could be confused with generate a block. needed because for loops accept statements, most commonly the block statement

  • @cmon2564
    @cmon2564 Месяц назад +1

    This C3 thing looks a lot like hare (or hare looks like C3, idk which was there first). Still nice to have different alternatives :)

  • @alifkhan4128
    @alifkhan4128 Месяц назад +4

    I actually liked the syntax of c3. Linking native libraries is very easy. It has modules, generics, macros and what not. I think I like it more than zig already.

  • @DriftJunkie
    @DriftJunkie Месяц назад

    Now we know what language was C3PO programmed with

  • @borodinden
    @borodinden Месяц назад +1

    "not readable, only maintainable"

  • @recore67onload
    @recore67onload Месяц назад

    19:44 that got me lol

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 22 дня назад

    Read write read only space can you make

  • @satibel
    @satibel 16 дней назад

    imo everything should be public unless there's a really good reason for it not to be.

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 22 дня назад

    Folders have to sorted by allocation sort folder

  • @jwill5954
    @jwill5954 Месяц назад +1

    c3 before gta 6 is crazy

  • @ABaumstumpf
    @ABaumstumpf 8 дней назад

    a keyword in general is a good idea... but it should be a keyword: it is in the name - a WORD, not 2 arbitrary letters. We are not in 1973 where storage is rare and typing is limited by the computer.
    This is one of the worst atrocities that is still plaguing programming languages: They either use cryptic symbols, terrible abbreviations, or you are in library.section.namespace.class.subclass.function.variand-land . Just make it "function" or "func" or something readable.
    And brightmode - it is superior in most aspects. Only for programming i tend to switch to DarkMode cause way too often the tools have TERRIBLE font-support and with bad styling and bad fonts dark-mode has better colour clarity. But bright is just better for readability and better for the eyes.

  • @BeenYT
    @BeenYT Месяц назад

    libc doesnt have a fraction type its just a struct containing quotient and remainder from an integral division

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 22 дня назад

    That prob should have starting point

  • @NeohSpace
    @NeohSpace Месяц назад

    "Javascript damaged my brain" I think he speaks for all of us

  • @SlinkyD
    @SlinkyD Месяц назад

    First you find code based from your old code then René shows up. You not only famous, you a legend. 🎓🎩 👑

  • @rodelias9378
    @rodelias9378 Месяц назад

    I watched the entire video. Now I can say that I have 10 years experience in C3.

  • @androth1502
    @androth1502 Месяц назад +1

    if you like the built in vectors and swizzling, you might also like odin. it doesn't have methods. heh.

  • @technite5360
    @technite5360 20 дней назад

    Can't wait for C4, it will be the bomb

    • @technite5360
      @technite5360 20 дней назад

      Why the need to add fn for a function tho...

  • @anon3118
    @anon3118 Месяц назад +1

    Bro probably fixed three bugs in their code by the end of the video. 😅

  • @nikkehtine
    @nikkehtine Месяц назад

    1:07:55 real world example of an undefined behavior happening on an innocent C programmer

  • @badrakhariunchimeg1031
    @badrakhariunchimeg1031 22 дня назад

    Read only is have to boble recursive sorted

  • @p99chan99
    @p99chan99 Месяц назад

    34:17 Camera spazz

  • @andrespedraza8939
    @andrespedraza8939 Месяц назад +9

    $300 for another Zig stream(?

  • @nefrace
    @nefrace Месяц назад

    We need a full version of Kawaii Frikkin Desu

  • @louis1001
    @louis1001 Месяц назад

    Should have called the compiler binary ccc

  • @secretgogeta
    @secretgogeta Месяц назад

    Programming in C4 is like exploding a bomb

  • @yanikb.1312
    @yanikb.1312 Месяц назад +1

    Have you tried the prologue? C--

    • @MartinDerTolle
      @MartinDerTolle Месяц назад

      You don't have to make things up. The real prologue is obviously B

    • @0LoneTech
      @0LoneTech Месяц назад

      @@MartinDerTolle You likely jest, but you are to some degree correct. C inherits from B, which in turn inherits from BCPL, spawning the vigorous argument about whether C would be succeeded by D or P. Meanwhile, C-- begat Cmm which is in active use inside the Glasgow Haskell Compiler.
      However, none of these are prologues (that's more akin to Haskell's Prelude) or sequels (like the numbered generations of K).

  • @bobby9568
    @bobby9568 Месяц назад +5

    We need more videos from you, that way we can get more depressed realizing we're not real programmers compared to you xD

  • @ZoomRmc
    @ZoomRmc Месяц назад +1

    С3 is nice enough, but C4 is gonna be the bomb!

  • @leonidas14775
    @leonidas14775 20 дней назад

    We need more new frameworks and libraries to make existing languages useful. Not more languages

  • @BingoDan936
    @BingoDan936 Месяц назад

    Have you reviewed Forth?
    Do you think it can replace C?
    The only high level language older is Fortran.
    First language to use a database and 2D CAD.
    It is low level, like C, though not as fast.
    Incremental compilation.
    Rapid development, 50x faster than C.
    Extend and design the language as you need.
    Is used in the real world, mostly microcontrollers.
    Is used by NASA, by Riad Airport Saudi Arabia security management system, large construction management software.
    Large active user community, FIG.

  • @maxmustermann5590
    @maxmustermann5590 Месяц назад +1

    It looks like they did good work with this, but I don't really see why you'd use this over Zig, which has a faster developing ecosystem

  • @zactron1997
    @zactron1997 Месяц назад +2

    Ok so this language looks pretty neat; nice features, good documentation, simple mission statement, seems good. My concern is I don't see any reason for this to get adopted by the masses. If you're a C die-hard, then you don't want a new language, you want C. If you're a corporation or government body, you don't want C, you want Java, or Python, or C#, or whatever other big-money language.
    It's awesome people are experimenting with new languages, but what does C3 offer that actually makes it worth adopting? Rust has its safety claims, C++ has its massive ecosystem, C# has Microsoft and .NET, etc.
    Not to sound rude, but it seems like Odin, Jai, C3, Zig, etc. all fall into this C fanclub of languages, too similar to C for people that hate it, and too different for those that love it.

    • @0LoneTech
      @0LoneTech Месяц назад

      Rust's strength seems to be a C-like syntax veneer on Haskell-like type classes. And then they try to scare people off with the borrow checker. Can't just write a function, you have to replace the move semantics or the call site has to counter it.

    • @jc-aguilar
      @jc-aguilar Месяц назад +1

      I agree that it is very unlikely that C developers will switch to a new language, but I disagree on the rest. I think there is plenty of people who want to get into system programming but C is too annoying. I am one of them, there are 5 things that I really dislike about C:
      1. No module/namespacing
      2. Not having a language supported way to release/close resources (something like using in C# or defer in Go)
      3. The lack of a build system (I think Zig is making the best solution for this)
      4. The preprocessor
      5. Header files

  • @brunopanizzi
    @brunopanizzi Месяц назад

    we survived 30 mins without raylib

  • @gagagero
    @gagagero Месяц назад +12

    I actually talked with the creator of C3 a little some time back. It was not a good experience, both from a programming language and a personal standpoint.

    • @JazzBrown-ym8ku
      @JazzBrown-ym8ku Месяц назад +1

      Hey, man is the guy weird or something ie McAfee. If it’s not a bother for you, would be interesting to know brief details for all around since creating a language good or bad seems a remarkable feat (but not necessarily wise) so very unique all in all.

    • @kcvinu
      @kcvinu Месяц назад +4

      I am a member of his discord channel and it's been more than one year. In my experience, I felt he is such a nice guy.

    • @gagagero
      @gagagero Месяц назад

      @@JazzBrown-ym8ku It's nothing serious, he's just an asshole if you question his design.

    • @gagagero
      @gagagero Месяц назад +1

      @@JazzBrown-ym8ku No, he just has a large ego (apparently you can't say the a word).

    • @JazzBrown-ym8ku
      @JazzBrown-ym8ku Месяц назад

      @@gagagero Oh okay thanks for replying seems somewhat par the course for large tasks like this.