This Library Turns C into Go

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

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

  • @wagsman9999
    @wagsman9999 17 дней назад +360

    Tsoding has motivated me. I have compiled Raylib. Learned a little Make. And can now draw a red circle. Using c, and Notepad++. It's not much, but it's a start.

    • @nohandlepls15
      @nohandlepls15 17 дней назад +44

      That's how you start doing anything:)

    • @simargl2454
      @simargl2454 17 дней назад +22

      Big if true

    • @isaacalves6846
      @isaacalves6846 17 дней назад +15

      Keep it up

    • @darthtrex9356
      @darthtrex9356 17 дней назад +21

      Journey of a thousand miles begins with one step. Godspeed soldier 🤝

    • @aquilafasciata5781
      @aquilafasciata5781 17 дней назад +7

      Keep it up, brother 💪 You should learn Vim at some point; it saves you a lot typing 😊

  • @HarrisonSmith-tw8be
    @HarrisonSmith-tw8be 17 дней назад +46

    i like the new style of your videos where you add a few highlights and then the X hours earlier format. Not sure how much extra effort for you it is but I appreciate it Mr. Tsoding :)

  • @labsendeyshent
    @labsendeyshent 17 дней назад +144

    C3 influencer posted

  • @phonkee
    @phonkee 17 дней назад +70

    Just to mention, the author is author of ZeroMQ

    • @TsodingDaily
      @TsodingDaily  17 дней назад +52

      This actually explains why the library is such a banger

    • @hughesadrian
      @hughesadrian 17 дней назад

      @@TsodingDaily you should look into libdill, his successor version of libmill

    • @elgalas
      @elgalas 17 дней назад

      ​@@hughesadrian Watch the full video ;) he did check it out

  • @Pi7on
    @Pi7on 17 дней назад +42

    Zozzin have you seen Clay (C layout library)?

    • @CookieGod24
      @CookieGod24 17 дней назад +11

      YES, this. I’d love for him to talk about Clay (and Nuklear).

    • @Pi7on
      @Pi7on 16 дней назад +1

      @CookieGod24 yo I didn't know about nuklear! Looks sick!

    • @whydw2283
      @whydw2283 16 дней назад +2

      Go take a look for clay 🎉🎉🎉🎉🎉

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

      mahn i'm so bummed Clay refused to work for me first time but i'm working on fixing the issues (mostly Raylib ones) to try it out

    • @wiseskeshom4673
      @wiseskeshom4673 14 дней назад +1

      Yep, please help check out Clay

  • @abhishekkadam2999
    @abhishekkadam2999 17 дней назад +15

    10:41 probably the best definition of coroutine I've heard by far.

  • @andreffrosa
    @andreffrosa 16 дней назад +1

    futures/promises are an abstraction for the "handlers" of asynchronous/concurrent "tasks", which can either run on a separate OS-thread or a "app"-thread (a.k.a. coroutines). goroutines are go's rebranding of coroutines. The futures themselves are not an asynchronous execution primitive/model as you seem to be explaining but rather a "high-level" synching/coordination primitive, like channels. Its the "high-level" equivalent of joining a thread and fetching the result (and in the case of js you can also conveniently chain them). In the case of go, the goroutines do not return an intrinsic future and instead you usually use a channel for returning a result to the caller or similar to indicate the task has finished

  • @angelos9800
    @angelos9800 17 дней назад +5

    Tsoding is the reason I started learning more stuff man. He motivated me to start making a rasterizer... in vanilla JS (I am sorry)

  • @IvanKovalenko-u8u
    @IvanKovalenko-u8u 17 дней назад +8

    the thumbnail of this video looks really amazing

  • @talideon
    @talideon 16 дней назад +5

    libdill is the follow-up to this, but it's also abandoned.

  • @sumedh-girish
    @sumedh-girish 16 дней назад +3

    1:38 is so perfect I want the skill to do that lmfao

  • @Asdayasman
    @Asdayasman 17 дней назад +6

    25:52 actually CLEAN.

  • @lolcat69
    @lolcat69 17 дней назад +11

    30:17 we're betraying raysan with this one 🗣🗣🗣

  • @pftq2401
    @pftq2401 17 дней назад +3

    sorry for offtopic, but how to make github show me ssh link by default instead of https, like it did at 4:01 ?

    • @kiosmallwood576
      @kiosmallwood576 17 дней назад

      You have to be logged into github and give them your ssh public key in your profile.

    • @pftq2401
      @pftq2401 17 дней назад +2

      @@kiosmallwood576 nope, problem is i have to change tabs to "ssh" every time i click this green "Code" button, but i want it to be default, it seems it only defaults to ssh when i'm in repo that i own

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

      If you have an ssh key added and click on the SSH tab once, as long as you’re logged in that will be the default

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

    Coroutines sometimes, but not always, imply the use of a parallel stack that allows the coroutine to be paused at any arbitrary point no matter how deep into a function call it is, and to be resumed at a later point as well. So it's something a bit less than a full thread, and a bit more than a green thread. They also can be used to implement futures, so it's true that they are somewhat related.

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

    An unpopular truth is that strtok() from the C standard library is one of the earliest implementations of a coroutine. You can call it repeatedly and even redirect the work it does, changing the source string it operates on and even changing the delimiters it uses while still processing the same string.

  • @Feal-flf
    @Feal-flf 17 дней назад +7

    It's impossible for tsoding to not code in C. I respect that

  • @froop2393
    @froop2393 17 дней назад +4

    you can learn so much from this channel... its freaking entertaining... and its for free 😮.... crazy...

  • @richardsh8770
    @richardsh8770 16 дней назад +1

    I see the library author's repo for a dialect of go with structural concurrency. I suppose it's a good idea to look what he means by that.

  • @msxmlable
    @msxmlable 17 дней назад +3

    3:30 into the video, already liking it

  • @elgalas
    @elgalas 17 дней назад +2

    1:07:32 oh that's a new argument I'll be using when lurking around the web

  • @TheCommunistRabbit
    @TheCommunistRabbit 17 дней назад +2

    Also you can compile C to Go using a compiler called C for Go

    • @NikhillRao27
      @NikhillRao27 17 дней назад +1

      Interesting, does Go have an unsafe library to let you manage memory?

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

      Isn't that just cgo?

  • @softwet4341
    @softwet4341 16 дней назад +4

    Tsoding, have you seen CLAY?

  • @crankshaft99k85
    @crankshaft99k85 15 дней назад +1

    This means we can have Go in C3 also. Who needs Go anymore!

  • @alexeydmitrievich5970
    @alexeydmitrievich5970 17 дней назад +3

    CLay library for layouts in C next!

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

    12:49 of course they had to mess with the stack frames

  • @danko95bgd
    @danko95bgd 17 дней назад

    43:16 ahahaahah 😂

  • @skope2055
    @skope2055 16 дней назад +1

    "millf" function lol

  • @baranjan6969
    @baranjan6969 17 дней назад +1

    10:16
    My friends are msvc users!

  • @TheCommunistRabbit
    @TheCommunistRabbit 17 дней назад

    That thumbnail is top notch brother

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

    Inc files re also "header files" of fasm.

  • @TheCommunistRabbit
    @TheCommunistRabbit 17 дней назад +4

    Try out Clay, it's a C layout library

  • @chepossofare
    @chepossofare 17 дней назад

    TBH if something like this lands in C3 it would be great.

    • @bazilm1
      @bazilm1 17 дней назад +2

      Can't c3 just use this library directly anyway?

    • @chepossofare
      @chepossofare 17 дней назад

      @bazilm1 yep, but i'd vet it before, it's not so manteined and imho has a not so great ergonomy

  • @mirrorless_mirror
    @mirrorless_mirror 12 дней назад

    GCC & clang only - That's bad thing. What about IBM xlC, or Oracle C++ compiler for Solaris? Also sh*t?

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

    where is the future, bed, and kitchen apis

  • @atiedebee1020
    @atiedebee1020 17 дней назад +2

    This reminds me of cilk, which is similar to this but built into the compiler. I believe older versions of gcc supported it

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

    С первых секунд понятно, что Tsoding русский или славянин, по обилию мата.

  • @2ndbrain108
    @2ndbrain108 17 дней назад

    is someone using jujutsu for vcs?

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

    I need go. Thanks for asking.

  • @FocusAccount-iv5xe
    @FocusAccount-iv5xe 17 дней назад +1

    Engaging.

  • @John-yg1cq
    @John-yg1cq 17 дней назад +8

    Damn, I did something similar for my Master Thesis, but for embedded. Didn't know about libmill tho! Should have included that in my sources.

    • @drownwarlord7581
      @drownwarlord7581 17 дней назад +2

      now im more interested to read your thesis, where can i access it

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

      bump

  • @oidpolar6302
    @oidpolar6302 17 дней назад

    Other architecture than x86 to have would be nice

  • @sknown
    @sknown 17 дней назад

    Hi Tsoding. I have been writing code in C for some time now. Was looking at all the new languages that promise to be worthy successors of C. Don’t like Rust. Zig is good. But I hear you often criticizing Zig and recently you have been working with C3. I need something more mature than C3 for my projects. What would you recommend? I would like to try Jai but it is still in the weird closed beta thing for a very long time now. Would love to hear your thoughts on it.

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

      Zig is the best imho (Jai is looking better though, but it's not public). The only problem is that it hasn't released yet, which means it has a lot of bugs and will have major breaking changes that you might or might not like.

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

      You could consider Odin.
      More importantly try not to be discouraged by internet memeing. If you want to have fun making a thing then do it.

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

      @@thesenamesaretaken Have you tried both Zig and Odin? I have tried Zig but not Odin. What would you say are the main reasons to choose Odin over Zig?

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

      @@sknown it's more like jai or go and it has some nice build-in features for graphics programming, e.g vectors and quaternions as default types.
      if you want to do game development or anything 3D or 2D related I would use Odin instead of Zig.
      And maybe the learning curve with Odin isn't as steep as with Zig.

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

    is there will be any pinged today in the discord, im waiting the pinged everyday bruh so sad yesterday is a day off

  • @oneHugo
    @oneHugo 12 дней назад

    Amazing!

  • @blu3m0nkey
    @blu3m0nkey 17 дней назад

    Librarby

  • @faridguzman91
    @faridguzman91 17 дней назад +1

    Millf

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

    another Sustrik's libary is ZeroMQ lib, quiet popular

  • @bokunochannel84207
    @bokunochannel84207 12 дней назад

    ts pretty cool for game dev

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

    Cool lib !

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

    Echo server vs raylib speed run.... Why not send the pixels over the network, and have them echoed back and displayed on your machine 😂

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

    Hi. aren't you Russian? your voice tone reminded me...

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

    12 out of 10 for this libraries :)

  • @nexovec
    @nexovec 17 дней назад +2

    "coroutine is a computer program component that allows execution to be suspended and resumed"
    Great, so now python generators became goroutines. I'm not even confused anymore I just gave up a long time ago.

    • @StitchesForScars
      @StitchesForScars 16 дней назад +1

      You can think of the generator as the underlying mechanisms, coroutines are just more powerfu because the "yield" can dynamically move around

    • @nexovec
      @nexovec 16 дней назад +1

      @@StitchesForScars But still, it's within that definition. Only proves Alexey's point that it's tough to define.

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

    interesting library, really.
    Magnificent transmission, a very interesting library! Here is an interview with the creator of Libmill, which I find very illustrative. Greetings, tsoding, and thanks for all your content!
    ruclips.net/video/zUDhcN-8oQo/видео.html

  • @DuskyDaily
    @DuskyDaily 17 дней назад

    Tsoding first

  • @binitrupakheti4246
    @binitrupakheti4246 17 дней назад +7

    Sorry I use Rust btw. Go is not for smart people.

  • @mac2875
    @mac2875 16 дней назад +1

    Why make a video on this? Go fans and the new hyper community coming to ruin this too 🤦‍♂️ now.