This Library Turns C into Go

Поділитися
Вставка
  • Опубліковано 22 січ 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 16 днів тому +70

    Just to mention, the author is author of ZeroMQ

    • @TsodingDaily
      @TsodingDaily  16 днів тому +52

      This actually explains why the library is such a banger

    • @hughesadrian
      @hughesadrian 16 днів тому

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

    • @elgalas
      @elgalas 16 днів тому

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

  • @Pi7on
    @Pi7on 16 днів тому +42

    Zozzin have you seen Clay (C layout library)?

    • @CookieGod24
      @CookieGod24 16 днів тому +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 15 днів тому

      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 15 днів тому +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 16 днів тому +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 16 днів тому +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 16 днів тому +11

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

  • @pftq2401
    @pftq2401 16 днів тому +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 16 днів тому

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

    • @pftq2401
      @pftq2401 16 днів тому +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 15 днів тому

      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 7 днів тому

    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 16 днів тому +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 16 днів тому +2

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

  • @softwet4341
    @softwet4341 16 днів тому +4

    Tsoding, have you seen CLAY?

  • @TheCommunistRabbit
    @TheCommunistRabbit 16 днів тому +2

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

    • @NikhillRao27
      @NikhillRao27 16 днів тому +1

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

    • @stefanalecu9532
      @stefanalecu9532 16 днів тому

      Isn't that just cgo?

  • @crankshaft99k85
    @crankshaft99k85 15 днів тому +1

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

  • @alexeydmitrievich5970
    @alexeydmitrievich5970 16 днів тому +3

    CLay library for layouts in C next!

  • @monad_tcp
    @monad_tcp 15 днів тому

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

  • @danko95bgd
    @danko95bgd 16 днів тому

    43:16 ahahaahah 😂

  • @skope2055
    @skope2055 16 днів тому +1

    "millf" function lol

  • @baranjan6969
    @baranjan6969 16 днів тому +1

    10:16
    My friends are msvc users!

  • @TheCommunistRabbit
    @TheCommunistRabbit 16 днів тому

    That thumbnail is top notch brother

  • @RukopisyNarnie
    @RukopisyNarnie 15 днів тому

    Inc files re also "header files" of fasm.

  • @TheCommunistRabbit
    @TheCommunistRabbit 16 днів тому +4

    Try out Clay, it's a C layout library

  • @chepossofare
    @chepossofare 16 днів тому

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

    • @bazilm1
      @bazilm1 16 днів тому +2

      Can't c3 just use this library directly anyway?

    • @chepossofare
      @chepossofare 16 днів тому

      @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 14 днів тому

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

  • @2ndbrain108
    @2ndbrain108 16 днів тому

    is someone using jujutsu for vcs?

  • @homosuperior1337
    @homosuperior1337 15 днів тому

    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 16 днів тому +2

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

    • @maybenot909
      @maybenot909 16 днів тому

      bump

  • @oidpolar6302
    @oidpolar6302 16 днів тому

    Other architecture than x86 to have would be nice

  • @sknown
    @sknown 16 днів тому

    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 11 днів тому

    Amazing!

  • @blu3m0nkey
    @blu3m0nkey 16 днів тому

    Librarby

  • @faridguzman91
    @faridguzman91 16 днів тому +1

    Millf

  • @PolarisMyWay
    @PolarisMyWay 15 днів тому

    another Sustrik's libary is ZeroMQ lib, quiet popular

  • @bokunochannel84207
    @bokunochannel84207 12 днів тому

    ts pretty cool for game dev

  • @timper1162
    @timper1162 13 днів тому

    Cool lib !

  • @StevenMartinGuitar
    @StevenMartinGuitar 13 днів тому

    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 13 днів тому

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

  • @Grave1001
    @Grave1001 16 днів тому

    12 out of 10 for this libraries :)

  • @nexovec
    @nexovec 16 днів тому +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 15 днів тому

    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!
    ua-cam.com/video/zUDhcN-8oQo/v-deo.html

  • @DuskyDaily
    @DuskyDaily 17 днів тому

    Tsoding first

  • @binitrupakheti4246
    @binitrupakheti4246 16 днів тому +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.