- Видео 26
- Просмотров 14 560
C3Lang
Швеция
Добавлен 19 окт 2020
Development of the C3 programming language.
C3 Compiler Live Coding
Refactoring LValue handling and a small grammar update at the end -- Watch live at www.twitch.tv/nuoji
Просмотров: 463
Видео
C3 Compiler Live Coding
Просмотров 17016 часов назад
Experimenting with generic modules, then looking at the Channels Pull Request Watch live at www.twitch.tv/nuoji
C3 Compiler Live Coding
Просмотров 42414 дней назад
Fixing bugs and thinking about updated semantics Watch live at www.twitch.tv/nuoji
C3 Compiler Live Coding - refactoring casts
Просмотров 67814 дней назад
Refactoring casts and fixing some enhancement github issues Watch live at www.twitch.tv/nuoji
C3 Compiler Live Coding 26/12 .c3i
Просмотров 49528 дней назад
Working on .c3i based headers Watch live at www.twitch.tv/nuoji
C3 Compiler Live Coding
Просмотров 1,4 тыс.28 дней назад
Fixing bugs and talking enums Watch live at www.twitch.tv/nuoji
23/12 C3 language design musings
Просмотров 971Месяц назад
Talking about tagged unions and making changes to C3 enums Watch live at www.twitch.tv/nuoji
Let's work on .from_ordinal()
Просмотров 290Месяц назад
Just finishing the last part of enum.from_ordinal() and trying out streaming for the first time in a long time. Watch live at www.twitch.tv/nuoji
Defer and faults in C3
Просмотров 977Год назад
In this video we rewrite the resource handling example from Context Free's "Destruct, dispose, drop, & close" video in C3 to demonstrate the use of `defer` `defer catch` and how macros can be used for scoped resource handling. Grab the C3 compiler here: github.com/c3lang/c3c/releases Try out C3 in the browser: learn-c3.org Read the docs: c3-lang.org The Context Free video which this example is ...
Some simple problems solved in C3
Просмотров 2,2 тыс.2 года назад
Two short problems in C3 compared to C/C /PHP Watch live at www.twitch.tv/nuoji
Language design thoughts: Constructors, destructors vs inert data
Просмотров 4334 года назад
Language design considerations. Why is RAII both good and bad? And why can plain data like in C be better? Watch live at www.twitch.tv/nuoji
C3 Language Live development
Просмотров 1634 года назад
Working on the dot syntax for functions and structs and beginning to refactor structs as well. Watch live at www.twitch.tv/nuoji
C3 Language Live development
Просмотров 934 года назад
Adding alloc and free Watch live at www.twitch.tv/nuoji
Programming Language readability matters
Просмотров 4724 года назад
Talking about readability and why it matters, discussing Zig, Odin, C, C2, C3 and a bit of Java and C as well. From www.twitch.tv/nuoji
C3 language, some Friday coding
Просмотров 324 года назад
Adding the RISCV ABI Watch live at www.twitch.tv/nuoji
C3 language language command line dev
Просмотров 1714 года назад
C3 language language command line dev
C3 language language dev, backend refactoring
Просмотров 264 года назад
C3 language language dev, backend refactoring
C3 language language dev, C ABI cleanup
Просмотров 364 года назад
C3 language language dev, C ABI cleanup
C3 language dev - investigating the C ABI
Просмотров 2444 года назад
C3 language dev - investigating the C ABI
C3 Compiler Development Live Coding: macro type arguments
Просмотров 804 года назад
C3 Compiler Development Live Coding: macro type arguments
C3 Compiler Live Coding: Implementing ref macro parameters
Просмотров 4424 года назад
C3 Compiler Live Coding: Implementing ref macro parameters
I recently discover this new language and slowly starting to like it’s semplicity. It bring the power of c in a more modern way. Keep up the effort man, this project must continue to grown and grown!
Stream starts at 6:02
actually it starts at 0:00 not sure what you're on about
What is "@jump", I cannot find it in the Docs. I'm guessing it tells the compiler to generate a jump-table at the cost of some memory right?
What audio track is playing in the beginning?
That would be Ocean Loader 2, Martin Galway
Bro codes in light mode
The best review of new/niche system languages
What ide are you using for this c3? I also want to try it out. Saw some tossing videos. It’s looks promising.
I am just using CLion with the C3 IntelliJ plugin (which you can use with the CE edition of IntelliJ idea)
Love your work. Subbed
Great video! Out of curiosity, why is allowing `int pos, neg;` ambiguous?
It used to be, but now it's allowed.
Gonna wait for Tsoding to tell me what to think about this.
Buy programming socks, then you can have your own opinions
He said, there is absolute no reason for zig 'cause c3.
@@Gravitar based and correct pilled.
Will C3 have robust multithreading and concurrency support utilising modern hardware architecture like C++ or Rust?
Cross platform threading and concurrency will be available yes. Some are already available, but more will be added.
Will C3 be memory safe?
Will an evolution on C enforce memory safety? I would hope not.
@@hyrumhammon6647 Why not?
I hope you get enough time to create videos. These videos are really helpful. Thank you Christoffer.
Tsoding brought me here too
please create more tutorials using c3, something like c by example would be great!
Really awesome language, strange that people didn't think of modernizing C earlier. You have C++, but that is old too now.
I am writing an os kernel entirely in c3. What should I avoid doing to make it a success?
kernel panics
Interesting language. What is the best way to learn about how to generate native code as objects in the elf format and dwarf. Can you please do a series on this. There will be loads of people that would love to learn this 🙏
In the case of the C3 compiler, it relies on LLVM for ELF and DWARF output.
@@christofferlerno2633 great to see your work on a new language. I am thinking about learning how to generate directly to an object file. The elf spec is not written for beginners. I have searched around and found some resources. Most books never go to the point of generating object files. It's typically an interpreter or a virtual machine.
@@mrshodz You might want to look at QBE or TildeBackend, it might be useful. TCC also outputs ELF directly I believe.
@@christofferlerno2633 thanks for tips. I will indeed have a look. 👍
w0w
Zozzin
Tsoding brought me here :) great language
I have all this (and much more) in D for over 2 decades...
Yes, D has everything and more. Sometimes that is what you want.
This is the best "C-killer" programming language I've seen! It's cleaner, easier to read, and more important: NOT bloated Keep it up! It's better than Rust or Zig
Sorry but if you continue making videos get proper microphone your audio levels are to low and when you make a litttle more sounds its boom to loud
Yeah, I'm lacking any proper equipment I'm afraid.
@@christofferlerno2633 Which IDE/Editor are you using?
Really cool language. Hope it becomes next big thing.
This really looks like a next gen of C. Nice job! Hope you're still working on it.
Video actually starts at 2:20
I wish you created a book or a video series with something like "c3 by example", you know there are these books or videos that take you from simple examples to more complex ones to showcase the language features. But I understand you may be busy working on the language.
I'd like to do it, but time is a bit lacking.
@@christofferlerno2633 What IDE/editor are you using?
@@carlriemann925 CLion
It would be cool to show a very simple IO console application in C3
For some reason comments seem to have gotten scrubbed from these videos. I've tried to update the settings. Fingers crossed and all that.
gray/sepia mode please
nevermind, i selected "dark mode" systemwide win10; then applied invert filter not the smoothest experience but works
@@yash1152 My astigmatism is worse if I use dark background. But I'll keep it in mind.
@@christofferlerno2633 how about sepia-ish? or those light-slate-gray bg colors from 2000s? i am not in favour of either of modern trends either - those blacky bgs, or perfect blinding whites; both are equally bad.
Loving a lot of the reasoning here, C3 looks very interesting indeed! Continue the good work! :)
Why is the compiling taking so long? It's 20 lines it should be basically instant right?
It was running the debug version of LLVM :D (AND it always recompiles the entire standard library)
@@christofferlerno2633 Oh the library must be to blame. I don't know about LLVM debug compile times but for 20s lines it should be nothing on any modern computer.
@@HairyPixels 1. It compiles the standard library every time, so that is 15000 lines, not 20 lines 2. The codegen is usually about 99% of the compilation time even without full LLVM debug information. 3. LLVM with full debug information is about 10 times slower than in release mode. So of the time you see, around 0.1% is spent in the c3 compiler proper. 99.9% is spent *by LLVM doing codegen for the entire standard library in debug mode.* So to turn it around, what you're seeing is something like it would take to compile about 150.000 loc.
@@christofferlerno2633 ok that's not bad at all then. Why doesn't the standard library get linked in instead of being recompiled each time?
@@HairyPixels A compiler maturity issue: packaging libraries separating interface files and implementation files is a manual process still. And the standard library is still in development. Later when generating C3 libraries the interface files will be automatically generated, at which point the standard library will be easy to package. So once both stdlib and compiler is 1.0 it will happen. While it's possible to cache object files, this is not something I want to have later, so that's why I am reluctant to add it. Ummm.. was that clear enough an answer?
I'm a Pascal programmer and Odin is nothing like Pascal. Can't see how they're similar at all.
Nim looks very pascal imo
ur language is what expect from what improved c should look like.. unlike zig or rust.. they are bloated at best.. zig and rust are too verbose to my liking. i hope you keep continue on this project...and please do more this kind of video as an exposure to other people of what c3 can do .hope your language get more exposure
Thank you.
good language.. need more exposure
Cool ! I found this video after I completed my first C3 project.
Was hoping to see some code during the presentation
You can find code examples here: c3-lang.org And try it out here: learn-c3.org
Thank you for the insight. C3 looks promising, please keep working on it. I really don't like how new programming languages are developing. They are just packed with unnecessary features to cover every little edge case the user could run into, so the language ends up beeing cluttered, bloated, hard to grasp and to maintain. What I wish for, is a very C-like programming language that only has improvements where it _really_ needs them. The optimal programming language (at least for me) would be: - very C-like - no header files - build in string data type (and bool) - slices (growable/shrinkable arrays ) - hash maps - tagged unions - safety features such as runtime array bounds checking and thread safety, etc. - defer (free, close file, etc.) i don't even need the macro stuff... And that's all. I find the programming language "Jai" also has a good approach, but it also seems to bring a lot of new stuff (some of it looks good though, but have the fear it gets too bloated/compicated and too much targeted towards game programming). The weird way of mimicking oop like behavior where you have "# as using" just to reference a struct member's fields when the member is also a struct type. Also the whole compile time execution stuff, man don't waste time on that and keep on developing the compiler core. And the release date is also up in the air You have mentioned Bitwise in another video, i followed the Bitwise streams back then and he had the most promising programming language idea ive came across since a long time (a c with some caveats (the ones i listed above (he didn't have strings though)) And the syntax was also really nice!. He excactly reflected what i wanted from an "upgraded c" with his programming language "ion". I wasn't really interesred in the rest of his stuff, only the language. Really too sad he stopped working on it. The Hare programming language was really promising too, the feature set is pretty minimalist yet powerfull and really enough for 95% of the use cases and their compiler is just around 17 kloc as of now. I like their design philosophy: "A Hare compiler, after release of v1.0, will compile Hare code written 50 years from now". So not only are they providing backwards compatibility, but somewhat of a forward compatibility. So this is pretty much the guarantee, that they won't "feature-kill" the Hare language over time! They said, that they will "freeze" the language and it's specifcations after the release of 1.0. And that is what no other new language out there does. But unfortunately they will never officially support the windows (and Mac os) (they will only support free os'es )-> so Hare is pretty much out for me because i mainly use windows. But Hare is open source, so maybe contributers will take the work and write support for windows. Hare would have been my fist choice because of the minimalism etc, but yeah, we'll see. I wish you good luck and enough motivation to keep working on the language, and please do not fall into the same pit like all the others, so instead of cluttering up the programming language with edge case features, just because the community is crying for it, instead please focus your valuable time and resources on optimizing the compiler, expanding the standard library, or porting the compiler to new architectures, implementing cross-compilation, a package manager, really good error reporting (like rust) etc., a lot to do! That's where your time and effort would be much better spent, and C3 won't end up like many other languages: bloated and hard to maintain language with xy features because they could be somewhat handy in some circumstances and just for the sake of having the language updated because its fun to work on it. Sometimes i get that feeling that language developers want to keep adding features just because it's fun to add new features. And they end up like all the others... destroying the language, slowly but surerly. I am a software engineer for over 2 decades now, and i know it's more fun to add new features instead of fixing bugs or optimizing existing code, but don't destroy a language because of it. Because i have that feeling the same will happen to c3 regarding the "ideas" section of the documentation and some of the already implemented features. And maybe think of a new name for the language. It sounds like an arbitrary and not really appealing name that would attract somebody's attention. I know it's the successor of c2, hence the name, but c2 is also not a good name, and not a lot of people know c2, so the name c3 doesn't make sense to the majority of people. The name c comes from c's predecessor b, and back then, the selection of programming languages was very sparse, so the name didn't really matter because it was a huge deal back then that their was a new language comming out. But now, you have to stand out, there are so many languages out there. I read people mentioning c3 few times, but wasn't motivated nor interested to look into it because c3 didn't sound appealing. I thought "just another language", because the name doesn't have character. Go has it's Gophers, Rust its Rusticans and so on, the community identify with it through the name. Same applies to the icon, you can identify the icons of facebook, twitter, twitch and so on even if it is black and white. Thats the reason why Google haven't decided yet how the mascot or icon should look like for their new Carbon language. They even stated that somewhere in the repo. It's a pretty big decision, if it doesn't appeal to people, it can have a big impact on the language. And google knows how marketing works, right? :) Anyway, now that i looked into c3, i found out it is actually an interessting project. But you have to get people beeing interested so they go further and look into it. Maybe choose a name that reflects the "minimalism" and "close to the metal" paradigm, maybe "Atom" or something like that. Anyway, thank you for your effort! :)
Names are hard things and they affect a lot about how people think of the language. There are always lots of trade offs (Is it already used? Will it give the right associations? Is it too long? etc). The current icon and name is as neutral as I could. Feature creep is indeed a problem and easy to succumb to. It's easier to add features than remove them. One of the guiding principles for me has been that the compiler should be easy to reimplement, this is what I like about Hare: it has the same idea of having a concrete specification that should be possible to easily reimplement. I am still able to let the design go through phases of expansion and contraction (adding - removing features). If you want to help with the evolution of the language, feel free to join the discord: discord.gg/qN76R87
agreed.. they only thing i dont like about this language is its name.. gah..
@@_slier Tbh at first I thought the name came from thinking of C++ as a second C, so this new language should be C3 (no, C# doesn't count LOL).
I wish more people knew about this project instead of projects like Jai and Zig. Those other projects are turning into C++2 and C++3, or D2 and D3. But their dictators make a lot of noise, so they unfortunately gain traction even though they are basically a pile of pet peeves stuck into a hacked language. Same as all the OOP languages. We need something like C3 to take over for the programmers who just want to get sh!t done without all the cult nonsense.
Looks like a cool project. Wish you luck with this.
I think your wish worked, haha
Hello! Keep making great content! Why don’t you use smzeus . c o m to increase your subs?