it's for real a relief, because when you get stressed out/tired you get to watch other people build something and throughout the whole process it's them doing the thinking, and it's us getting the reward of them being successful.
@rvft3 ай бұрын
Bro just like me fr fr
@soroushyaghoubi77093 ай бұрын
@@cococrybased
@WiseWeeabo3 ай бұрын
Javascript, never supposed to be a programming language, used only because browsers can't agree on anything, ends up somehow being used in the backend, but because it's so bad, we're now compiling real languages into a web version of assembly so that we can run it on a js runtime in the backend.. cool
@brambasiel3 ай бұрын
Node.js was made to have a singular programming language for both frontend and backend programming, reducing the need of writing interop code. It was the best solution for it's time. Front-end and back-end devs became fullstack developers at the cost of performance. Keep in mind that wasm did not exist back then.
@owlmostdead94923 ай бұрын
Javascript is the perfect example of the sunken cost fallacy.
@WiseWeeabo3 ай бұрын
@@brambasiel you realize WASM works on the front-end as well, right? the rational thing to do would be now to use the same language on the front-end as the back-end, and have it not be JavaScript (or Node)~
@brambasiel3 ай бұрын
@@WiseWeeabo Yeah that's what the Rust and C# Blazor people have been doing for years which has not really taken of... Unfortunately WASM is still slow for interacting with dom elements and I think that native code will lead to larger bundle sizes than JS: The inevitable over-reliance on emscriptem and bringing your own language runtime instead of using browser provided features will have the opposite effect and make the web even slower to **load** than it already is. A bloated WASM will be a 10MB file load while a bloated JS bundle will be more like a 2-5MB download. If Twitch decided to rewrite their entire site in WASM I doubt they will be using a slick low level programming language like C or C3. Tsoding is using WASM for its best possible usecase, canvas and doing heavy math. Try doing React level DOM operations in WASM and your solution will be likely more bloated than using React itself, at least with the current WASM tech available.
@brambasiel3 ай бұрын
@@WiseWeeabo (I think my response message got deleted, so here is the summary of it) The Rust and C# Blazor people have been doing this for years which never really took off. Tsoding is using WASM for it's best usecase, doing canvas and heavy math. Current wasm is slower than JS for doing DOM manipulations. I think the inevitable over-relience on emscriptem will make wasm bundles bigger than js bundles. Big companies won't be using sleek low level languages like C or C3 if they rewrite their sites in WASM. Imagine the equivalent of something like C++ Boost being shipped with every wasm bundle. (And I don't think Rust would be better.) The average webdev does not care about low level programming, they care about development speed and making money. (sadge but true)
@arhantalwar3 ай бұрын
Fuck, That thumbnail is dope.
@luanbravo44013 ай бұрын
Also Tsoding 2 videos ago: C3 -> 8==D
@luanbravo44013 ай бұрын
Shout out to all russians who also don't have twitter, like us Brazilian. Keep up the awesome content!
@nyyakko3 ай бұрын
e que por favor nunca mais volte!! kkkkkkkkkk
@benisrood3 ай бұрын
@@nyyakkoyou mean because people are better off without twatter?
@brambasiel3 ай бұрын
almost sounds like a luxury tbh
@pesterenan3 ай бұрын
The best thing that has ever happened to us. A melhor coisa que já aconteceu pra gente. Я не знаю, как написать вышесказанное по-русски.
@caio7573 ай бұрын
É triste nossa realidade
@sukaisnaini18433 ай бұрын
ceiling written in C2 floor in C3 and wall in C4 hehe.
@dorianligthart33783 ай бұрын
tsodin' explodin'
@dmitrypatriarkh97573 ай бұрын
Next must be Interlude i guess
@houssembousmaha36153 ай бұрын
I always preferred married responsibily principle
@lenk1723 ай бұрын
I try to have as much coupling in my code as possible
@tristeub9973 ай бұрын
This is really great quality content.
@chriswinslow3 ай бұрын
@02:37:59 Accidently coded in Doppler effect. I was thinking, can other players hear bombs explode which other players throw? Maybe depending on how far away the explosion is the quieter the volume of the explosion should be?
@00000masnnnnnnnnnnnnn3 ай бұрын
Watching from Pakistan from my mobile 4G data. Bought the data package just to watch videos on this channel.
@KnThSelf2ThSelfBTrue3 ай бұрын
I have an idea to kill full-stack TypeScript: I always thought it'd be cool to be able to jump-to-definition from something calling a function in WASM to the original source code function, and to use that bridge to also cross the client-server boundary at the same time that you're potentially crossing a language boundary. I know that with a naming convention you can basically accomplish the same thing- you just take three seconds to grep and open a file, but I seriously think that saving three seconds at that moment is the biggest reason people still want to use full-stack TypeScript.
@Shrek_The_Mathematician3 ай бұрын
Sadly until we get DOM bindings directly in WASM we will never be able to fully kill JS/TS
@SamualN3 ай бұрын
The reason JS still persists on the frontend is because for WASM to be able to manipulate the DOM, it has to call out into JS glue code which has much more performance overhead than just using JS to do DOM manipulation. The other thing WASM sucks at compared to JS is bundle size. People laugh at some websites serving you >1MB of JS but good websites should never serve you more than 300KiB of JS. For WASM, big binaries are just the norm. And if you have JS on the frontend, it becomes very convenient to have JS on the backend since you can share lots of code. Like you'll never be in a situation where the form validator on the client disagrees with the form validator on the server because they should be running the exact same code on both. The one thing WASM tends to have JS beat on is performance intensive calculations like re-encoding an image from JPEG to WebP for example. Those sort of operations are perfect for doing in a Web Worker in WASM. There are some cool fullstack rust based frameworks like Leptos but they tend to be pre-1.0 and not quite ready for production yet. I''m keeping my eye on them though.
@Tigregalis3 ай бұрын
@@SamualN The "glue code" argument is no longer true, the overhead is almost irrelevant: which is to say that if/when WASM gets direct access to the DOM, it's not going to be faster. It's actually the cost of serialising/deserialising UTF16 strings (JS) from UTF8 strings (most compiled languages) and vice versa that's the cause of slowdown. WASM binary size is definitely a problem though.
@SamualN3 ай бұрын
@@Tigregalis the text encoding conversion is what I was mostly referring to when talking about WASM having to go through glue code is talk to the DOM (though I should have directly stated it). I would hope that if they ever let WASM talk directly to the DOM, WASM will be allowed to speak UTF-8
@daysofend3 ай бұрын
@@SamualN The reason JS exists is because it's not that bad. It's very flexible, it has a huge community, and V8 is a beast. People will just compile JS/TS to WASM.
@antropod3 ай бұрын
It would be funny to make a compiled language called ToyScript, which is not a toy language
@Seedwreck3 ай бұрын
Rather it being full fledged with some like compiler/interpreter/transpile suite or some serialization shit lmaooo
@MatthewPherigo3 ай бұрын
Have you looked into the Lunatic framework? It provides an Erlang-style VM for webassembly, they have a Rust version so you get Rust + Erlang style threads and messages.
@vinialves123623 ай бұрын
14:21 Brazil mentioned let's go (not for a good reason tho)
@jamesgphillips913 ай бұрын
id love to see your takes on Golem Cloud and wasicloud. The tooling for building wasm components is growing so fast!
@ecosta3 ай бұрын
39:00 - "Temporary code". Hard to believe when I hear that at the exact moment I'm sadly looking at my screen while trying to remove some convoluted "temporary code" left by my team at work. With parts in TS as well, for extra irony....😆
@btarg13 ай бұрын
Why does his keyboard sound like a gamecube controller and where can I get one
@JoniSudeste3 ай бұрын
I understand none out of wasn, but you are really clear when speaking out your "programming thoughts" that is really conforting for us, noobs. thumbs up
@bbq14233 ай бұрын
1:10:54 top level await is only available in module files and since the file extension is js and not mjs, it doesn’t use modules. A la Fortran .f90.
@averbenko3 ай бұрын
Does standard library of C3 use fast square root when calculating distance between vectors? If not, then it makes sense to use squared distance (like it was in typescript code).
@thelazycoder643 ай бұрын
27:13 we know your neighbors are aliens 👽
@remrevo39443 ай бұрын
23:52 Tsoding out here context shaming poor little LLMs.
@TsodingDaily3 ай бұрын
>little First L in LLM stands for "Large"
@ferdynandkiepski50263 ай бұрын
With the amount of parameters this is beginning to look like win32. Just missing some defines making pointer types and magic values.
@Odod40003 ай бұрын
NEW STREAM!! I love your videos! Very Cool! 😀
@Odod40003 ай бұрын
When will you start making your own OS? 😀
@Beam_Teamer3 ай бұрын
WebUrmom should be a twitch emote 🤣🤣
@southgonholditdown3 ай бұрын
Actually PHP on the backend is the future. Learn PHP now!
@ficolas23 ай бұрын
no thx
@SlinkyD3 ай бұрын
Old web dev is back?
@mxjeonsgw3 ай бұрын
Nah I'm good like this. Thanks though.
@vitaliiivanov95143 ай бұрын
Let's run it in FE as well with Web Assembly! I will call this framework Web Ass!
@inspacesilence3 ай бұрын
I am a newbie and programming since last year , i can build anything with the help of libraries but when it comes to start from scratch i feel like i am dumb and should give up on coding... plz help me how can i build anything from scratch like you do
@iamdozerq3 ай бұрын
You should first have an idea what you want. Then try to make the most simple feature you can do now. From here you will be seeing code not blanket. Try to plan out every step first as far as you can without thinking too much, then do smallest step possible. Then watch your plan again.
@inspacesilence3 ай бұрын
@@iamdozerq i'll definitely try this by starting with creating something very small
@vaolin17033 ай бұрын
Take courses in DSA and systems programming in case you haven’t already.
@jamiechristie76553 ай бұрын
common.c3 uses mem::new_array() to allocate wasm memory. Fair enough. I guess mem::new_array is a part of c3 standard lib. How do I do this in C (rather than C3) though? Can I use malloc()? I keep getting tangled up in std library difficulties. Is what I am trying even possible? (great content, by the way!)
@HatsuSixty3 ай бұрын
You cannot use the C standard library in web assembly. This is because the functions of C's standard library are located in libc, which contains native code, and can't be linked with web assembly. The way C3 solves that is by not linking with the standard library. Instead, the C3 compiler compiles the standard library and bundles it with your code. To use malloc in web assembly you would need to implement it yourself.
@jamiechristie76553 ай бұрын
@@HatsuSixty Thank for your explanation. That's a nifty trick by C3 - and probably why Tsoding chose C3. It might also explain why the c3c compiler appears - in the video - to take so long It's a shame it isn't easy to recompile libc.a to libc.wasm, and link with it. But I expect that gets tricky quickly (what would one do syscalls, for example). Running C->wasm in "node" is a new trick for me, and I'm rather enjoying playing with it. Such good content here. Love it. Thanks again for the reply.
@duckeggcarbonara3 ай бұрын
Check out the Onyx programming language which compiles solely to WASM and can do serves and client side code
@MarcelRobitaille2 ай бұрын
22:52 Would have worked in vim. Can your emacs do that? Can your emacs do that?
@artemiasalina18603 ай бұрын
If I ever get my name legally changed I'm going to change it to Max Long (and my middle name will be Web).
@xade83816 күн бұрын
thought you'd remove server dependency with WASM
@nathanpotter13343 ай бұрын
Mr. Zozin. Amazing content
@Xotchkass3 ай бұрын
Why use WebAssembly on the backend if you can use... Assembly?
@vitaliiivanov95143 ай бұрын
Web Assembly can serve as an environment to run staff across different machines, pretty much like JVM
@niggacockball79953 ай бұрын
because mobile devices use ARM chips while desktop uses X64 and they are different architectures meaning their instructions arent compatible.
@mibeon3 ай бұрын
Брат по коду, расскажи немного о твоей машине. Что за железо, как настроенно окружение? Почему именно Debian? А как ты подключил таблет для рисования? Какой у тебя?
@iamdozerq3 ай бұрын
Какой то мусор 10 летний у него, деб, и3, емакс, таблет просто воткнул и он заработал. С его же слов это все не важно и нужно только под себя настроить себе систему что бы ПИСАТЬ КОД. Смысла у него что то копировать никакого.
@nyyakko3 ай бұрын
Pog
@techviking23 ай бұрын
Use c4 when you render bombs. 🎉
@Seedwreck3 ай бұрын
Web on the back, mind the web
@Seedwreck3 ай бұрын
Maybe what we should be doing is just using ASM
@souvikpatrahowrah3 ай бұрын
simd acceleration available?
@theevilcottonball3 ай бұрын
Partially, Ithink the C3 vector types can compile to SIMD.
@DART2WADER3 ай бұрын
New framework - "nowade" by Tsoding .)))
@saurav42493 ай бұрын
what text editor do you use ?
@maplepenguin85683 ай бұрын
He uses emacs
@saurav42493 ай бұрын
@@maplepenguin8568 time to learn emacs
@lamaistul3 ай бұрын
AssemblyScript FTW
@GreggHarris-gm7ef3 ай бұрын
THEYRE DRILLIN HWHAT?!
@JoseLucasd3 ай бұрын
Zozin make my life good
@bayzed3 ай бұрын
ZOZIN! WE HAVE TO COOK, ZOZIN!
@aforum44593 ай бұрын
lol just saw your folder name 1:58:49 (sorry I'm immature that cracked me up.)
@GreggHarris-gm7ef3 ай бұрын
shouldve written it in zig
@RustIsWinning3 ай бұрын
C3 better
@GreggHarris-gm7ef3 ай бұрын
@@RustIsWinning zig is the best. OF ALL TIME
@necmi0303 ай бұрын
german part was pretty amusing
@FaZekiller-qe3uf3 ай бұрын
Nwade
@keng_knyaz3 ай бұрын
rompompom
@slimanemimane22493 ай бұрын
Idk what to call ms zozin A web dev or a game dev
@mariomaliqi1843 ай бұрын
Warum redest du so viel deutsch?
@James-l5s7k3 ай бұрын
32 bit future? LOL
@debadityamalakar3 ай бұрын
Third,Also based
@zcizzorhandz55673 ай бұрын
Im sorry but this is BS, it's the future of serverless but that's where it stops.No cloud service is going to make money with Wasm in compute. Only serverless
@eldonad3 ай бұрын
nwade
@ettyxcbyrcburcbtxcfhcdtyurt3 ай бұрын
you need keeps hair treatment not youtube money
@VincentLAnderson3 ай бұрын
I TOLD THEM, I WARNED THEM ALL,. NODE.WASM WAS INEVITABLE! THE CONSEQUENCE OF OUR FOLLY.