Web is in The Past - Native UI in C is Back

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 พ.ย. 2024

ความคิดเห็น • 132

  • @MyGamerPoint
    @MyGamerPoint 11 หลายเดือนก่อน +223

    i am a React developer, and i'm here to see how React is about to get roasted. It feels so good.

    • @luberius
      @luberius 11 หลายเดือนก่อน +7

      me too haha

    • @cheebadigga4092
      @cheebadigga4092 11 หลายเดือนก่อน +9

      no such thing as a React developer, only if you're a project maintainer I guess

    • @realcristir
      @realcristir 11 หลายเดือนก่อน

      ​@@cheebadigga4092???

    • @AnzenKodo
      @AnzenKodo 11 หลายเดือนก่อน +2

      i don't think you should feel proud

    • @MyGamerPoint
      @MyGamerPoint 11 หลายเดือนก่อน +8

      @@AnzenKodo trust me i don't feel proud lol. Every day i woke up (unfortunately), i'm staring into the void.

  • @ShpirtMan
    @ShpirtMan 11 หลายเดือนก่อน +151

    Tsoding mastered the genre of react videos.

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +97

      Slowly turned into React channel Sadge

  • @troruaz
    @troruaz 11 หลายเดือนก่อน +92

    tsoding is a breath of fresh air and punch in the mouth to the state of programming. I hope we start blt'ing pixels directly to the CGA display memory soon! Let's get back all the cycles we've conceded to all the frameworks!

    • @monad_tcp
      @monad_tcp 11 หลายเดือนก่อน +25

      We should go back to 1995 and re-engineer browsers before the mistake of JS

    • @realhet
      @realhet 11 หลายเดือนก่อน +5

      "I hope we start blt'ing pixels directly."
      Don't just hope! Just do it! :D
      I started to do that 5 years ago with opengl pixels in my case.
      Every pixel in every frame is my own responsibility.
      I find it a miracle that I can still sustain my life functions just by doing retro programming.

    • @wearr_
      @wearr_ 11 หลายเดือนก่อน +3

      ​@@monad_tcpas someone who actively uses JS, god yes it's a mistake. So much weird jank that just makes 0 sense.

    • @monad_tcp
      @monad_tcp 11 หลายเดือนก่อน

      @@wearr_ Another mistake was having a mutable DOM, by now its clearly obvious that the idea of the actor model, which is what really underpins React and all the other UI frameworks and even webcomponents is how user interfaces should be built.
      Not by ever manipulating a tree of visual rendering components in a flow based HTML made for documents.
      No, applications should be made all of them using a logical tree data structure, a model And you don't call it "VDOM", there's no dom, its just a tree, its not a "document object model", its a data structure, not a document.
      And the view should react to the model. MVC/MVVM or whatever, that's how you make user interfaces.
      DotNet itself had already got that right by 2005.
      Flash has got that right, ironically, years ago. It had a VDOM of sorts and a DOM. That what dotnet copied from.
      MFC (microsoft foundation classes) in C++ had that, yes, in 1997, because none of those ideas are really new, we just didn't knew they were the right ones.
      Even Win32 apps had a object tree, a component tree, aka, a VDOM. Ever wonder why Windows is called Windows, everything on Windows is a Window, because its just a tree data structure, a VDOM of sorts.
      It took the "web" almost 15 years to actually notice that applications are not documents, and actually standardize on that idea of building interfaces. As you can when you use Document.createElement. But its still a bodge.
      CSS is a mistake, style should be always local to the component, being global makes sense for documents, not for applications.
      So the web even with its web components still isn't how applications should be created.
      The entire thing should be re-engineered.
      React should die, because it shouldn't even have to be needed to begin with.

    • @JohnSmith-yr4vi
      @JohnSmith-yr4vi 11 หลายเดือนก่อน +2

      @@realhet Huh? You say that every pixel in every frame is your own responsibility but you also say your using OpenGL, so which is it? If you are using any draw call or fragment shader you are not responsible for each pixel... the rasterization engine in OpenGL is, you just give it data.

  • @rogo7330
    @rogo7330 11 หลายเดือนก่อน +16

    You can add a delay before expanded volume collapses back after mouse goes out. That way there is no need to play that game where you must guide your mouse through a narrowing labirint and if you hit a wall bad ending happens.

  • @byterbrodTV
    @byterbrodTV 11 หลายเดือนก่อน +20

    0:10
    Answered the main topic in 10 seconds of video. What a level!
    Nextlevel media content, thank you!

  • @necuz
    @necuz 11 หลายเดือนก่อน +14

    You need to make it laggier so users don't get confused /s

  • @glowiak3430
    @glowiak3430 11 หลายเดือนก่อน +14

    Cool program, but I miss a file selector. For someone used to the keyboard drag-n-drop is really disgusting.

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +26

      It's on my TODO list!

  • @cobbcoding
    @cobbcoding 11 หลายเดือนก่อน +36

    the React slander will never end

    • @iWillAvert
      @iWillAvert 11 หลายเดือนก่อน +3

      I have no experience with it at all, hardly know anything about it. Only just jumped back into programming recently. But every time I see anything about React, it's never good, so I assume the slander is justified. 😂

    • @jwoods9659
      @jwoods9659 11 หลายเดือนก่อน +4

      Dude it sucks... if it takes months to learn that mean it's poorly designed. Solid.js is a more modern elegant version of React should be.

    • @rockytom5889
      @rockytom5889 11 หลายเดือนก่อน +1

      And it never should, cause it's react.

  • @happygofishing
    @happygofishing 11 หลายเดือนก่อน +2

    chad video ending with a raylib pull request.

  • @sanjaux
    @sanjaux 11 หลายเดือนก่อน +2

    With audio plugins you’d usually need to implement parameter smoothing for that slider but yours is just fine, so it’s interesting to think about the differences between this and a VST. Unless I missed it somewhere

  • @angelcaru
    @angelcaru 8 หลายเดือนก่อน +2

    Rare footage of Tsoding not saying "Looks like we're live"

  • @drj9403
    @drj9403 11 หลายเดือนก่อน +6

    1:39 bruh i love watching your puns 😂

  • @Mozartenhimer
    @Mozartenhimer 11 หลายเดือนก่อน +2

    It would be funny if the speaket icon got bigger when the volume increased.

  • @haliszekeriyaozkok4851
    @haliszekeriyaozkok4851 11 หลายเดือนก่อน

    1:00:09 i literally playbacked and screamingly laugh until next 15 seconds several times. Amazing.

  • @kabukitheater9046
    @kabukitheater9046 11 หลายเดือนก่อน +10

    came for the react roast. stayed for the react roast.

  • @namanchhabra4136
    @namanchhabra4136 8 หลายเดือนก่อน

    He is Awesome person I enjoy listing to him 😃

  • @heyyouhere
    @heyyouhere 11 หลายเดือนก่อน +3

    let's go tsoding!

  • @sanjaux
    @sanjaux 11 หลายเดือนก่อน +3

    Only real ones remember the old title and thumbnail

  • @east_wood
    @east_wood 11 หลายเดือนก่อน

    Love the sneaky title change ;)

  • @liquidsnake6879
    @liquidsnake6879 11 หลายเดือนก่อน +2

    The next great web revolution, i'm calling it Browserless Web AKA Web 4 AKA WebX (for Elon in case he wants to give us money to start a foundation)
    It consists of just not writing any Javascript at all because your Chad Application doesn't run inside Google's cute little browser and instead spits in its face by rendering the UI and making calls to the Backend all in C, not even ++, just C. Imagine the possibilities, the greatest social media of all, an IRC client with fully rendered 3d high-poly Animu catgirls

  • @nexovec
    @nexovec 11 หลายเดือนก่อน +4

    tsoding == BS_NONE
    react_devs == BS_ALWAYS

  • @AsherDMckoy
    @AsherDMckoy 11 หลายเดือนก่อน +3

    Came for react slander, stayed for porn folder too smol

  • @dixztube
    @dixztube 5 หลายเดือนก่อน

    He’s funny like mental outlaw Kenny.

  • @fullstack_journey
    @fullstack_journey 11 หลายเดือนก่อน

    dude can reinvent the wheel and expects others to have the capability to do so as well, dude is happy, let him be happy

    • @longlostwraith5106
      @longlostwraith5106 10 หลายเดือนก่อน

      If you can't do something so simple as making a rudimentary native UI, you're not a programmer. You're a skid.
      Don't get me wrong, being a skid pays the bills. But it makes you easily replaceable, so easily actually that even ChatGPT can produce better code than you.
      Many skids joke about how ChatGPT writes better code than them, and I view that as a self-insult of the highest order. If a glorified text-predictor is better than you at your supposed area of expertise, you have failed spectacularly.

  • @monad42
    @monad42 11 หลายเดือนก่อน +1

    At 19:24, besides enum-based bitflags and structs, there is also the possibility of struct of bit-fields. That way I think you get both the space efficiency and the clear syntax.

    • @mattmurphy7030
      @mattmurphy7030 9 หลายเดือนก่อน

      People complain about bitfields because they aren’t portable. I work in embedded so it’s inherently non portable so I use them but 🤷🏻‍♂️

  • @WndSks
    @WndSks 11 หลายเดือนก่อน +7

    Flexing on html/css centering never gets old.

    • @esgn.design
      @esgn.design 11 หลายเดือนก่อน

      just use fucking display flex lmao

  • @bitmanagent67
    @bitmanagent67 11 หลายเดือนก่อน

    Alexey is a master.

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 11 หลายเดือนก่อน

    01:19:06 --force instead of --force-with-lease?

  • @wumbl3
    @wumbl3 11 หลายเดือนก่อน +4

    CLITERAL

    • @SlinkyD
      @SlinkyD 11 หลายเดือนก่อน

      I seent it 👀

  • @alurma
    @alurma 11 หลายเดือนก่อน +2

    19:38
    Hmm I think bit fields would've worked. I'm not an expert in bit fields though.
    typedef struct {
    unsigned hoverover : 1;
    unsigned clicked : 1;
    } Button_State;
    They would be stored in a single unsigned int, if I understand correctly.
    Don't see a reason why to avoid them here (except for the reason to avoid bit fields in the project as a whole, that I totally get)

    • @alurma
      @alurma 11 หลายเดือนก่อน +1

      The reason for using them is not polluting the global namespace and having convenient lvalue .accessors, of course

    • @alurma
      @alurma 11 หลายเดือนก่อน +2

      Also, you can try this:
      int main(){return sizeof(struct{_Bool x:1;_Bool y:1;});}
      On my computer, this returns 1.
      This is valid since C99

    • @yaksher
      @yaksher 11 หลายเดือนก่อน

      You could also do `unsigned char ... : 1; unsigned char ...: 1` to make it a single byte instead of an entire 4 byte int which sets empty.

    • @alurma
      @alurma 11 หลายเดือนก่อน

      @@yaksher, pretty sure it's not specified whether this is allowed or not by the standard. Unsigned int and _Bool are guaranteed to work as of C99

    • @yaksher
      @yaksher 11 หลายเดือนก่อน

      @@alurma Huh, looking into it, it does appear that that's correct. Wild. It also appears that GCC-to some people's complaints-will pack your unsigned int into the smallest type that fits, while Clang and ICC will use the full size.
      I never realized how non-portable bitfields are. Good to know, wish they were more portable given how much more convenient they are than bit masking for most purposes.

  • @Himlajchan
    @Himlajchan 4 หลายเดือนก่อน

    I C what you did there!

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 11 หลายเดือนก่อน

    59:50 harder to update raylib

  • @spacewad8745
    @spacewad8745 11 หลายเดือนก่อน +2

    ah shit here we go again

  • @SlinkyD
    @SlinkyD 11 หลายเดือนก่อน

    I'm just a state machine.
    And I won't work for nobody but you.

  • @fhools
    @fhools 11 หลายเดือนก่อน +1

    ok how did you type FULLSCREEN_BUTTON_SIZE/FULLSCREEN_BUTTON_MARGIN to HUD_BUTTON_SIZE/HUD_BUTTON_MARGIN instantly like that??

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +2

      It's a cut.
      I started to cough at that moment and it was a bit too loud, so I decided to cut it out. This was the best way to do it. Sorry if it turned out too confusing.

    • @fhools
      @fhools 11 หลายเดือนก่อน

      lol of course i'm a dummy. really clean up though!

  • @GameProgrammer79
    @GameProgrammer79 11 หลายเดือนก่อน +2

    It is amazing to see someone else doing the same custom UI programming I remember doing as a teenager in 2001-2002. Actually, the future is HTML-based rendering. If all Windows rendering systems in Linux moved to a Chrome / HTML-based rendering, it would solve many issues because writing an app would mean a lot less effort and a lot of flexibility.

    • @SomeRandomPiggo
      @SomeRandomPiggo 11 หลายเดือนก่อน +1

      I really hope it isn't, that would be horrifically inefficient and slow

  • @sharokhkeshawarz2122
    @sharokhkeshawarz2122 11 หลายเดือนก่อน +1

    I don't know my heart just don't want's to learn react ;-; I'm cursed by Svelte

  • @AEF23C20
    @AEF23C20 11 หลายเดือนก่อน

    никогда не понимал, почему не юзают сишняк массово
    проще чем сишняк - ничего не придумали, да и наверное не придумают
    при этом, на сишняке можно написать абсолютно всё [ну или почти всё]
    при этом, сишняк позволяет абсолютно всё - это пожалуй единственный язык абсолютно "без каких либо тормозов"

  • @xhivo97
    @xhivo97 11 หลายเดือนก่อน +2

    you can't bait us like that lol

  • @nixrohan
    @nixrohan 11 หลายเดือนก่อน

    Thanks, you're the reason many people have imposter syndrome

  • @hatter1290
    @hatter1290 11 หลายเดือนก่อน

    Any plans to support musicalizer on iOS/Android?

  • @aghaam2404
    @aghaam2404 11 หลายเดือนก่อน

    Soooo, nobody is going to comment on the folder too smol PepeHands

  • @SiddheshPardeshi-mp9cr
    @SiddheshPardeshi-mp9cr 11 หลายเดือนก่อน +2

    Zozin
    Plz make GTA VI before Rockstar games

  • @lievenpetersen
    @lievenpetersen 11 หลายเดือนก่อน

    Programming like this is the only way I feel comfortable with JavaScript. But it always slaps me in the face with async awaits and forces me to use really terrible and weird control flows. (If there is a better Javascript way to do it, I am not smart enough for that)

  • @ecosta
    @ecosta 10 หลายเดือนก่อน

    Always good to see React being roasted, but I feel like this is also a roast to over-bloated UI frameworks like wxWidgets, QT...

  • @luqmaanmohideen8422
    @luqmaanmohideen8422 11 หลายเดือนก่อน

    show us ur setup

  • @lievenpetersen
    @lievenpetersen 11 หลายเดือนก่อน

    What do you suppose, is the vertical equivalent of a horse-slider?

    • @lievenpetersen
      @lievenpetersen 11 หลายเดือนก่อน +1

      Maybe a horse-lift?

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน

      I usually call it vert_slider :D

    • @lievenpetersen
      @lievenpetersen 11 หลายเดือนก่อน

      ​@@TsodingDaily Hmm, I think I know what you mean (though the P is not silent, it's actually spelled "Pferd").
      So "pferd_slider" is a decent idea, but I still feel like sliding it is quite horizontal..

  • @klirmio21
    @klirmio21 11 หลายเดือนก่อน

    What is the problem with Electron?

  • @reosfire
    @reosfire 11 หลายเดือนก่อน +1

    Goodluck with textboxes)

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +1

      th-cam.com/video/V-o1cKaWOQc/w-d-xo.html

    • @longlostwraith5106
      @longlostwraith5106 10 หลายเดือนก่อน

      Not as difficult as you might think. Stop being a skid and actually learn how to program.

  • @RuslanKovtun
    @RuslanKovtun 11 หลายเดือนก่อน +9

    I know you are trolling, but youtube like comments so I'll write anyway. React is needed to not spend 2 hours on one button for your application (time to market matters). If one has better UI he will win but it is hard to compete with electron apps by writing native apps for each platform. Have you considered some cross platform tooling like Qt? The logic of the app should stay the same.

    • @jwoods9659
      @jwoods9659 11 หลายเดือนก่อน +1

      You don't need react to do that family.

    • @emaaaaax
      @emaaaaax 11 หลายเดือนก่อน +2

      his program is also cross platform.

    • @JohnSmith-yr4vi
      @JohnSmith-yr4vi 11 หลายเดือนก่อน +2

      @@emaaaaax Doesn't matter. Markets for web applications are still massive, it allows you to ship without requiring installation, and you inherit lots of security features from the browser. Ignorantly you can rebuttal by saying that people can simply just download and install your application, then I would say, what about enterprise software with security requirements. At my company we can get around lots of security checks by shipping a web application, if we shipped a software app, we would have to go through a huge security process just to hot-patch software for each of our clients.

    • @longlostwraith5106
      @longlostwraith5106 10 หลายเดือนก่อน

      @@JohnSmith-yr4vi Honestly, I don't give two shits about what's more profitable for your or anyone else's company.
      Installing a computer program isn't that hard. And yes, you are inheriting lots of the security features from the browser, but you're simultaneously inheriting lots of the security vulnerabilities and overall low performance of said browser. Any modern browser is a huge beast, and loading and running all that just to have a simple GUI is... idiotic and lazy.
      Don't get me wrong, I know it's profitable. What's better than having a standardized, cookie-cutter interface that can be customized by replaceable """webdevs""". Ugh, I think I vomited a little...

    • @JohnSmith-yr4vi
      @JohnSmith-yr4vi 10 หลายเดือนก่อน

      @@longlostwraith5106 I'm not privy to this standardized, cookie-cutter interface you're talking about. It also doesn't matter what YOU want, developers are a fraction of computer users. The fact is, clients do not want to install services on their machines. I can deploy an application that runs fine on all platforms with relative ease via web technology, in probably half the time with the same amount of security if not more then what a native solution could do. Sure there are things that I wish I could do in web technology that I can only do in native programming, tough shit.

  • @gamingandlive2548
    @gamingandlive2548 11 หลายเดือนก่อน

    ew thats too fast, i need time to play on my phone while software loads like visual studio adds a half an hour to my day every time i fire it up

  • @DarrenJohn10X
    @DarrenJohn10X 11 หลายเดือนก่อน

    Okay now write a C equivalent for React Native...

  • @silentclimber
    @silentclimber 11 หลายเดือนก่อน

    Is this God?

  • @LouPeabody
    @LouPeabody 11 หลายเดือนก่อน

    it's too snappy I'm dizzy, horrible UI lmaoooo

  • @anon_y_mousse
    @anon_y_mousse 11 หลายเดือนก่อน +13

    Seems like most React developers understand that their work is pointless, but there's a few that seem upset at being told the truth.

    • @jwoods9659
      @jwoods9659 11 หลายเดือนก่อน +1

      It's too fan boyish it's not easy to use. Solid.js is way better but lord all the jobs are in React it's ruining development.

    • @paladin9876
      @paladin9876 11 หลายเดือนก่อน +3

      nice elitism bro, I’m sure you are better than them because they use a different technology than you 🎉🎉🎉

    • @anon_y_mousse
      @anon_y_mousse 11 หลายเดือนก่อน +3

      @@paladin9876 It's not elitism when it's true.

    • @jwoods9659
      @jwoods9659 11 หลายเดือนก่อน +1

      Not that it's EVERYTHING is in React and when you bring up anything it's like this cult lie follow the leader mindset. The truth is newbies should not touch it. Your learning the REACT WAY. That is not development you run the chance of just learning how to piece things togther.@@paladin9876

    • @paladin9876
      @paladin9876 11 หลายเดือนก่อน +2

      @@anon_y_mousse yeah definitely bro, important monitoring services used in RTS actions that are written in React are definitely pointless as an example, but keep going on about how spending 2 hours on a volume button is based

  • @gamingandlive2548
    @gamingandlive2548 11 หลายเดือนก่อน

    dammit, i told my parents i needed react and they didnt listen!

  • @sytranvn
    @sytranvn 11 หลายเดือนก่อน

    If you can cross compile your application and run it on multiple OSes , I will remove React from my CV@Tsoding Daily

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +5

      th-cam.com/video/EB96Auoag6g/w-d-xo.html
      Tho, I don't really get removing from CV part. Are you ashamed of something?

  • @jonaslamprecht9169
    @jonaslamprecht9169 11 หลายเดือนก่อน

    I really want you to build a legit app in React someday xD

  • @natsudragneel293
    @natsudragneel293 11 หลายเดือนก่อน +5

    I am finally understanding c/c++ code after 3 years of on and off usage. Now I am listening the industry doesn't love c/c++ as much as they love rust,zig. And what's the deal with the memory safety. Memory safety only matters in kernel space. Windows, Linux is having issues cause they use

    • @anon_y_mousse
      @anon_y_mousse 11 หลายเดือนก่อน +3

      If you write idiomatic C++ then memory safety isn't a real concern. If you manage things well in your project then the same applies even if you're using C. Linux only has issues because it's so huge that they literally don't have the time to check every single merge. If they had more funding to throw more developers that were on par with Linus at the project, then they wouldn't have problems, but they don't. Microsoft has the funding to properly maintain Windows, but they'd rather spend it on implementing a dystopian future.

    • @natsudragneel293
      @natsudragneel293 11 หลายเดือนก่อน +3

      That's exactly my point. c/c++ is stable enough(very stable). We don't need another freaking language every month to flex a muscle. It's a language that just needs to covey a message. Don't need anything fancy.

    • @anon_y_mousse
      @anon_y_mousse 11 หลายเดือนก่อน

      @@natsudragneel293 Indeed. If someone is just doing it for fun, then I'm all for a new language, but for real work, I say just use what's already there, works and has been tested out the wazoo. I tend towards pure C rather than C++, but I still try to keep up with my knowledge of C++ as well because on occasion I have to use it for work too.

    • @gianni50725
      @gianni50725 10 หลายเดือนก่อน +1

      "Memory safety only matters in kernel space"
      What are you even talking about? It matters more in kernel space, of course (as does every measure of correctness), but these wide sweeping generalization are just as incorrect as insisting Rust must be used everywhere.

    • @anon_y_mousse
      @anon_y_mousse 10 หลายเดือนก่อน

      @@gianni50725 And Rust doesn't even provide memory safety. It checks some things, but not all, and it invalidates perfectly good code due to an overabundance of caution, while missing whole classes of issues.

  • @aeronwolfe7072
    @aeronwolfe7072 5 หลายเดือนก่อน

    "ooooo look at me... i'm a pomade abusing edge lord who disses react....".... yeah yeah react isn't perfect. wgaf.

  • @vnshngpnt
    @vnshngpnt 11 หลายเดือนก่อน +7

    React sucks hard

  • @avi7278
    @avi7278 11 หลายเดือนก่อน +5

    Same claims, same garbage looking UI 😅 this native windows app is supposed to replace a web application? 😂

    • @TsodingDaily
      @TsodingDaily  11 หลายเดือนก่อน +3

      Don't forget to post this comment under each of my videos where I do UI in C, okay? :)

    • @Seedwreck
      @Seedwreck 11 หลายเดือนก่อน

      Valid enough, React sucks, but even ECMA can get you a basic POC in less than 4 videos.

    • @mikesoto890
      @mikesoto890 หลายเดือนก่อน

      found the soydev

  • @XnetRoidPL
    @XnetRoidPL 11 หลายเดือนก่อน

    i dont like what im seeing