It's kind of sad that Functional programming lost to OO. As someone who generally prefers procedural programming languages, I find it very hard to understand OO, but when someone describes a functional concept, even if it takes a moment, I understand the point of a concepts. Kinds vs kinds is immediately understandable. Sorts I haven't seen/used before so are less obvious. Dep injection, factories, and other OO patterns still allude my understanding.
See what people don't get is that C is the ultimate OO language. Structs and functions is how you do OOP. Inheritance is just putting a struct inside another struct. Encapsulation, abstraction and all that other nonsense have nothing to do with the concept of "programming with objects". It's just enterprise programming "best" practices that somebody tried to bolt onto OOP.
спасибо вам за стримы! после видео по рэй кастингу открыл для себя векторы с другой стороны, и в целом замечаю, что стал более доступно решать и описывать рабочие задачи
Я уже очень давно зозина смотрю - просто смотря в экран в стрим от и до на протяжении последнего года значительно улучшили мои навыки ориентирования в коде, отладке и написании нового кода.
I see many of the regular things(Penger, formerly Porn folder, for one) from the old streams have been restored. But where is my end-of-stream(EOS, lol) screen, Zozin? :^)
1:28:12 the plugin is written by tpope, called vim-abolish, it's great. Also allows changing case too, so turning some_var into SomeVar with a command.
#embed is in fact in a stable release, since clang 19. So indeed recent, but stable nonetheless, and doesn't require building llvm. Work on the GCC side is continuing. Not sure where it's at.
Embed requires you to enable C23, and it's not complete even in LLVM yet. Embed was implemented by a ISO committee member in LLVM/Clang, so I'm not surprised that GCC yet has to implement this. Not a lot of in production software actually uses C23, in fact, maybe a handful of them.
My internal Haskeller speaking: Kind is not type or variable. Kind is either a type or a thing that given a type produces type. Kind of Int is Type, Kind of Maybe is Type -> Type. This comes to play in type classes most component. instance Monad Maybe where... The Maybe is not a type. Maybe a is of Kind Type, but Maybe is of Kind Type -> Type (something that waits for a type to become a type). Kind is higher-order type operator.
Kind isn't a higher order type operator. It's a type for type. It covers more than Type and Type -> Type. For example Monad has kind (Type -> Type) -> Constraint meaning Monad takes a higher ordered type and produces a constraint, Proxy has kind forall k. k -> Type, etc.
"Higher order type operator" is term often used in math. It's another way to say type constructor - the term to be avoided since most people confuse value constructors and type constructs. Constraints do exist in Haskell and are important for its system of ad hoc polymorphism but that is a specific implementation of kind system.
The language definitely found me. I did not like how all teachers/teacher-likes told me (the learner) "the compiler can handle that" or something like that.
I wonder if he's gonna try out ninja as a build system. It's basically the LLVM of build systems, half of the world seems to just generate ninja files and then just uses ninja for compiling nowadays.
When I try to program something i was interesting in a desktop application(like just simple calculator or whatever). I just wanna know how it works in OS level of abstraction. I know only c/c++ as main huge(single lol, no like c AND c++ or whatever but somehow just "c/c++") programming language of them all. I installed visual studio, was 13 at that time i guess and for whatever idk it was with strange version of compiler or something and program that i was simply copy/paste from video - it fails with error so bizarre i cant comprehend that. I was missing .h at the end of imports. Only after about 5 or 6 years i was doing my engineering course and told use matlab for it. So i was chosen by matlab... It was a huge mistake but i survived that.
You can learn C3 without learning C. But why? C is more relevant, more ubiquitous, more libraries, more everything, and everything useful in C3 will eventually call C anyway.
@@theevilcottonballBecause C has more foot guns, not many people document their libraries or linking them, and generally is a bit more hands on to handle with FFI and interop. I would recommend C3 and C together, and which you start with is personal preference. In my experience, C3 is best learned if you have used some lower level languages before, but it is not a requirement because it is just that much easier to work with.
New stream - new wallpapers 🔥🔥
Yeah like he puts actual effort into that shit. Respect man
wallpapers are his 2nd thumbnails its cool
Such a great teaching style. And the lack of LSP or Copilot and minimal syntax highlighting he has is lovely to follow the code. 10/10
It's kind of sad that Functional programming lost to OO. As someone who generally prefers procedural programming languages, I find it very hard to understand OO, but when someone describes a functional concept, even if it takes a moment, I understand the point of a concepts. Kinds vs kinds is immediately understandable. Sorts I haven't seen/used before so are less obvious. Dep injection, factories, and other OO patterns still allude my understanding.
See what people don't get is that C is the ultimate OO language. Structs and functions is how you do OOP. Inheritance is just putting a struct inside another struct. Encapsulation, abstraction and all that other nonsense have nothing to do with the concept of "programming with objects". It's just enterprise programming "best" practices that somebody tried to bolt onto OOP.
1:18:00 ROM-based Microsoft BASIC chose me! That explains a lot!
Thank you needed me some tsoding today!
i3 is back
Эти рабочие столы скоро меня с ума сведут, Love your content so much
спасибо вам за стримы! после видео по рэй кастингу открыл для себя векторы с другой стороны, и в целом замечаю, что стал более доступно решать и описывать рабочие задачи
Я уже очень давно зозина смотрю - просто смотря в экран в стрим от и до на протяжении последнего года значительно улучшили мои навыки ориентирования в коде, отладке и написании нового кода.
bro did NOT like xfce
I see many of the regular things(Penger, formerly Porn folder, for one) from the old streams have been restored.
But where is my end-of-stream(EOS, lol) screen, Zozin? :^)
I think title of video should be - "C3 makes Packaging Assets Too Easy Wtf". 😅😅😅
That was the title before Mr. Zozin changed it
1:28:12 the plugin is written by tpope, called vim-abolish, it's great. Also allows changing case too, so turning some_var into SomeVar with a command.
If only c3 didn’t collide with the ai company named c3
#embed is in fact in a stable release, since clang 19. So indeed recent, but stable nonetheless, and doesn't require building llvm. Work on the GCC side is continuing. Not sure where it's at.
Embed requires you to enable C23, and it's not complete even in LLVM yet. Embed was implemented by a ISO committee member in LLVM/Clang, so I'm not surprised that GCC yet has to implement this. Not a lot of in production software actually uses C23, in fact, maybe a handful of them.
Love from Argentina!!!
My internal Haskeller speaking: Kind is not type or variable. Kind is either a type or a thing that given a type produces type. Kind of Int is Type, Kind of Maybe is Type -> Type. This comes to play in type classes most component. instance Monad Maybe where... The Maybe is not a type. Maybe a is of Kind Type, but Maybe is of Kind Type -> Type (something that waits for a type to become a type). Kind is higher-order type operator.
Kind isn't a higher order type operator. It's a type for type.
It covers more than Type and Type -> Type. For example Monad has kind (Type -> Type) -> Constraint meaning Monad takes a higher ordered type and produces a constraint, Proxy has kind forall k. k -> Type, etc.
"Higher order type operator" is term often used in math. It's another way to say type constructor - the term to be avoided since most people confuse value constructors and type constructs.
Constraints do exist in Haskell and are important for its system of ad hoc polymorphism but that is a specific implementation of kind system.
"100 kilobytes is too much" mean while my work be downloading like 50mb whenever I open a ticket.
what is that noise?
I3 is finally back 🎉🎉
The language definitely found me. I did not like how all teachers/teacher-likes told me (the learner) "the compiler can handle that" or something like that.
Which keyuboard and mouse do you use?
I haven't finished the video, but I'm curious if there's any reason why you wouldn't use something like musl for the clib functions.
i paid attention - this account is attended
35:20 it does; you just have to declare the size _before_ the array parameter:
e.g.
void some_function(size_t sz, int arr[sz]);
Love from Brazil
I wonder if he's gonna try out ninja as a build system. It's basically the LLVM of build systems, half of the world seems to just generate ninja files and then just uses ninja for compiling nowadays.
Probably not.
Where can I get these wallpaper, man they are so fancy
Wasm to WHAT
I wonder c3 already takes some way to avoid .o file explosion, doesn’t that mean c3 dev have some way to include .o file while using exec?
Thank you....
@1:24:05 io::printn and io::printfn have existed since you first did a video on this language (and I assume earlier) lol
lol
47:10 bayzed zozing
Java found me because of Minecraft Modding. I don't know if I should be happy or upset
cool stream!
The wallpapers just keep coming...
Can you try the D programming language next stream pls?
Smart cookie language for smart cookies like me. I'd love to see him do a no-GC stream in that language. 😅
He solved one of the Advent of code 2020 problems in D, you can check out that stream
D missed its chance, its dead now, move on
Is it allowed to write
Asset[] assets = $exec(...);
?
That way the type and name of the array are visible from the top level source.
Probably
new c3 version
When I try to program something i was interesting in a desktop application(like just simple calculator or whatever). I just wanna know how it works in OS level of abstraction. I know only c/c++ as main huge(single lol, no like c AND c++ or whatever but somehow just "c/c++") programming language of them all. I installed visual studio, was 13 at that time i guess and for whatever idk it was with strange version of compiler or something and program that i was simply copy/paste from video - it fails with error so bizarre i cant comprehend that. I was missing .h at the end of imports.
Only after about 5 or 6 years i was doing my engineering course and told use matlab for it. So i was chosen by matlab... It was a huge mistake but i survived that.
IIRC, c3 can take c source files
If I don't know C very well is it not the best idea to try and learn C3 ?
do what you want, just have fun!
but i recommend to learn some C.
Learn C, learn pointers, implement data structures, and have fun!
Doesn't matter actually, just do any and after some time you will get what you want.
You can learn C3 without learning C. But why? C is more relevant, more ubiquitous, more libraries, more everything, and everything useful in C3 will eventually call C anyway.
@@theevilcottonballBecause C has more foot guns, not many people document their libraries or linking them, and generally is a bit more hands on to handle with FFI and interop.
I would recommend C3 and C together, and which you start with is personal preference. In my experience, C3 is best learned if you have used some lower level languages before, but it is not a requirement because it is just that much easier to work with.
The keyword "this"?????????
i3 is back eh?
what's the name of his emacs font?
iosevka
Which distro you used for dev.
He changed to void recently I think
void linux
No I can see three-p-o
Motivate me to create a ransomware in c for educational purpose .
do it
I tried to hack myself once, but not seriously. The program always segfaulted before it could run the shellcode.
nice ass ets
Thank you!
i3
❤❤❤❤❤❤❤❤❤❤❤❤