This Library Turned my C into JavaScript wtf

  Рет қаралды 28,987

Tsoding Daily

Tsoding Daily

Күн бұрын

Streamed Live on Twitch: / tsoding
Enable Subtitles for Twitch Chat
References:
- libcello.org/
Support:
- BTC: bc1qj820dmeazpeq5pjn89mlh9lhws7ghs9v34x9v9
- Pay for my VPS: zap-hosting.co...

Пікірлер: 140
@Eldin12-l3x
@Eldin12-l3x Күн бұрын
"My main language is acutally Russian" - What? I thought it was assembly all along.
@blackbeard3449
@blackbeard3449 Күн бұрын
Maybe russian is a flavour of assembly?
@jacksonlevine9236
@jacksonlevine9236 2 күн бұрын
"I don't speak English" - Tsoding
@ilia_0001
@ilia_0001 Күн бұрын
I laughed so hard at that hahaha
@velnbur-live3399
@velnbur-live3399 Күн бұрын
Makes content in English, refuses to elaborate further, ends the stream
@konstantinsotov6251
@konstantinsotov6251 20 сағат бұрын
comparing how 95% of russians speak english to his english is like comparing a native english speaker to a coughing chinese baby I was always impressed at how good he was at english for the education we have here)
@mirvin11
@mirvin11 11 сағат бұрын
95% of people in Russia don't speak English
@seanhdka
@seanhdka Күн бұрын
dude has no problem making a 3d software renderer in c but has to consult python for the calculation of 2024 - 12, gives me hope lmao
@amuerta3041
@amuerta3041 2 күн бұрын
I remember rust developers answering newbie question of "can you bring rust, or any other high level functionality into C?" with such definitive no. Well well well, what is this stream all about?? 😅
@lame_lexem
@lame_lexem 2 күн бұрын
ah yes void* everything much high level so functionality /s
@alexeski4109
@alexeski4109 Күн бұрын
Well c2x has auto so we have type inference now, can just replace void* with auto
@mateusvmv
@mateusvmv Күн бұрын
@@alexeski4109 there is __auto_type one can implement async with future structs and coroutines, pretend a return is a yield same thing with iterators, pretend a return is yield and trust the compiler to inline all the bloat traits are also doable using vtables, mark the generic function as inline_always, and then create a function for each type the compiler will inline the vtable function calls in all cases, except in the case where the vtable is actually dynamic and the functions are unknown at compile time one can go on and on about all high level features, and since C is turing complete they're all doable if you're... imaginative enough
@oserodal2702
@oserodal2702 2 күн бұрын
var aliasing to void* gave me a good chuckle.
@arin3382
@arin3382 Күн бұрын
1:59:05 wtf he needed python of that 💀
@theevilcottonball
@theevilcottonball Күн бұрын
It is a good commandline calculator. Also there was a number with four digits, that is way too complicated to calculate just in your head.
@madbanana22
@madbanana22 Күн бұрын
​@@theevilcottonballdude stop acting like your brain is 8-bit
@SamirPSalim-k4o
@SamirPSalim-k4o Күн бұрын
@@theevilcottonball It is just the last two digits that change. That's easy.
@samuelwaller4924
@samuelwaller4924 23 сағат бұрын
​@@theevilcottonball emacs has a built in calculator that is even better
@Kapendev
@Kapendev 10 сағат бұрын
Do you feel better by writing this?
@channel11121
@channel11121 2 күн бұрын
Zozin can like anything if it's implemented in C.
@blackhaze3856
@blackhaze3856 Күн бұрын
Next project: A superset for Cello called TSello
@prostoprost9448
@prostoprost9448 2 күн бұрын
so c++ if you dont like c++
@RedStone576
@RedStone576 2 күн бұрын
Now please turn my javascript into C
@trejohnson7677
@trejohnson7677 Күн бұрын
its called static hermes.
@illker.
@illker. Күн бұрын
@@trejohnson7677or deno 2.0
@ripmeep
@ripmeep 2 сағат бұрын
its called hatic stermes.
@AK-vx4dy
@AK-vx4dy Күн бұрын
$ ? JQuery for C ? Cquery?
@stefanalecu9532
@stefanalecu9532 Күн бұрын
Believe it or not, cquery is actually a thing, it used to be the main language server for the C family before ccls and clangd made it obsolete
@multicoloredwiz
@multicoloredwiz 2 күн бұрын
18:20 to smile and laugh 😃
@antonpieper
@antonpieper 2 күн бұрын
23:44 Tsodinagen
@toybeaver
@toybeaver Күн бұрын
I was searching for this comment
@Kersich86
@Kersich86 Күн бұрын
yeah same 😂
@veevee23
@veevee23 2 күн бұрын
Title got me 😅
@hwstar9416
@hwstar9416 Күн бұрын
I find using the clangd LSP to be helpful when trying to understand a macro. you can expand a specific call to see what the macro does.
@dorukhanarslan96
@dorukhanarslan96 2 күн бұрын
This is like early Objective C (which used a custom preprocessor for the Smalltalk syntax) but implemented purely using the C preprocessor. Really fun!
@gahshunker
@gahshunker Күн бұрын
This Cello looks like C# ripoff
@SimGunther
@SimGunther 4 сағат бұрын
2:01:40 The reason it would take multiple files is because con"cat"enation of multiple files is the entire point of the cat utility. What we have here is just nl without the line numbers.
@oserodal2702
@oserodal2702 2 күн бұрын
Rust runtime is big because it has stack unwind on panic, so if you want panics to behave like C runtime errors and not like C++ exceptions, you'd have to make panics abort the program.
@pookiepats
@pookiepats 2 күн бұрын
Didn’t know rust had a runtime wow
@pookiepats
@pookiepats 2 күн бұрын
May as well just use Go
@anonymousalexander6005
@anonymousalexander6005 2 күн бұрын
⁠@@pookiepatsC has a runtime too. “The more you know” (TM) 🤯 On a serious note (whether or not you’re being sarcastic), both can ‘disable’ the runtime in order to work for embedded systems, it’s not new or unique to Rust.
@mattanimation
@mattanimation Күн бұрын
the author of this is a boss, his work on Phase-Functioned Neural Networks for Character Control, is nuts along with his other work.
@alexdefoc6919
@alexdefoc6919 Күн бұрын
1:38:30 i have not heard of this type of documentation
@mbarrio
@mbarrio Күн бұрын
Lovecraftian C
@zeusdeux
@zeusdeux Күн бұрын
Can confirm that hashtable in the title would have got me
@samuraijosh1595
@samuraijosh1595 2 күн бұрын
Hey Zozing please make a video on dependent types. I think you're the best person to explain them.
@aciddev_
@aciddev_ 2 күн бұрын
hi zozing! i have an idea: make a simple immediate gui library for raylib on some future streams? would be cool to see your approach!
@MrPetzold123
@MrPetzold123 2 күн бұрын
Funny thing about library sizes was in the 90s when people considered Delphi bloated when its statically linked graphical hello was about 500 kB (it ran rings around Visual Basic btw) 😂....Delphi was a gem.
@stefanalecu9532
@stefanalecu9532 Күн бұрын
Delphi is still a gem, but buried under so much shit by Embarcadero/Idera. Lazarus/Free Pascal are gems people should use more.
@Caellyan
@Caellyan Күн бұрын
26:00 A slice is a kind of fat pointer. Fat pointer is a normal pointer with some metadata attached. Type of metadata is known at compile time (from usage) so it's not stored in the pointer. But metadata content is stored right after (or before) the pointer. This is important disambiguation because the metadata can be anything - in Rust, slices are one, but also a `&dyn Trait` is effectively `(data_addr, vtable_addr_of_trait_impl_for_data)`. And you can of course hand-craft your own metadata in case you need more/other information.
@MateuszAdamowski-k8b
@MateuszAdamowski-k8b Күн бұрын
8:10 You say you don't perceive this as a usable. production-ready library but rather an experiment. Just saying that I had the same opinion about python back in 2000 when I first learned of it.
@cryptonative
@cryptonative 2 күн бұрын
Rust is 3-4mb just because it includes debug symbols
@rogo7330
@rogo7330 2 күн бұрын
How on earth your debug symbols are bigger than all the code that you write in text? It's just adds garbage and doesn't know wtf code is doing, that's why it includes a lot of shit.
@araarathisyomama787
@araarathisyomama787 2 күн бұрын
So did Cello. It did -g in the makefile... didn't even -Os the thing
@Aras14
@Aras14 Күн бұрын
That is only the case in Debug mode (std is stripped by default since a few versions ago), a hello world on aarch64 is ~400K
@cryptonative
@cryptonative Күн бұрын
@@Aras14 a minimal function in wasm is 16kb if you remove the debug symbols
@kira.herself
@kira.herself Күн бұрын
@@rogo7330 who hurt you lol, it includes debug symbols of the standard library for clean backtraces etc.
@Feavy
@Feavy Күн бұрын
28:05 😂😂
@s4n7r0
@s4n7r0 2 күн бұрын
this is the first time im seeing zozin so excited about a project
@anon_y_mousse
@anon_y_mousse 23 сағат бұрын
This looks kind of neat. I'd still rather have more syntax than more code in certain cases, but this looks like a nice intermediary. However, someone mentioned your use of Python to calculate simple stuff and I've noticed it in other streams too. So I ask you, why not just use echo $(( )) with bash? Sometimes I don't even use echo and as long as the calculation doesn't form an existing program name I'm good. Occasionally I'll echo a calculation to `bc -ql` to get something a bit more complex, but simple decimal stuff I can just add zeroes to the numerator and use bash anyway.
@ovi1326
@ovi1326 Күн бұрын
There are jit compilers for C or more broadly anything that compiles to llvm. The general purpose one is called lili and it's actually a part of llvm itself. There's also the orc api which allows you to integrate llvm's jit. Mesa uses that for compiling shaders in it's software backend.
@To1ne
@To1ne Күн бұрын
I looked at this library in the past, I really enjoyed the playfulness of it. So much fun!
@calabrianGuy
@calabrianGuy 2 күн бұрын
waiting for a cello music player written in cello
@kodingamedev
@kodingamedev 2 күн бұрын
I discovered this library in 2020; your reaction was the same as mine
@asymptotic_sceptic
@asymptotic_sceptic 5 сағат бұрын
Go figure why searching for austral I landed here
@1apostoli
@1apostoli Күн бұрын
when the guy asked if they could make a JIT 😭😭😭
@carvas18
@carvas18 Күн бұрын
there is no going back, the only way is through!
@TheAndiKurz
@TheAndiKurz Күн бұрын
Another video another reauest to look at odin lan 😉
@pemrograman-cepat3393
@pemrograman-cepat3393 Күн бұрын
I see C and I click 😊
@glowiak3430
@glowiak3430 2 күн бұрын
11:10 Same. English spelling sucks.
@philonouz
@philonouz 2 күн бұрын
It's an italian word 🤷‍♂
@DomenicoPezzullo-ib9bg
@DomenicoPezzullo-ib9bg 2 күн бұрын
@@philonouz cello does not mean anything in italian
@glowiak3430
@glowiak3430 2 күн бұрын
@@philonouz That's why it should be adapted. As 'chello', 'tshello' or even 'tschello'. Any of these at least suggests the correct pronunciation for those not knowing Italian.
@philonouz
@philonouz Күн бұрын
@@DomenicoPezzullo-ib9bg Sorry if I was misunderstood. It's short for the italian word "violoncello".
@philonouz
@philonouz Күн бұрын
@@glowiak3430 Words are not written prescribed on how it should be spoken, and vice-versa. There are a lot of weird pronunciations in English (e.g. "colonel", "Wocestershire", and other words that are borrowed from other languages like French) - and in many other languages as well - that require the speaker to know it before hand by common usage. You might read it "wrong", but someone eventually might correct you.
@tianned
@tianned Күн бұрын
Well I’m too dumb for this stream😢
@Mozartenhimer
@Mozartenhimer Күн бұрын
36:30 why not compile it more!?
@Siroitin
@Siroitin 20 сағат бұрын
Has he tried CUDA yet?
@zeusdeux
@zeusdeux Күн бұрын
1:44:04 FISTING MENTIONED 💀
@umcanalsemvidanoyoutube8840
@umcanalsemvidanoyoutube8840 Күн бұрын
Macros scare me 💀
@hubstrangers3450
@hubstrangers3450 Күн бұрын
Thank you.....
@rustedanvil6918
@rustedanvil6918 Күн бұрын
17:15 the best way to do optimisations in rust would be "sudo rm -f /bin/rustc"
@RustIsWinning
@RustIsWinning 17 сағат бұрын
Good one mr comedian! 🤡
@ShawnShaddock
@ShawnShaddock Күн бұрын
Gleam next?
@gusic4529
@gusic4529 2 күн бұрын
ewww brother ewww
@alexdefoc6919
@alexdefoc6919 Күн бұрын
10:03 i'm sorry but i was watching at 2x speed and bursted laughing at him LOL
@PreyMa
@PreyMa Күн бұрын
Love it when Tsoding finds something he actually likes, rly wholesome episode :^)
@everythingcouldbesimplify818
@everythingcouldbesimplify818 2 күн бұрын
Cello it's an italian word and this cello it's faster than lua jit in some cases amazing
@Odod4000
@Odod4000 2 күн бұрын
NEW STREAM! based library. I love your vids! 😀
@aaronspeedy7780
@aaronspeedy7780 Күн бұрын
Yo I just saw this the other day. This is going to be a fun episode.
@skope2055
@skope2055 Күн бұрын
Great video! Really fun experience :)
@wtfdoiputhere
@wtfdoiputhere Күн бұрын
UNINSTALL THIS NOW I DON'T WANNA HEAR ABOUT IT
@arunvishnuk3947
@arunvishnuk3947 2 күн бұрын
Can your swift do that... Dabdabdab
@nibrobb
@nibrobb Күн бұрын
Tsoding getting new laptop :pog: 🎉
@nathanpotter1334
@nathanpotter1334 2 күн бұрын
But... is it not just emcc wrapper??
@VictorMasnikov
@VictorMasnikov Күн бұрын
Will this run in browser????
@blu3260
@blu3260 Күн бұрын
wtf
@Momoyon
@Momoyon Күн бұрын
57:45 why did you say thank you after sneezing?
@aaabbb-gu5pz
@aaabbb-gu5pz 2 күн бұрын
Спасибо!
@oteuzay
@oteuzay Күн бұрын
Bro, you need to record a video for Emacs and i3. I’ve never seen better configs!
@iamdozerq
@iamdozerq 11 сағат бұрын
Isnt i3 just default and emacs just in console mode? Look not so configured actually...
@kedarshinde4216
@kedarshinde4216 2 күн бұрын
This looks straight out of my nightmare
@mil_klover375
@mil_klover375 2 күн бұрын
C already had has tables look it up and also c has generics
@xravenx24fe
@xravenx24fe Күн бұрын
What tables are you referring to?
@mil_klover375
@mil_klover375 Күн бұрын
@@xravenx24fe it's in search.h
@blamechickenman7434
@blamechickenman7434 2 күн бұрын
I can only see this useful for people who want assistance briefly transitioning from a higher-level language to C. But if it were me in such a scenario, I wouldn't use Cello for long, need to get used to writing C, which isn't difficult by any stretch.
@rogo7330
@rogo7330 2 күн бұрын
It's the opposite of assistance. The best way to learn C is to accept that program is running on a real computer and it has memory where everything have size. Also, C is high-level language, it does not translates 1-to-1 into machine code that you type, because there is no "variables" in reality.
@Nova32x
@Nova32x 2 күн бұрын
​@@rogo7330relative to other high level languages it is comparatively low level
@blamechickenman7434
@blamechickenman7434 Күн бұрын
@@rogo7330 Yeah, I agree, but if a newbie going from Javascript to C is struggling, I would definitely tell them to use Cello very very briefly, before actually writing proper C, that's just me though.
@amj864
@amj864 Күн бұрын
Bro, can you get a 5-year-old laptop? Still light years behind but kind of a needed upgrade.
@purpasmart_4831
@purpasmart_4831 Күн бұрын
He's in Russia I think, getting a new computer there is nearly impossible.
@amj864
@amj864 Күн бұрын
@@purpasmart_4831 I don't think so, talking from personal experience.
@Willpowered-dude
@Willpowered-dude Күн бұрын
​@@purpasmart_4831no it's not. It's really easy to get a laptop in here
@iamdozerq
@iamdozerq Күн бұрын
​@@purpasmart_4831 its so easy you want believe. He can buy new mouse at least.
@diegoj4382
@diegoj4382 2 күн бұрын
But why?
@aciddev_
@aciddev_ 2 күн бұрын
someone was bored, probably
@imbalos
@imbalos 2 күн бұрын
Fun
@noredine
@noredine 2 күн бұрын
recreation
@pookiepats
@pookiepats 2 күн бұрын
Pointless question in web development world 😂
@nicksidiropoulos802
@nicksidiropoulos802 2 күн бұрын
why not?
@alexitosworld
@alexitosworld 2 күн бұрын
This reminds me so much to objective-c 😂 pretty cool project.
@theevilcottonball
@theevilcottonball Күн бұрын
I recommend -fno-strict-aliasing for this,
How the C++ Linker Works
15:52
The Cherno
Рет қаралды 630 М.
Hash Table in Rust
2:54:25
Tsoding Daily
Рет қаралды 12 М.
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 88 МЛН
Как мы играем в игры 😂
00:20
МЯТНАЯ ФАНТА
Рет қаралды 3,1 МЛН
когда не обедаешь в школе // EVA mash
00:57
EVA mash
Рет қаралды 3,1 МЛН
My daughter is creative when it comes to eating food #funny #comedy #cute #baby#smart girl
00:17
CloudFlare - Trie Hard - Big Savings On Cloud
26:04
ThePrimeTime
Рет қаралды 79 М.
I added reflection to C++ just to make my game work.
16:30
The invention that broke English spelling
22:47
RobWords
Рет қаралды 17 М.
Microservices are Technical Debt
31:59
NeetCodeIO
Рет қаралды 313 М.
Complex Graphics API Terms Made Simple
13:05
Oskar Schramm
Рет қаралды 2 М.
Java Is Better Than Rust
42:14
ThePrimeTime
Рет қаралды 273 М.
Nix explained from the ground up
23:39
Surma
Рет қаралды 32 М.
You Should LOVE Trucks in Satisfactory 1.0!
28:17
ImKibitz
Рет қаралды 19 М.
Arc Security Allows Access To Anyone's Browser
19:21
ThePrimeTime
Рет қаралды 22 М.
GIANT Gummy Worm Pt.6 #shorts
00:46
Mr DegrEE
Рет қаралды 88 МЛН