Finer Timestamps for the "Podcast" part 7:04 Why not Rust? 8:52 Why not Go? 11:25 Zig's answer to requirements' constraints? 15:59 Zig has a C compiler built-in? 20:06 Built-in linker & backends 26:39 User/Programmer space? 34:08 How C interop works? 44:11 Pointer arithimetic? 48:53 Memory Management? 56:03 CompTime & generic types? 1:06:06 Eg. & emit Compile Error 1:09:30 Funding? 1:18:30 Getting Started 1:21:10 Conclusion
@tomknud
9 ай бұрын
Zig is apparently 10 times faster in some testing.
@MessingWithCode
8 ай бұрын
Thanks!!!
@alelondon23
7 ай бұрын
@@tomknud So vague, and no link,? Please don't parrot your noise onto our minds. A better use for that time is to learn more until you can offer us some real and valuable insight. I look forward to it. I trust you can.
@ShizoMoses
6 ай бұрын
Your comment should be pinned, commended and lauded by everyone. Thanks for the time stamps, very helpful!
@toooes
3 ай бұрын
I’m Ron Burgundy?
@UliTroyo
10 ай бұрын
Love the combination of you asking great questions and letting your guest talk, and Loris answering questions aware that people with incomplete knowledge are listening. Two great communicators yield a very satisfying in-depth talk :)
@pengain4
8 ай бұрын
+ to this. Very satisfying episode to listern!
@kevinkkirimii
7 ай бұрын
zig is a very ambitious project and I love it. I hope zig gets the technical and financial support from the community.
@jordanhubscher900
10 ай бұрын
I don’t know what you did or how I found this video but this popped in my recommended and I gotta say, this is by far the best developer podcast I’ve ever listened to. Please change nothing. You ask excellent questions, you’re very attentive to your guest, and you allow them the freedom for them to go deep in order to open up a world of knowledge to the curious listener (such as myself). Thank you so much for this wonderful content I am so grateful I happened upon and I am definitely subscribed now!
@simonmassey8850
7 ай бұрын
same experience for me!
@DaguobDagunanLex
7 ай бұрын
At first, I just saw a Targaryen and a Tarley (Game of Thrones) talking but then... anyway, thank you YT algorithm for recommending this talk between Kris of House Targaryen and Loris of House Tarly about: 00:00 The trend to replace C: wise and terrifying 02:58 Why Zig needs to exist? 04:27 On C Metaprogramming, etc. 04:55 C++: It's power and complexity 05:52 Forget Language war 06:54 "Focus on debugging your application rather than debugging your programming language knowledge." 07:17 Why not Rust? 08:53 Why not Go? 10:47 On reusing existing C but leaving its ecosystem 11:24 Zig vs Design Constraints 13:55 Zig LOVES C and C++ 15:04 Zig is LOVED by Go and Rust 15:59 Zig's built-in C compiler SHOCKS Kristoff 16:37 When Apple released M1, Zig was the first... 20:08 Built-in linker and "backends" to get past the LLVM 24:05 Going all the way down to the lower level 24:46 Timeline depends Talent Quality and Quantity 25:21 The Call to Transition from "4 hours" to "20 secs" ecosystem 26:50 New to Zig Programming, what to expect? 27:10 Zig on Comptime and Runtime 27:51 Zig's invitation to JavaScript or Python Developers 34:10 How C interop works? 37:08 Importing C header files, internal auto bridging file 41:49 Zig and Go's Defer, C++ Destructors, Zig's Defer on C 43:31 "Zig is better at using C libraries than C" 44:12 Pointer arithimetic? 46:16: Crucial things on pointers 48:55 Memory Management 51:37 Allocator's leak detection in debug mode 52:33 Zig's correct way of LEAKING MEMORY: Debug vs Release Mode 56:03 CompTime, Runtime,Infinite loops, Undecidable things 1:02:28 Generics, Lisp Macros, Zig's Metaprogramming 1:05:38 Comptime Code checking and emitting comp error 1:09:31 Zig as a 501(c)(3) Non-profit Foundation 1:12:34 Support Contract Zig-cross-compiling C and C++ backend services 1:13:27 "You cannot make a successful language unless you are supported by a big tech company" 1:14:27 Design Consistency vs Kitchen Sink Evolution 1:18:31 Getting Started with Zig: Learning Recommendation 1:21:10 Conclusion 1:22:57 A Fun Easter Egg
@GreatWalker
3 ай бұрын
I thought you were going to say house Martell :D
@2Kaleb
29 күн бұрын
Lmao GOT
@nomadtrails
22 күн бұрын
@@GreatWalker exactly my thoughts, hes a Martell for sure, not a Tarley!
@Dgg1234-x8e
2 ай бұрын
As a programmer (not in low level systems), I can’t express how grateful I am for gifted people like Loris doing what they do for the world.
@K5RTO
10 ай бұрын
awestruck. this guy's ability to translate such complex ideas into info digestible to the avg programmer is unmatched.
@nomadtrails
22 күн бұрын
Wow, this has been incredibly illuminating. I have a Go project with C dependencies and I did not know I could use zig to cross compile it to a single executable binary! This is huge!
@JohnDeHope3
10 ай бұрын
This video is a gem of an example of well-paced technical communication. Loris' care to clarify and explain up-front topics is appreciated.
@maxmustermann5590
4 ай бұрын
What a great host. Intelligent questions and Letting your guest talk? Sadly insanely rare
@steveoc64
10 ай бұрын
Where has this channel been hiding ? Great content across the board, well presented. Subscribed. I tuned in for the Zig content, and was thrilled to discover a whole new channel full of quality, in-depth content. Kris seems like a great guy, with all the enthusiasm for programming that bought us here in the first place. Thx.
@shizeeque
10 ай бұрын
My thoughts exactly!
@7h3d4sH
10 ай бұрын
I first learned about Zig when trying to use Rust for AWS Lambda functions. It worked exactly as described in this video - the Zig compiler cross-compiles the Rust code in order to target the specific version of libc used in AWS Lambda runtimes. I was kind of blown away by it to be honest. Rust on Lambda was my first contact with Zig. I really enjoyed learning about the details from Loris in this video.
@RustIsWinning
Ай бұрын
Rust better tho.
@Blaisem
10 ай бұрын
Wonderful video by both participants. I didn't think I'd watch much of it because 83 minutes. Next thing I knew I was 70 minutes in and just stayed until the end. I appreciated how the host gave so much space while intermittently prodding the discussion in interesting directions with well-prepared questions. I also liked how both participants spoke slowly enough with an attenuated tonal cadence for clear articulation and allowing the audience time to internalize what is being discussed without losing track of the flow of conversation. It was a calming experience that was easy to watch/listen to, which given the nature of the content, having such an easy-to-digest style is quite advantageous. There's already enough complexity in the content for us to parse that my attention was already quite occupied.
@jasperdunn
10 ай бұрын
I already loved working with Zig, this talk makes me feel inspired and have even more respect for the team.
@danvilela
9 ай бұрын
Any ideas of project that would be a good fit to get started with zig?
@jasperdunn
9 ай бұрын
A simple CLI can be a good first project
@danvilela
9 ай бұрын
@@jasperdunn cli of what? :P
@jasperdunn
9 ай бұрын
@danvilela sounds like you should make a CLI that comes up with ideas 👍
@kuhluhOG
9 ай бұрын
@@danvilela automate something you often do even if you end up not using it, it's still great for learning
@clickrush
Ай бұрын
Love this interview. The interviewer is humble and and approaches every interaction with a charitable beginner mind. The interviewee is excited and precise in his explanations.
@At-Dawn-We-Ride
19 сағат бұрын
Great talk. Special thanks to Loris Cro, who made this a particularly pleasant and informative episode.
@samirsinha1135
3 ай бұрын
While watching this I ended up building zig on my system. Can't wait to try it out!
@roderickmorrison
Ай бұрын
Absolutely terrific wide-ranging conversation.
@TheHubra
10 ай бұрын
Very good video. I clicked on it on a whim and I'm happy that I did. My current impression of Zig is that its a cool project that I can appreciate, but ultimately it doesn't feel like a competitor to Rust. Rust seems to have different goals and features that I love very much, and Zig doesn't seem to have some of them nor does it aspire to have them. Its on a different path, which is perfectly fine, but its not a path I want to be on personally. But im glad it exists, cus I might find myself using it one day.
@7h3d4sH
10 ай бұрын
So the desire of the language creator of "I want to build a Digital Audio Workstation but I don't want to do it in ANSI C" makes perfect sense in this context. I imagine that working with real-time audio is difficult in Rust because so much of what you want to do with audio requires "unsafe" code. So if much of your code is unsafe Rust, you might as well just use C right? So Zig doesn't really compete with Rust - it has a different goal. Rust has always been about safety first, and Zig has different design goals.
@hagaiak
8 ай бұрын
@@7h3d4sH I've never done audio, but why would so much of it require unsafe Rust? How different is it from other real-time domains, such as game engines, databases, hardware controllers, etc? If there's a few things that require unsafe, such as arena allocators, or things like that, it's possible to use a stable crate that has taken care of the unsafe code, and has been tested for years, with many bug fixes, rather than try to reinvent everything and tackle undefined behaviour yourself. Which is what happens if you choose to write C, C++, or Zig. It's almost like writing unsafe Rust, as nothing protects you from write/read contentions or from use-after-free/dangling-pointer issues.
@ForeverZer0
4 ай бұрын
Zig appeals more to C users, and Rust appeals more to C++ users. Not sure why Rust/C are so often compared, they are hardly even comparable aside from both being systems languages. I don't bother spending much time comparing Bash and Ruby just because they are both scripting languages, it really isn't a productive comparison.
@rganesan
10 ай бұрын
I already know zig for over an year and love it and I still learned quite a bit from this discussion and thoroughly enjoyed it. Great stuff. Thank you!
@ToukiMS
8 ай бұрын
You are such a competent interviewer, thank you so much for all your podcasts !
@EliasDorneles
Ай бұрын
Thank you for sharing with us this wonderful conversation, I had a great time listening to you both! Zig
@gavinh8146
9 ай бұрын
I love the idea of procedural comptime ❤ Just yesterday I found myself talking to a colleague about a TypeScript type, describing what the type “did”. Of course TS types are declarative so they don’t really “do” anything - they just “are” - but in my mind the type represented a series of transformations on an input type. How much easier it would have been to express the transformations procedurally!
@nicholascrosbie7863
9 ай бұрын
Excellent presentation. Thank you to both host and guest (people that is).
@iamworstgamer
10 ай бұрын
this is the most educative interview i have seen on internet. i would really want to learn more about systems programming from lori.
@taylankammer
9 ай бұрын
This is a truly amazing interview. I've been interested in programming language design and philosophy for a long time. Made some (very) minor contributions to the R7RS Scheme standardization process in the past, and just generally love Scheme as a language. I've just quit my job with the intention of resting for a while, and part of that resting will involve teaching myself new things. I've been considering dipping into Rust, Zig, Go, Haskell, OCaml, Assembly, and more, if I actually find enough time for each of them. Given that I'm a fan of simplicity (Scheme over Common Lisp, for example) I foresee that I'll probably end up enjoying Zig more than Rust, as far as the very low-level languages go.
@CallousCoder
10 ай бұрын
I recently did a video series on using Zig on the raspberry pi pico. Where we develop a SIMON game in the course of 4 lessons. And I have to say, that Zig on the RP2040 (Pi Pico) is a blessing. Although the HAL doesn’t yet have all the features it is useful for Most of your simple embedded stuff. So I can’t wait seeing you do this on the Atmel side!
@yash1152
9 ай бұрын
the HAL magnetic sensor? > _"Although the HAL doesn’t yet have all the features it is useful for"_
@CallousCoder
9 ай бұрын
@@yash1152 Hardware Abstraction Layer
@kartirnium
9 ай бұрын
The best Zig interview i've seen so far. So well presented and really interesting questions! Great job!
@PristinePerceptions
9 ай бұрын
This was a fantastic podcast! Particularly for those uninitiated in Zig. I now understand the philosophy of the language and can quickly determine whether I should consider using Zig for any specific project. I don't have to try Rust, learn how the borrow checker works, disagree with the borrow checker and then consider using Zig.
@demolazer
10 ай бұрын
It's an exciting era for programming. We have new languages with the potential to rival C, but which will take over?
@joseoncrack
10 ай бұрын
None.
@natescode
10 ай бұрын
@@joseoncracksomething will eventually
@RogueTravel
9 ай бұрын
“Taking over” is not really a thing. There are just new projects that seem to be created more often in Rust and Zig, which will be around for awhile. C++ as well, there is also the Carbon project.
@jeremymcadams7743
6 ай бұрын
@RogueTravel I think I'd like to see a diversification of the coding marketplace. I love C and don't think it will ever go away since it is so embedded, but also maybe inclusion of other languages in builds to take advantage of the strengths that cover the weaknesses of the others.
@bjorn2625
5 ай бұрын
The awesome thing about Zig is that it has a transition path from C - all other languages require a lot of koolaid and adoption across a team. Zig can sort of just show up and start adding value to a C build and then slowly Zig libraries can start being part of a project.
@kaaloo
8 ай бұрын
Thank you for this easy going yet precise technical conversation and for an enticing introduction to the Zig language! 🎉 Great job both of you.
@peterhayman
Ай бұрын
this is the first time ive heard the value prop for zig explained clearly
@jailop7013
9 ай бұрын
Facinating, the language of course, but also this format of interview
@austecon6818
8 ай бұрын
This was great! Thank you for doing this great interview both of you.
@victorpinasarnault9135
10 ай бұрын
I didn't start to study Zig, but already loved it and after this talk I love it even more!
@neilclay5835
10 ай бұрын
I did the Ziglings, and I highly recommend both them and the language.
@versacebroccoli7238
10 ай бұрын
Thanks for asking about the compile time code at the end. Understanding macros has evaded me so far.
@DeveloperVoices
10 ай бұрын
One thing I love about the podcast format is, I try to aim for roughly a certain length, but if things are too interesting to stop then we're always free to keep going. 🙂
@angeloceccato
10 ай бұрын
Fantastic interview and zig is a fantastic project. APPROVED!
@andiahmad7255
8 ай бұрын
This man is able to present the madness going on down there in an easy-to-understand package.
@Luix
8 ай бұрын
Why always compare Go with non-garbage collector languages? it should be compared to Java and C#.
@ssshenkie
7 ай бұрын
Programming languages can be compared, because you can write anything with anything. They all have different trade offs. GC is just one of the trade offs, it doesn't make it incomparable. In fact Discord was built using Go and then switched to Rust. So they had to compare the 2 languages in order to make the call right?
@AWriterWandering
4 ай бұрын
Java and C# run on top of a virtual machine. Go compiles into a native binary. Putting it somewhere in between the higher level and lower level languages
@i-am-the-slime
4 ай бұрын
So if there's a basket of fruits you can't decide whether you'd rather eat an apple or an orange?
@privatesocialhandle
4 ай бұрын
@@i-am-the-slime That's a very broad question since I could simply say depending on my flavor mood that day or whether the fingers that day to peal an orange or not. I know you're try state that you can compare different categories of objects but that's rarely a logical or a practical thing to do. And generally speaking, comparison in decision making is not about the characteristics of the things being compared (whether they are similar or different which is the core of the definition of "comparison") but compares from the perspective of whatever value or goal they compete to provide or achieve.
@Luix
4 ай бұрын
@@AWriterWandering smart comment.
@Monotoba
9 ай бұрын
I just found your channel and I must say I love your style of interviewing. I'll be watching more of your videos and look forward to new videos in the future.
@DeveloperVoices
9 ай бұрын
Thanks! I have plenty more coming. 😁
@telesniper
8 ай бұрын
Very well presented. I'm only 5 minutes in and you've given a few good examples that explain the justifications for some of the prominent language features. Lesser videos often ramble on about trivialities and never hit on this.
@DarioScarpa
10 ай бұрын
Excellent video, informative and honest (with zero language zealotism, which is rare). I look forward to try Zig if the right project shows up.
@jamesschaefer9554
7 ай бұрын
I’ve been zig curious for a long time, but I’ve been holding back because of the lack of RAII… This interview finally got the zig philosophy to click for me in a way that nothing else had before. Thank you!
@DeveloperVoices
7 ай бұрын
Excellent! Glad it helped!
@edgeeffect
10 ай бұрын
I've been "planning" a digital audio project for years (yes years, it's a hobby project I can faff around for as long as I like) and haven't been able to find the right language (I want high-level - but not too high and I want interop with assembly-language)... and Zig is my current candidate. The original code I worked on years ago was C++ and I don't want to go back there, I've considered Rust but it IS like C++'s type-safe younger brother like Loris says and we don't like that. But now I've heard that Andrew Kelley was actually working in the same area when he started on Zig, I think even more that it might be the answer I've been looking for.
@Alexander_Sannikov
2 ай бұрын
A very good podcast. I like the host, the guest and the subject.
@ivorybanana2183
10 ай бұрын
Enjoyed every bit of the talk! Hope this channel grows and keeps you motivated to put out content :)
@towel9245
10 ай бұрын
Awesome talk, I'm glad to have found this channel! It was very educational, and you were / Kris was a great listener. I hope I can learn Zig in the near future with a personal project.
@mnx64
Ай бұрын
great interview, well done. one minor thing: comptime is just constexpr/consteval to some degree, which *is* a mainstream c++ thing. it is not a new thing (c++ is also widespread), but maybe you‘re right that its not widespread in other languages that are popular atm. and for me a big reason to use c++.
@rakaboy1619
Ай бұрын
You are thinking of comptime as a keyword, which can look a lot like constexpr. But in Zig comptime is more of a concept, like generating multiple dispatch methods is done with comptime branching, where you are giving the compiler clauses and functions are generated only for types that match. I am still learning, so there are probably a lot of other factors to differentiate them, but like, they are not the same. Though Cpp has a proposition i think for constexpr to manipulate types somehow.
@mnx64
Ай бұрын
@@rakaboy1619 yes, constexpr is a keyword. although that‘s not literally what i meant, admitting i wasn‘t very precise. compiling stuff down to „return 4“ is more like what i meant. like generating methods only for certain types, or patterns like „callable with X, Y, Z“. anything that happens in templates / consteval is happening at compile time, which btw i think is _great_ that other languages also think about this, like zig did. also of course c++ is missing stuff there. hopefully in c++26 we will get a way to manipulate types at compile time / enumerate fields, cause this is basically the only thing that‘s currently not possible to do. we all just want turing complete compile time, dont we :)
@ahdog8
Ай бұрын
@@mnx64 "we all just want turing complete compile time don't we" C++ templates: 😈
@mnx64
Ай бұрын
@@ahdog8 sure yes, but its missing some stuff isnt it
@TheNitramlxl
8 ай бұрын
Thank you very much for this, it was very interesting. It reminded me about dlang, which (I think) is on a very similar mission.
@shavais33
9 ай бұрын
For many years, every.. few days? Few weeks? I'd fantasize for a while about working on a computer language project. A language that compiles to native code on multiple platforms and tries really hard to be easier to use than C or C++. It's awesome to hear that Zig is working toward including their own back end / LLVM replacement option. LLVM (Low Level Virtual Machine) creates a virtual machine that your language targets, so that your language can run on any platform that has LLVM support. It's kind of like a JVM (Java Virtual Machine) almost, but a bit more primitive (low level) and it's not a JITer (Just In Time compiler - it doesn't spend cycles compiling and optimizing byte code at run time). So.. it's hard not to see LLVM as kind of a crutch or a cop-out. It seems like you're not really very likely to be able to optimize all that well for any particular architecture if you're language is targeting a virtual machine. On the other hand, any language that isn't machine language or assembler language presents what amounts to a virtual machine to a programmer. Still, are languages all the same? Do they all present more-or-less the same VM to developers? They might, more-or-less - most languages are comprised of the same general elements: Literals, variables, arrays, operators, things like tuples and slices and data structure initializers and "comprehensions", if/then/else, switch/case, for/while, functions, classes with data/function/procedure members and operator overloads and inheritance & polymorphism and construction/destruction, modules, namespaces, threading, forking, events, etc., once you know the syntax for how to do all that stuff, you pretty much know the language, and most languages have some kind of support or another for most of those things. So these days, I'm a bit less energized about the idea of a new language, because I think I'm kind of coming to the conclusion that it isn't actually the language itself that makes all that much difference between one language environment and another. I actually really like the C++ language, quite a lot, for example, especially now that we have things like auto and smart pointers, and the whole super convenient, pretty derned fast (for the most part) STL. The problem is, the build environment and the libraries are just a nightmare compared with something like C# or Java. Take libzip, for example. Worked great and was easy to use in C++.. until I went to encrypt this particular .mp3 file I had. Then I got a very unhelpful error message. I spent.. a week? Two? Trying to solve that problem. Learned way way more about zip files and mp3 files and all the various libraries related to them that are out there than I ever wanted to know. And still couldn't solve my problem. And I mean.. I worked at Intel for a while, on a team that used C++, and I cannot begin to describe the pains our team went through related to exactly this general sort of problem. Libraries crashing or not doing things it seemed like they should and it isn't clear why, and it just takes 4 Freaking Ever to get anywhere. That team worked on a project for a year and half that could've been done in probably a few months in Java or C#. Their full build was taking 25 minutes to run. Crazy! Just getting something like a cross platform music player working, complete with a UI, is a multi-month proposition in C++. You can do that in a single day in C#. I wrote a test program in C# to interact with an encrypted zip file, and the .NET Nuget packaged ZipLib library encrypted my special .mp3 file right out of the box, no problem. Not even a single hour wasted. This is the real difference between one language environment and another! It's not the language itself that makes C++ a pita. Not at all. It's the freaking build environment and the eco system of commonly available libraries. Language developers, these days, often seem to feel compelled to implement compile time meta programming, I guess so that language users can create compiler extensions. It seems to frequently be an early mention for them. I almost never do meta programming, and I rarely come across it. I suppose if it helps produce better error messages, it's worthwhile. It might help people who are working on the library ecosystem. I hope it doesn't end up blowing up build times. That's the most important and relevant challenge, I think, for an up and coming computer language - solving the build environment and library ecosystem problem. We need a language with the performance of C that has a cross platform build environment and library ecosystem that rivals that of C# in the Windows environment.
@AceHack00
7 ай бұрын
I just found this channel today, this is my 4th episode already, great channel!!
@DeveloperVoices
7 ай бұрын
Thanks! I'm glad you're enjoying it!
@VolkerGoller
9 ай бұрын
Passing allocators seems to be overhead, but I think it is actually an awesome idea. I have used many different allocators in my projects (buffer pools, arenas, buddy systems). In Zig I could use these different allocators easily
@isaacyonemoto
9 ай бұрын
If you're not writing a library, just make your own global allocator and use it wherever you want. Nobody will get mad at you :)
@juanmamani2110
9 ай бұрын
INMHO Zig is new and fresh low programming language for new craftsman generation looking for get out of C classic box. By the way C is my lovely one language. Zig is an excelent choice. This 1:23 are one of the best time investment I've made in youtube! Thanks for sharing!
@roryboyes2307
9 ай бұрын
It's rare I'll sub but you had my vote in the first five minutes. Clear from the outset that this would be insightful. Very much looking forward to future content.
@origanami
9 ай бұрын
Zig makes you think about memory allocation, Rust makes you think about the borrow checker
@Leonhart_93
5 ай бұрын
Yes, the Rust way doesn't scale your general programming knowledge.
@RustIsWinning
Ай бұрын
@@Leonhart_93skill issue
@JohnPywtorak
9 ай бұрын
@12:11 Point of correction. This is outdated knowledge on Rust. Rust does not depend on libc, you can use musl and there are other alternatives. There is also no-std as well, you can go that route. This is more like zig than less like it. That section of the talk should be taken with caution or passed over.
@kristoff-it
9 ай бұрын
musl is a libc though :^) no_std is good but that takes away a good chunk of the stdlib, which is significantly different than how things work in Zig
@JohnPywtorak
9 ай бұрын
@@kristoff-it true, but musl is static and not glibc which is what the video was making a case about. The real point here is that specific divide is not as big as the video implies. This is not a point you should “choose” or look at Zig over. There is also a rust libc early in dev, don’t recall the name. I have nothing against Zig, just think the argument needs to be stronger than weaknesses of glibc.
@patrickjreid
3 ай бұрын
I have been a JavaScript developer for about two years. And I have been pondering how to grow as a developer. Part of that path is exploring other languages. Thank you for your excellent podcast! It has helped me grow so much! If that is your mission then you are winning. So far, zig has become top of my list! I am going through a bunch of c learning material just to understand the foundation of modern computer programming, but dang, when it comes to wanting to actually develop something Zig is what I want to use. The other one that captures my attention is mojo.
@lucas_badico
10 ай бұрын
Thanks for both of you, great conversation. Zig is a thing for me now.
@mateoarv
9 ай бұрын
That was a great podcast with a great guest and a great host. I can see this channel growing a lot with this kind of content!
@matterhart
10 ай бұрын
Really great overview of systems programming and programming language design trade offs.
@user-dz6il2bx5p70
9 ай бұрын
'What's Zig got that C, Rust and Go don't have?' - No standard library documentation.
@cho4d
2 ай бұрын
first i have learned about zig. great presentation. i am feeling positive about this project's future! he is a smart dude.
@GaelAbadin
7 ай бұрын
Beautifully explained. Thanks to both of you.
@matthewsheeran
7 ай бұрын
Man I loved null terminated strings: all you gotta do is double the null bytes for UTF-16/Unicode, and make the new length a few bytes before what the pointer points to and you should be able to make your new langs like zig compatible with the old C libs. As long as you add the nulls and recount the length when crossing that api boundary and have the appropriately pre and post over buffered alloc for those extra bytes! ;-)
@vonderklaas
8 ай бұрын
Thanks!
@Shaunmcdonogh-shaunsurfing
8 ай бұрын
As a rust dev, am excited about Zig
@ThePOVKitchen
4 ай бұрын
I wish Andrew Kelly could come talk! His livestreams were always very interesting
@MikkoRantalainen
10 ай бұрын
16:10 "Okay. Andrew started out trying to build an audio workstation and ended up building a language that also includes a C compiler." This kind of reminds me of RMS trying to fix the situation with closed source printer drivers and ended up building a whole open source operating system (with help of other people such as Linus). And in case of GNU/Linux, many printers still do not work.
@DeveloperVoices
10 ай бұрын
It's 2023, I have a 3D printer, and it's probably more reliable than my 2D one. Welcome to the future. 😅
@MikkoRantalainen
10 ай бұрын
@@DeveloperVoices Good point. However, try to output 10 sheets of A4 sized stuff with readable text with the 3D printer and you'll quickly notice that it's really slow, resolution sucks and printing costs are skyhigh. The hard part about 2D printers is getting cost per page really low without sacrificing accuracy of the prints. That said, 3D printer can obviously do magical stuff compared to 2D printers, but we still need both until 3D printers get much better.
@yash1152
9 ай бұрын
@@MikkoRantalainen uhm, per wasn't comparing 3D printer to 2D printer to do the cross-task of 2D printing. Rather it was just a funny and satirical contrast made here just due to their identical market name... No one is comparing them directly (there _is_ no direct comparison in those) or even in cross-functionality; rather just how they perform in their own dedicated tasks. > _"try to output 10 sheets of A4 sized stuff with readable text with the 3D printer ... but we still need both until 3D printers get much better."_
@user-eq2we3px5x
9 ай бұрын
This is a fantastic talk.
@srijanpaul
8 ай бұрын
Excellent conversation. Would love to see more of these.
@kenneth_romero
10 ай бұрын
great interview, got a sub from me. love your format and questions, probably gonna binge your stuff with the free time from thanksgiving break.
@pablomena585
9 ай бұрын
Great questions! Maybe a little intro about the speaker and who he is? just throwing some positive feedback out there 🙏
@davidparry2709
10 ай бұрын
Well, that was epic. It’s a bold new world. Downloading Zig now and going hard on the tutorials…
@phenanrithe
6 ай бұрын
8:00 No. In Rust, unsafe is only a tool used when the borrow checker can't prove or disprove the soundness of the source code, so that's nothing to do with performance. Anyway, the very idea of "being closer to the CPU" for performance is an outdated concept. Today's high-level language compilers are more than able to produce the same level of optimization as if you were writing in assembly. Today's concern is rather about being able to get just enough abstraction to make projects manageable and productive, so the idea of creating a low-level language is a little weird and backward, especially if the original project was simply an audio app (which only consumes a percent or so of current processors). One very interesting concept in Zig is the way they do "macros" with comptime. Many languages, like C and Rust, get horrible to read because of their macros system, a real plague for code understanding and maintenance.
@galier2
9 ай бұрын
14:35 D also has this feature. D is now also a C compiler.
@machine1st827
8 ай бұрын
I think the solution would be, combining the raw power of C/C++ for machine hardware control with the elegance and safety of Rust for threading in the same project. This is what I do at the moment. I will check Zig as well.
@marshallbcodes
10 ай бұрын
Just found a new favorite channel!
@victorpinasarnault9135
10 ай бұрын
Me too
@afailable
6 ай бұрын
This was an amazing talk. I've never seen this channel before, I'll have to start binging now 😅
@RSZA011
10 ай бұрын
ok subbed , the algo has not delivered me such quality content in months ~ zig also looks alot less intimidating than I thought ! advent of code time (after I learn go)
@masterchief1520
2 ай бұрын
Use the right tool for the job. Most startups have switched to Go for backend. Very small number of companies actually use rust for that. Anybody can easily dive into go and pick up the idioms in sometime. Zig doesnt replace that and it doesnt compare with Rust's maturity.
@PaulSebastianM
3 ай бұрын
Apple should sponsor Zig and perhaps add themselves an alternative (or replacement) for Objective-C. Keep Swift for high level stuff (UIs, apps, simple servers, scripting, etc.) and Zig for high performance code.
@OxAA00
10 ай бұрын
Great talk! I've been using Zig for a while now and really like it.
@tacorevenge87
Ай бұрын
Same. Are there any jobs out there for zig?
@OxAA00
Ай бұрын
@@tacorevenge87 other than Tigerbeetle and Bun I guess not. It's more of a "let's use zig in our company for this problem" kind of situation if at least right now. I also might be wrong but I didn't find any other companies currently.
@tacorevenge87
Ай бұрын
@@OxAA00 yeah fair enough. I hope zig becomes more popular in the near future as it’s a beautiful language
@pacukluka
9 ай бұрын
Amazing, thank you! Would love to hear more of zig.
@brtr
8 ай бұрын
Great podcast! Very nice and quality content, thank you!
@greisboy425
9 ай бұрын
Go and Rust is not a new C (not intended to replace C) but Zig does (I watched Andrew, the man who invented Zig, on his presentation he clearly declared that "Zig is C but with problems fixed"). Zig is language clearly intended to replaced C so Zig should do his best to make it happend.
@alpsavasdev
9 ай бұрын
instantly liked and subscribed. intriguing to learn Zig, although I have almost no knowledge of C yet.
@LukasRotermund
9 ай бұрын
❤ great interview! You have a really enjoyable and relaxing interview-style
@DeveloperVoices
9 ай бұрын
Thank you so much!
@FrankHarwald
8 ай бұрын
43:00 Another problem with C++ ctors & dtors is not only that they only work in C++ & C++-like contexts, but also that they often have (at compile time) difficult to asses run -time & -space requirement on top of what's explicitly in the code, which Zig's "defer" doesn't have because it only adds static branching code on top of what is written in the code explicitly.
@ZombieLincoln666
5 ай бұрын
great video. Currently deciding between golang and zig
@sarevoker
9 ай бұрын
Wow, what a nice podcast to hear, thanks for this masterpiece, I'm on my way to get hands dirty with Zig! :D
@miscbits
9 ай бұрын
great episode! Just discovered this channel and I really enjoyed this
@AlexanderYaremchuk
Ай бұрын
Thank you! it was interesting to me (I"m not even close to the topic).
@johanngambolputty5351
10 ай бұрын
I've only really been spending time with rust and I love it, but I really need to have a good go at zig and nim at some point, I really love the spirit of these languages; really taking on c++ in that "zero cost abstractions" sense (and also RAII/unique pointers in rusts case at least but with a nicer syntax). I've left cross compilation until last it seems and I have been struggling with it in rust, but I really like the idea of very general code that runs everywhere. Tooling and nice dependency management is also huge. Also, in terms of going all the way, I really want to see an OS written in a newer language, like RedoxOS.
@raidensama1511
10 ай бұрын
Isn’t nim C?
@johanngambolputty5351
10 ай бұрын
@@raidensama1511 I believe it compiles to c, but it gives you much higher level syntax. Although I think it might be garbage collected :( still, it does some interesting things
@adelarsq
9 ай бұрын
Really cool interview. Thanks for share!
@dmitriidemenev5258
10 ай бұрын
14:01 That's incorrect. Rust can cross-compile not only Rust but also C, using de-facto standard cc crate. Build structure from cc crate has a target feature, that allows to specify the target for the compiled C library used in the project.
@kristoff-it
10 ай бұрын
The cc crate invokes the system C compiler.
@dmitriidemenev5258
10 ай бұрын
@@kristoff-it and Zig invokes LLVM infrastructure. Can you tell me how invoking the system library is bad?
@kristoff-it
9 ай бұрын
@@dmitriidemenev5258 it's not bad, it just doesn't work if you try to cross-compile. With Zig it works, easy as that.
@toby9999
5 күн бұрын
I haven't had any problems with slow VS for a long time. It's my main development IDE. I love it. Nothing comes close in my experience. Please don't even mention Eclipse. LOL Lisp was also my most fun language at university.
@claudiusraphael9423
10 ай бұрын
Nice one - exactly the comparative behavioral overview i needed - liked and subscribed, thanks for sharing!
@kevinkasp
7 ай бұрын
Dang, I wish I knew as much as you guys. Fantastic video/interview/explanation.
@yldrmcs
9 ай бұрын
Why should I use a language whose compiler is not even stable? I think first they should release the first stable version of zig and then we can begin talking
Пікірлер: 505