@@gwentarinokripperinolkjdsf683 Do you want compile time functions like in zig? If yes then zig is your answer!) You can also perfome computations using good'ol macro-magick(though heavy use is ill-advised), also most of the simple computations that can be done in compile time are already done in compile time by using optimisations of modern compilers(though yes, this behaviour is NOT a guarantee). If you are talking about meta-programming then *light* macros are all you need. Anything more than that - you might as well use just c++ at this point(you can treat c++ as a feature dump of c extensions), since it has compile-time functions and a metric ton of other features like that.
I actually talked with the creator of C3 a little some time back. It was throughly a good experience both from a programming language and a personal standpoint.
the "unecessary" fn keyword actually allows to disambiguate a bunch of problems that the C declaration syntax suffers from, especially when declaring function pointers
@@iverbrnstad791 Yeah, that was the big pet peeve and we haven't started the video! I feel like zozin has forgotten what it is like writing idiomatic C. It is not like your higher level languages where you just get a 'print'. Like java (shots fired), you do this 'void main' bullshit. Like, what does 'VOID' mean? (I know what it means now dont correct me below), what does MAIN mean (oh we need a main function, I dont know why but whatever.) I prefer an explicit function keyword. That is C/C++ problem. I hate it has no function, fn, fun or func keyword. Also, i am optimistic about C3. I think it is a less feature promisey V, but I look forward to seeing both develop as a 'just a thin layer' above C.
a.f(b) is different from f(a, b) in which namespace f is a member of. I don't care much for method chaining, but it is useful to have built-in syntax that groups all methods for a type into their own namespace.
@@hpntic c# is c++ flavored java, but with pointers and near-c speed, it's good for rapid iteration where you don't wanna care about lifetimes nor memory size and just want to do something, but p5.js and python are too slow. currently I mostly do tool dev, so c# is my go-to
have you looked at Odin-lang? I've gotten really into it as of late, it has defer and builtin vector type arithmetic as well. I'd be curious to see what you would think of it.
I think zozin could love Odin language (and i'm not payed to say that). After years of C/C++, Rust and some other Scheisse, it is very refreshing to use it
People like methods mostly because it makes the code read almost like english. " a = b.copy(c)" is in the same order as subject, verb, object. It also keeps the current translation unit's namespace a bit cleaner I guess.
@@RukopisyNarnie consider a void function call to a function that modifies or requires self. It would read as "Operation(self, arg)", this could be "compare(a,b)", with a method it would be "a.compare(b)". Its really just to make it easier to read and parse, I argue that not having to explicitly pass self into the function makes it a worthwhile addition in its own right
I checked C3s change logs and apparently "printn" was once "println" and they willingly changed it for some ungodly reason. Revision 2023-03-18 apparently
I hated how long and garbled printfln looked, and then I learned a bit of F# (F# uses printfn) and `printfn` quickly grew on me. A huge advantage is that it's much easier to read (fln is not good for readability).
@@christofferlerno2633 But as discussed all over these comments, fn now stands for function, even if the subprograms aren't functions at all. To please the parser, apparently.
@@christofferlerno2633 Thanks for the writeup. To me it still seems like overcomplication and NIH, though. I read about to see what the macro capability did, and it doesn't seem capable of the sort of thing I see C's preprocessor used for often, like generating multiple distinct definitions and arrays from reparsing one included file with different macros depending on pass. I also didn't see how to preserve accesses like we often do with volatile.
I've wrote a todo app and I've called it c3 because of it expanding calcurses todos to have a tree-like structure. I think I have to start a lawsuit against them.
21:16 it's not "just a syntax" (well it is, but) it's actually important for organizing your code. i think it's a huge problem to not let you namespace functions like this. without it you just have a million global functions maybe namespaced with Foo_next() but Foo.next semantically lets you know the function is only relevant to the Foo struct/class
There is a plan to add "defer" to C, there are even actively discussed proposals on WG14. However, "defer" introduces quite many complication due to odd corner cases. Moreover, "defer" is virtually unusable without lambdas that have their own problems.
More like, whoever proposed a defer was the same person who proposed lambdas, and used the defer as a vehicle to push his lambda proposal. You don't need lambdas for defer to work, and edge cases are mostly related to go-to.
Auto exists in C, but you have to register a function for each type. Look up the GLib macros for g_auto, g_autoptr etc etc. It uses __attribute__((cleanup(...))) to do it.
@@GegoXaren This GCC extension, not a standard portable C. Btw. it is possible to use nested functions with statement expression to get a lambda-like function that can be used with `cleanup` attribute. Something like `({ void foo(void*){...} foo; })`
I actually liked the syntax of c3. Linking native libraries is very easy. It has modules, generics, macros and what not. I think I like it more than zig already.
"What's the point of `fn` keyword?" The fn keyword takes parsing a function definition from O(n^3) to O(n) (if i remember right) by making the grammar fully predictable EDIT: I did not remember right, lmao, I remembered very, very wrong
@@mrglick5050 Number of tokens in a function definition; though, I'm probably wrong about that. It's only when you get to nesting functions in other functions that you'd have ambiguity with expression statements. \shrug
Hot take: C will die when Intel comes up with a new instruction set architecture. But as long as they keep making them backwards compatible, we're stuck with C.
no? GCC/clang are made to have maximum compatibility, they'll just port to a new instruction set... that's one of the fundemental jobs of a compiler. also, intel won't change to a new ISA, i'm not sure why you think that would even remotely be a good idea for them
@@satibel itanium? you mean that ISA in 2001 that immediately flopped when it came out and that intel had zero reason to proceed with? yeah, no one is going to use a proprietary one-company ISA and move their entire infastructure over for it. companies will just move over to AMD for better top-level performance with no changes needed.
1) The ".o" files that were created with --target wasm32 are actually WebAssembly binaries, not ELF object files. So it seems that wasm "just works (tm)". 2) If you don't like prefixing everything with "raylib::", you can just have the main file and the raylib.c3 use the same module. You don't have to create a new module for each file. Although it is indeed a bit weird that there is no import blah::* or using blah or even import blah as foo.
Okay, this language looks very cool. The only things that I don’t like are the contracts stuff and defer. I think the using keyword in C# is better approach than defer, you can really see the scope of the thing that you are “using”
Or you could define using() declaration as open ended and it effectively has the same scope as the function. That being said, if you are using enough calls to make a tower of Doom of using statements, you're probably doing something wrong.@@egorsozonov7425
I think the a.f(b) syntax reads more naturally, similarly to the "subject verb object" sentence structure in English, and if there's no runtime overhead compared to f(a, b), I say why not.
Regarding the $foreach: When it is executed at compile time the compiler loops and generates all the io::printfn() - lines.. and then there is no loop any more in the resulting code. In order to not confuse with scope, because it isn't, they did chosse the $endforeach, maybe. To annotate that you do not have a scope you could also used special curlys like ${ and $} to annotate that this are only lingual curlys but they will not exist anymore, when the compiler slided over it.
the end for each may be because otherwise it could be confused with generate a block. needed because for loops accept statements, most commonly the block statement
If you don't want to write a module's prefix when calling something from it, you can probably make a macro that iterates over every member of the module and creates an alias.
Sorry, I am a 'C' nutter lol Couldn't watch it all but give you a thumbs up for initial reactions :) So, this is like C+++ or C#b (minor). So now when I search for 'C' libraries I will get I will get another layer to the dozens of Cxyz variants to sort though until I find something in 'C'.
Have you reviewed Forth? Do you think it can replace C? The only high level language older is Fortran. First language to use a database and 2D CAD. It is low level, like C, though not as fast. Incremental compilation. Rapid development, 50x faster than C. Extend and design the language as you need. Is used in the real world, mostly microcontrollers. Is used by NASA, by Riad Airport Saudi Arabia security management system, large construction management software. Large active user community, FIG.
but there's already a programming language called D. and it requires a runtime (including GC! 🤔), or you are limited to a subset of functionality (called BetterC).
a keyword in general is a good idea... but it should be a keyword: it is in the name - a WORD, not 2 arbitrary letters. We are not in 1973 where storage is rare and typing is limited by the computer. This is one of the worst atrocities that is still plaguing programming languages: They either use cryptic symbols, terrible abbreviations, or you are in library.section.namespace.class.subclass.function.variand-land . Just make it "function" or "func" or something readable. And brightmode - it is superior in most aspects. Only for programming i tend to switch to DarkMode cause way too often the tools have TERRIBLE font-support and with bad styling and bad fonts dark-mode has better colour clarity. But bright is just better for readability and better for the eyes.
I actually talked with the creator of C3 a little some time back. It was not a good experience, both from a programming language and a personal standpoint.
Hey, man is the guy weird or something ie McAfee. If it’s not a bother for you, would be interesting to know brief details for all around since creating a language good or bad seems a remarkable feat (but not necessarily wise) so very unique all in all.
I think the basic idea is cool there is a lot of complains that C and C++ are too old we have way much nicer features in languages today like namespace, we don't use h and c/cpp files together, the c++ constructors can be very ugly when you need to copy a object for initialization while modern languages expose them to the object with just trunk of a constructor also no package management, a lot of the newer c++ features are very verbose like std names a very long or exposing templates to the user this also applies to c to some extend. The inheritance in c++ is also outdated we use interfaces instead of multi inheritance and C# made it so you need to allow the overwrite down streams in general its going in the direction to have much finer control what you allow to be inherit maybe down to the attribute level. . I also like how c# make getter and setter go away.
"This is what happens when C programmers start making websites" 😂
Man I laughed so loud🤣🤣🤣
Pokémon evolution!!
@@saeedhaidar1375I have got literally kicked out of a team call for laughing my soul out for this 😂
reading this comment at the same time tsoding says it hits different
Everyone talking about C killers, meanwhile I'm looking for the C healer
Everyone ask what is C nobody ever ask how is C :L
HolyC
@TempCrap-nn4cm tell me about it!
I am starting to learn how to use clang tooling and I have some ideas about extending the C language. In particular I want comp time functions
@@gwentarinokripperinolkjdsf683 Do you want compile time functions like in zig? If yes then zig is your answer!) You can also perfome computations using good'ol macro-magick(though heavy use is ill-advised), also most of the simple computations that can be done in compile time are already done in compile time by using optimisations of modern compilers(though yes, this behaviour is NOT a guarantee). If you are talking about meta-programming then *light* macros are all you need. Anything more than that - you might as well use just c++ at this point(you can treat c++ as a feature dump of c extensions), since it has compile-time functions and a metric ton of other features like that.
The FAQ now has a "How do I use WASM?" section now.
I actually talked with the creator of C3 a little some time back. It was throughly a good experience both from a programming language and a personal standpoint.
14:11 face asking : " do i developed it in my dreams or something?"
14:07 that slow look at the camera is hilarious LOL
the "unecessary" fn keyword actually allows to disambiguate a bunch of problems that the C declaration syntax suffers from, especially when declaring function pointers
Helps make the code greppable too
@@iverbrnstad791 Yeah, that was the big pet peeve and we haven't started the video!
I feel like zozin has forgotten what it is like writing idiomatic C. It is not like your higher level languages where you just get a 'print'. Like java (shots fired), you do this 'void main' bullshit. Like, what does 'VOID' mean? (I know what it means now dont correct me below), what does MAIN mean (oh we need a main function, I dont know why but whatever.)
I prefer an explicit function keyword. That is C/C++ problem. I hate it has no function, fn, fun or func keyword.
Also, i am optimistic about C3. I think it is a less feature promisey V, but I look forward to seeing both develop as a 'just a thin layer' above C.
@@iverbrnstad791 So do comments, no? /* fn */
@@artemiasalina1860 no
C3 looks a bit like zig, just with less features.
One day, I'll be able to fully comprehend the things you say
This is how charming he is.
My brain is too soyed to understand after previous web development streams
Why are you still using C3 ?
C23 is already out smh
Who cares about C23? We already have C99
@@solidnywonsz i saw someone say that on the C3 video after this one and i realized i could have made the joke way funnier
c# but someone forgot to press shift
44:10 I think it's actually a good idea, cuz defer also accounts for breaks/continues in the while loop, in case you want to use them
a.f(b) is different from f(a, b) in which namespace f is a member of. I don't care much for method chaining, but it is useful to have built-in syntax that groups all methods for a type into their own namespace.
They are actually the same thing, in my own POV sha
You can do f_a(a, b) if you insist. Manual namespacing. But the fact that a function takes a is sufficient to classify and search for such functions.
Why didnt they name it C+++
Why not C^2
too close to C# (C++++)
because it would cause segfaults
++c
they are not intel
Making the comments into UA-cam subtitles is interesting. Never thought about that option
Yo using SUBTITLES as CHAT LOG?? THAT'S GENIUS. Wow, im really impressed I've never seen so clever use of subtitles.
We already have c with four +
It names C#
C sharp sucks
C hashtag is awful
@@hpntic c# is c++ flavored java, but with pointers and near-c speed, it's good for rapid iteration where you don't wanna care about lifetimes nor memory size and just want to do something, but p5.js and python are too slow.
currently I mostly do tool dev, so c# is my go-to
There is actually a C4 PL, but that language is a little too explosive for my taste
There is actually a C16/17/18 PL, but that language is only for android
I have a C17 compliant compiler, but not on android.
Arab programmers: "I'm in love"
I swear I couldn't stop laughing throughout the entire video. Thank you, you made my year.
i didn't expect the emacs mode of this language to be inspired from tsoding's thing hahaha
We got a sequel to C before GTA 6
Press 6 for beatbox mantra
have you looked at Odin-lang? I've gotten really into it as of late, it has defer and builtin vector type arithmetic as well. I'd be curious to see what you would think of it.
He played with it on stream. You will probably find recording of that stream on chanel.
@@RukopisyNarnie I couldn't find it, do you know what it is called? or around when it was?
@@dragonkid5204 I have no idea, but I remeber him trying it.
@@dragonkid5204 Maybe I mixed it upnwith something. Sorry.
@@RukopisyNarnieis it possible that you were thinking about zig? There was indeed a zig stream but I don’t recall an Odin stream.
I think zozin could love Odin language (and i'm not payed to say that). After years of C/C++, Rust and some other Scheisse, it is very refreshing to use it
The only language that is syntaticlly consise that I've every seen is the dead language OOC.
That was the most beautiful thing I've ever seen.
OOC. That brings back memories, last time I read about that one was ages ago.
People like methods mostly because it makes the code read almost like english. " a = b.copy(c)" is in the same order as subject, verb, object. It also keeps the current translation unit's namespace a bit cleaner I guess.
raw c is more like English. a = fsin(b). A is float sinus of b.
@@RukopisyNarnie consider a void function call to a function that modifies or requires self. It would read as "Operation(self, arg)", this could be "compare(a,b)", with a method it would be "a.compare(b)". Its really just to make it easier to read and parse, I argue that not having to explicitly pass self into the function makes it a worthwhile addition in its own right
@@TheAlexgoodlife It doesn't seem more readable to me. I guess it makes it easier to chain it for functions that return its "hosting type".
this is also kinda the same grammar convention in declarative functional programming right?
@@samuraijosh1595 I am not sure if I understand what you say
Adding chat in CC is novel. Probably breaks UA-cam's Machine Learning too. double awesome.
Can't wait for part 4. That one's gonna blow everyone's minds.
I checked C3s change logs and apparently "printn" was once "println" and they willingly changed it for some ungodly reason.
Revision 2023-03-18 apparently
it would be too good perhaps that's why. they had to get us
I guess they thought it was more C-ish to use n as in
than ln as in natural logarithm. You know, just like in puts. Wait...
I hated how long and garbled printfln looked, and then I learned a bit of F# (F# uses printfn) and `printfn` quickly grew on me. A huge advantage is that it's much easier to read (fln is not good for readability).
@@christofferlerno2633 But as discussed all over these comments, fn now stands for function, even if the subprograms aren't functions at all. To please the parser, apparently.
@@christofferlerno2633 Thanks for the writeup. To me it still seems like overcomplication and NIH, though. I read about to see what the macro capability did, and it doesn't seem capable of the sort of thing I see C's preprocessor used for often, like generating multiple distinct definitions and arrays from reparsing one included file with different macros depending on pass. I also didn't see how to preserve accesses like we often do with volatile.
I've wrote a todo app and I've called it c3 because of it expanding calcurses todos to have a tree-like structure.
I think I have to start a lawsuit against them.
I loved this language, i bought me after the vector stuff
I like that you wrote your own C3 mode before you knew C3 existed. 420 IQ move!
I feel like the subtitles are not doing their job here... They're nice, if not for the fact that now I don't get the *real* subtitles
You can still enable the auto-generated subtitles
"What is this JAVA!?"...Yeah I totally agree 😂
Das crazy,can't wait for c4
Man, I'm still waiting for the day they will add classes to C :D
windows stuff might be there for cross-compilation.
1:11:29 the language redeemed itself and he is expressing how much he loves it
The nice thing about methods is that auto complete is much nicer with them compared to having the entire list of all functions.
"Javascript damaged my brain" I think he speaks for all of us
for changing the color you could use the vector swizzling to move to 0xFF along the color! color = color.brga;
800x600 is of the orthodox aspect ratio but the holiest resolution is 640x480.
I'm gonna wait for C4. It's gonna be explosive.
First thing I will do is to alias c3c to "cccc", the way it should be.
This comment is underrated
21:16 it's not "just a syntax" (well it is, but) it's actually important for organizing your code.
i think it's a huge problem to not let you namespace functions like this.
without it you just have a million global functions maybe namespaced with Foo_next() but Foo.next semantically lets you know the function is only relevant to the Foo struct/class
14:11 That is c-2-emacs-2-human recursion...
There is a plan to add "defer" to C, there are even actively discussed proposals on WG14. However, "defer" introduces quite many complication due to odd corner cases. Moreover, "defer" is virtually unusable without lambdas that have their own problems.
More like, whoever proposed a defer was the same person who proposed lambdas, and used the defer as a vehicle to push his lambda proposal. You don't need lambdas for defer to work, and edge cases are mostly related to go-to.
Auto exists in C, but you have to register a function for each type.
Look up the GLib macros for g_auto, g_autoptr etc etc.
It uses __attribute__((cleanup(...))) to do it.
@@GegoXaren This GCC extension, not a standard portable C. Btw. it is possible to use nested functions with statement expression to get a lambda-like function that can be used with `cleanup` attribute. Something like `({ void foo(void*){...} foo; })`
Can't wait for C4, it will be the bomb
Why the need to add fn for a function tho...
@@technite5360truthfully a disgusting design choice that seems to provide 0 benefit
14:41 broke me
First you find code based from your old code then René shows up. You not only famous, you a legend. 🎓🎩 👑
I actually liked the syntax of c3. Linking native libraries is very easy. It has modules, generics, macros and what not. I think I like it more than zig already.
"What's the point of `fn` keyword?"
The fn keyword takes parsing a function definition from O(n^3) to O(n) (if i remember right) by making the grammar fully predictable
EDIT: I did not remember right, lmao, I remembered very, very wrong
What does n represent in a function declaration? I thought it's constant time.
@@mrglick5050The number of tokens in the function definition [`void`, `main`, `(`, `)`, `{`, `}`]
@@mrglick5050tokens?
It’s probably the length of the file in # of lines
@@mrglick5050 Number of tokens in a function definition; though, I'm probably wrong about that. It's only when you get to nesting functions in other functions that you'd have ambiguity with expression statements. \shrug
Hot take: C will die when Intel comes up with a new instruction set architecture. But as long as they keep making them backwards compatible, we're stuck with C.
no? GCC/clang are made to have maximum compatibility, they'll just port to a new instruction set... that's one of the fundemental jobs of a compiler.
also, intel won't change to a new ISA, i'm not sure why you think that would even remotely be a good idea for them
@@ChristopherGray00 itanium lurking around in the corner like oscar the grouch.
@@satibel itanium? you mean that ISA in 2001 that immediately flopped when it came out and that intel had zero reason to proceed with?
yeah, no one is going to use a proprietary one-company ISA and move their entire infastructure over for it. companies will just move over to AMD for better top-level performance with no changes needed.
if you like the built in vectors and swizzling, you might also like odin. it doesn't have methods. heh.
1) The ".o" files that were created with --target wasm32 are actually WebAssembly binaries, not ELF object files. So it seems that wasm "just works (tm)".
2) If you don't like prefixing everything with "raylib::", you can just have the main file and the raylib.c3 use the same module. You don't have to create a new module for each file. Although it is indeed a bit weird that there is no import blah::* or using blah or even import blah as foo.
Okay, this language looks very cool. The only things that I don’t like are the contracts stuff and defer. I think the using keyword in C# is better approach than defer, you can really see the scope of the thing that you are “using”
No it’s not better, it introduces extra indentation and helps turn your code into The Tower of Doom
Or you could define using() declaration as open ended and it effectively has the same scope as the function. That being said, if you are using enough calls to make a tower of Doom of using statements, you're probably doing something wrong.@@egorsozonov7425
14:40 the video is now turing complete
14:00 that moment when you just want some pretty colors on your screen and you get doxxed by a random repo maintainer
I think the a.f(b) syntax reads more naturally, similarly to the "subject verb object" sentence structure in English, and if there's no runtime overhead compared to f(a, b), I say why not.
Can't wait for C4 programming language that just explodes your computer at compilation
The random beet boxing made this all the better.
The language looks very promising.
Regarding the $foreach: When it is executed at compile time the compiler loops and generates all the io::printfn() - lines.. and then there is no loop any more in the resulting code. In order to not confuse with scope, because it isn't, they did chosse the $endforeach, maybe. To annotate that you do not have a scope you could also used special curlys like ${ and $} to annotate that this are only lingual curlys but they will not exist anymore, when the compiler slided over it.
I’m not sure if this version will take off, but when they fix all the problems and release it as C4, I’m sure it’ll blow up
the semantics look more like rust than C
crust
lol 😅
crust
@@bossgd100 okay no cap this is a good name for a language that melds the two
@@paulkanjaI NEED THAT
I want a prequel to C. something closer to ASM, but with more verbose operations.
26:50 If you want compiletime access of the complete language, rather use Lisp or Scopes.
c3 before gta 6 is crazy
the end for each may be because otherwise it could be confused with generate a block. needed because for loops accept statements, most commonly the block statement
If you don't want to write a module's prefix when calling something from it, you can probably make a macro that iterates over every member of the module and creates an alias.
С3 is nice enough, but C4 is gonna be the bomb!
[PARENTAL ADVISORY] 18++
Feeling when that guy Alexy gives you a github star 😻
This C3 thing looks a lot like hare (or hare looks like C3, idk which was there first). Still nice to have different alternatives :)
C3: 2019, Hare: 2021
Checkout Modula-3, it's an awesome language.
@@deadmarshal and Oberon, for that matter :)
Man I should catch up to all the recent videos
Sorry, I am a 'C' nutter lol Couldn't watch it all but give you a thumbs up for initial reactions :)
So, this is like C+++ or C#b (minor). So now when I search for 'C' libraries I will get I will get another layer to the dozens of Cxyz variants to sort though until I find something in 'C'.
I watched the entire video. Now I can say that I have 10 years experience in C3.
1:07:55 real world example of an undefined behavior happening on an innocent C programmer
Have you reviewed Forth?
Do you think it can replace C?
The only high level language older is Fortran.
First language to use a database and 2D CAD.
It is low level, like C, though not as fast.
Incremental compilation.
Rapid development, 50x faster than C.
Extend and design the language as you need.
Is used in the real world, mostly microcontrollers.
Is used by NASA, by Riad Airport Saudi Arabia security management system, large construction management software.
Large active user community, FIG.
a """C replacement""" without sum types and some level of pattern matching on them in this day and age is just a meme
correlating those two concepts makes no sense
But wait... Sequel to C is actually D
but there's already a programming language called D. and it requires a runtime (including GC! 🤔), or you are limited to a subset of functionality (called BetterC).
I've just convinced it to build bare metal programs :)
They should name it „C 3 Pluses ok!?“ maybe make a nice slang acronym like C# is called C sharp. Idk… maybe C3PO or something like that
looooooooool that simpc-mode coincidence was awesome!!
Now we know what language was C3PO programmed with
libc doesnt have a fraction type its just a struct containing quotient and remainder from an integral division
C3 is the best!
C3 looks really cool! Thx for trying it out!
Nice! starting to like C3
Oh man, can't wait for C4
a keyword in general is a good idea... but it should be a keyword: it is in the name - a WORD, not 2 arbitrary letters. We are not in 1973 where storage is rare and typing is limited by the computer.
This is one of the worst atrocities that is still plaguing programming languages: They either use cryptic symbols, terrible abbreviations, or you are in library.section.namespace.class.subclass.function.variand-land . Just make it "function" or "func" or something readable.
And brightmode - it is superior in most aspects. Only for programming i tend to switch to DarkMode cause way too often the tools have TERRIBLE font-support and with bad styling and bad fonts dark-mode has better colour clarity. But bright is just better for readability and better for the eyes.
GCC/CLANG provides vector extension.
We need a full version of Kawaii Frikkin Desu
Bro probably fixed three bugs in their code by the end of the video. 😅
looks like zig with less crappy syntax
I actually talked with the creator of C3 a little some time back. It was not a good experience, both from a programming language and a personal standpoint.
Hey, man is the guy weird or something ie McAfee. If it’s not a bother for you, would be interesting to know brief details for all around since creating a language good or bad seems a remarkable feat (but not necessarily wise) so very unique all in all.
I am a member of his discord channel and it's been more than one year. In my experience, I felt he is such a nice guy.
@@JazzBrown-ym8ku It's nothing serious, he's just an asshole if you question his design.
@@JazzBrown-ym8ku No, he just has a large ego (apparently you can't say the a word).
@@gagagero Oh okay thanks for replying seems somewhat par the course for large tasks like this.
Let's be honest... PHP is what you get when C developer doing webdev job. In case programming lore didn't lie 🤣
I think the basic idea is cool there is a lot of complains that C and C++ are too old we have way much nicer features in languages today like namespace, we don't use h and c/cpp files together, the c++ constructors can be very ugly when you need to copy a object for initialization while modern languages expose them to the object with just trunk of a constructor also no package management, a lot of the newer c++ features are very verbose like std names a very long or exposing templates to the user this also applies to c to some extend.
The inheritance in c++ is also outdated we use interfaces instead of multi inheritance and C# made it so you need to allow the overwrite down streams in general its going in the direction to have much finer control what you allow to be inherit maybe down to the attribute level. . I also like how c# make getter and setter go away.
Programming in C4 is like exploding a bomb