@@PixelThorn ppl don’t really learn how to build their projects. Also, it has a vast number of implicit features, different syntax, and oh templates, which is basically a 2nd language that you have to learn. Value semantics are almost nonexistent, since you have to know when the move/copy will be elided. Rust, similarly, has complex syntax too, but at least it has value semantics and there is no void. Ppl go for zig, because it’s a language that you almost build yourself, thanks to comptime and stuff. (I like C++ and CMake, but you gotta know where these tools are underperforming.)
You can’t encapsulate an object if you can reach in with a pointer and manipulate it. That’s why I used Java for so long. Now I just don’t care about OPP anymore.
it is so strange how i can recognize colleges that are just like these 3 gents, there is the rust believer, there is me who tried it and passed on it, there is the guy that dives so low level i feel like a junior.
TL,DR: They start complaining about Rust based off of dubious skill issues, then pretend like the Rust user has a skill issue for not using Zig, and finally the Rust user tries to defend Rust in a 1v3 without any prior preparations or expectations of a 'debate'. They then proceed to pretend like Rust somehow has less capabilities, with somehow the same target audience and use cases as Zig despite their prior admission that Rust isn't a C replacement unlike Zig, and have nostalgia for C libraries that give us 30 years of preventable bugs and cve's. In essence, a normal WebDev's podcast, nothing short of what you would expect, and no critical industrial experience with best practices or strict code standards. Thank you TH-cam for not hiding this reply!
@@anonymousalexander6005 i doubt Prime has a skill issue regarding Rust. He had a fallout with some prominent members of the Rust community and now doesn't like it that much. It used to be his favorite language and he made sure to let others know.
@@anonymousalexander6005 didn't mentioned some drama for the guys that works together. having another Rust enjoyer would be great but it was fair regardless
@@anonymousalexander6005 rust and zig can both be good. zig isn't a shipping language yet, so the comparison is half-moot. but rust has a huge and bought in fan base, bordering on cult-like sometimes, so some extra defense of zig can feel necessary to zig enthusiasts. but yeah, eventually we all realize that this video content (and most old school blogs) are mostly for entertainment, and for catching keywords you might not otherwise hear. we all have to make up our minds for ourselves, and we're not really actually driving towards any sort of consensus in language war conversations. after all, it's all got to run on arm/x86/GPUs in the end, and the base technology itself isn't THAT complicated. it's all just registers, alu ops, compares, RAM, gotos, SIMD, and synchronization primitives etc in the end. and the microcode/instruction decode/layered caches/branch prediction of course, but our current architectures hardly let us control those directly, nor do our programming languages do much at all to directly support it. most of us just want a language to have a bag of features on top of a universal set of flow control, and a few bumpers to keep us from doing things too stupidly. it's usually bikeshedding to argue TOO much over the exact shape and width of those bumpers. and as much as I like C, it has too much ambiguity for the non-existent amount of safety it has. almost all of us can probably agree on that. I wouldn't say zig is "just C", if you're insinuating that, then I'd quibble. it has less ambiguity than C. but if you're not saying that, then we probably are mostly on the same page. too much coffee. sorry for some of the rambling, but not for all of it.
@@anonymousalexander6005 that is not fair, he worked with Rust for years, he clearly has absolutely no issues with the borrow checker, the only thing he ever complained in the past was the macros and how hard they are, and lack of support for async programming. How can it be a skill issue if he was prolific with the language, writing professionally for Netflix , code that processed billions of requests? He doesn't complain about borrow checker more than any other person that uses Rust, sometimes complains about it on a normal basis. I complain about it sometimes, the same way i sometimes complain about nil pointer deref in Golang, the same way i complain about my wife sometimes and i love her still, nothing too serious. I dont believe you know much about ThePrimeagen, he used to love Rust, and was really good at it.
The point is simply. a role of a language is not just limited to what it writes but also how it can be managed. Rust fails at that part, ease of reading a written code is a serious requirement.
Regardless of languages, I'd rather work with Jarred, then the cult guy! Jarred just answered the questions, provided good feedback, open to the idea of using other languages, e.g. C++. That's exactly the right mindset. Glauber made great points but Pekka seems to not be open to other ideas, which I believe would be very hard to work in his team.
I, personally, didn’t like this public execution of a “talk”. The dynamic here is much like riding the scapegoat and the atmosphere of zig hype didn’t help at all. Also it seems that the Rust “advocate” came unprepared. The conversation was very poorly moderated, and host should have had expressed less favouritism, otherwise it simply isn’t fair. I couldn’t bear it, sorry. Prime, you can do better.
I think Pekka makes the best point: yes, while some things in Rust suck, and "may" be better in Zig. it's not THAT big of a deal. it would have to be a HUGE deal to switch languages, fire your engineers that dont want to write Zig, find and hire Zig engineers, and re-write your codebase. like all that, just because Zig does a minor thing better. lol. You can tell Glauber doesnt have to write the code or deal with the engineers.
@@blarghblargh the problem is, if you know engineers, a certain number of them will not want to learn a new language. most people choose their job based on the language and tools the job uses. thats what i said. some will quit.
Rust documentation sucks. It took me 3 hours to recover run and query and query questing yesterday with tikv. Today I am trying to run graphql schemas and I bet it won’t take less time 😂 Any database or lib written in rust has better documentation for integration with other languages than with rust. It like they all chose to poop in they own water and drive a little sip of it over the next 100 days. I love the language but this doc is far from any other language.
i like rust more because i value the type system. it's worth noting that zig is not an easy language to learn relative to something like javascript for example. the idea that you can just pick it up and immediately be productive is not true. the way people talk about it made me think that it would be like learning go. the main benefit of zig to me is calling c libraries because doing that with rust is very painful.
At the very least it seems like Pekka is not willing to budge on his defense of Rust. It's almost like he's internalized the point that he's trying to defend rather than being willing to honestly discuss the pros and cons of Rust versus Zig. In particular when they were discussing distribution, he comes close a few times to saying that Zig makes distribution easy but he backs away every time and instead repeats that he thinks distributing with Rust is good enough.
@@jedimoose32 rust is NOT the future i mean its just common sense lol. Zig is literally rewriting the entire stack and rethinking the LLVM while rust has no place there.
@@perc-ai Yeah, I really like Zig but I haven't used Rust very much, so I'm not going to comment on that. I was just trying to say that I found Pekka's responses to be almost too aggressively pro-Rust in a conversation that otherwise had some good pros-vs-cons discussion.
for not ready to prodaction tool set. maybe in 2-4 years when zig matures....but Rust then will be in many places. I was reading that Apple promotes Swift over c++, so yet another competitor for zig(if zig is a replacement for c++ and C)
@@PiotrPavel zig came in at the wrong time. if it came a few years earlier it might've had a completely different trajectory. i see it being more of a niche language used for specific tasks. i don't see wide adoption in it's future. a lot of that is a timing thing.
Zig has much better type safety than C and allows you to do unsafe actions with a lot less headache than doing so in Rust. Imo it gives a good amount of safety while not having to fight the compiler on literally everything It's also a much simpler language than Rust. So it's really for a different group of people than those who like Rust or C++. You get fast compile times, an extremely powerful build toolchain, much better C interop than Rust among other things.
Also not everybody wants to do Rust. As a c++ dev, my attempts at Rust were annoying, hard and I never got very far into the language. Problem that it raised for me is that EVEN IF i take the time learning it, it will just be the same problem as C++ which is "team skill issues". Not everybody is willing to learn a complex language and deal with all the fancy stuff that comes with it. Zig can be learned on the spot and just do stuff because there is only comptime as magic which limits what can happen.
this may be the first time Prime has decided to use the "flashy new thing" instead of the proven one. at my company people love Zig but every one also says they would choose Rust over it. Zig is a cool choice and a good language, but it's not "better" than Rust. Rust may not be "better" than Zig neither... its just preference, and since Rust is more mature it usually wins out.
Go and Zig are the only two languages where cross-compiling is just a command, Rust is actually no better than C or C++ in that regard IMO, it's terrible. Especially if you're cross-compiling for a different architecture + OS.
The only problem with go is that shit kind of hits the fan when you have a single CGo dependency, that’s mostly it for your nice cross compilation. Although Zig can (often) help with that as well
Dunno what go is doing (I think that they directly call syscalls?), but zig at least is "just" effectively packaging the platform SDKs, which may or may not have copyright issues? (IANAL). You can get the same cross-compile setup in Rust without *that* much trouble, it's really just SDK copyright that prevents someone packaging this up. Rust is getting close to adding raw-dylib, which is basically the ability to write platform SDKs in pure Rust, and the windows crate at least already has support, so you can already cross compile pure Rust to Windows at least on nightly builds.
Surprised prime thinks Rust standard library is hard to read, I very often go to the source to understand stuff, especially coming from C++ where going to the definition is useless. Also, I agree that Rust macros are not the best but they look scarier than they are!
As someone who tried to learn rust and is currently learning zig, I must say zig syntax just makes more sense to me, I feel like I understand what the language is doing, where as with rust I felt like I was falling into a pit of despair cuz I was so confused and annoyed. That being said, it feels like there's only beginners resources for learning zig and I don't know how I can go about learning the language in a deeper level or more advanced usage. Rust on the other hand is way more developed and has more of a community to guide people along
I am very much more of a Zig fan over Rust, but the lack of learning resources is indeed currently a huge obstacle for attracting new users. Having used it for ~6 months, I rarely need to look things up anymore, but it is always a struggle when I do, and I remember the pains of trying to find any sort of comprehensive resource, usually just having to "figure it out" with trial and error. They have stated many times that by 1.0 they will have a more fleshed out stdlib with better documentation, but until then (and wider adoption) I assume it will continue to be a struggle.
I'm in the opposite corner here when it comes to the syntax. While I agree that the Rust type and lifetime syntax might be a bit to verbose at times, there is a lot more syntax constructs in Zig that I don't like. Having said that, I must confess that I have put off trying to learn Zig just by the looks of it's syntax, so I just might learn to love it if I give it a try... 🤔
@@Munchyydl I just worked through Ziglings and Zig Guide to learn zig so far, I recommend them. And yes 100% I agree even zig has syntax issues in some spots, for example: the built-in operators seem to mix up case formatting, some of them start upper case, some are all lowercase, some are camel, etc. it would just be nice to have them uniform or have the differences explained. Then I don't get why "inline" exists as a keyword when "comptime " exists... inline loops run at compile time, why not just use the comptime keyword only? Then the LSP doesn't pick up on capture groups (|value|) or type unions, so the LSP definitely needs work
@@Munchyydl I was also initially very put off by its syntax which made me delay learning it for nearly a year. Early this year I finally decided to give it an honest try, anyways and the syntax actually grows on you, and your realize that it does make sense (i.e. there is a reason for it). Difficult to explain in detail in a YT comment, but there is some very convenient things that it allows for which are simply satisfying to use once you get the hang of it.
Glauber seems like such a nice guy.. to Pekka, basically "I can fire you". to Jarred "you said (opposite what he did)" Jarred to Pekka: "you have skill issue" -- Glauber nods heavily I mean, he's funny but would make me swimming in cortisol if he was my boss. (that's my skill issue)
i was thinking the same thing! i would NOT want that guy being my boss! lol maybe they're such good friends and thats just how they are though...idk. deff dont seem like Glauber is a nice or likeable person thought, that sounded like an ACTUAL threat, and Pekka didnt laugh....
@@SnowDaemon I mean, he's probably very smart and one could learn a lot from him, but whoa, with that power dynamic, those "jokes" felt like barbed wire. I really got the vibe that Pekka is just suffering through him and trying to keep his calm, which he did. (I hear Finnish people can have pretty thick skin but that's just a sterotype and even if true, still...)
I love the idea of Zig, its practically ideal in theory for my taste, but I dont like the implementation, the syntax also turns me off. That said there was a time when I thought Rust was ugly but after using it a while you come to appreciate it, maybe the same would happen with Zig if I gave it a real chance. I also doubt Zig has the ecosystem to compete with Rust, libraries are a big part of what make a language good.
I'm neither a rust nor a zig dev, but aren't c libs easy enough to use with zig? I know same can be said about many languages, but zig seems to have one of the best integrations
@@lmnts556 which parts? I pretty much love zig syntax but I have no real comparison (i only worked with higher level languages, Python, Bash, nowadays JS, ugh...); wonder what could have been done better.
I think The case for Rust was not really well presented. For me it boils down to the power of the time system. People use Haskell for a reason even if it's worst to some other language in every other thing (comparing it to languages of that size and age) but the type system. Also this thing about writing the macros in the language Itself exist since before I was born in lisps/schemes. And yes they are powerfull... But there is a reason they didn't catch on in the mainstream. The less you metaprogram and the more you use standard concepts of the language the easy is your code to understand, so having it too easy I think in practice is detrimental to code reuse in the long run.
I agree with your point, but i think Zig's case for the metaprogramming with comptime is that it struck a very good balance of being extremely useful without over-complicating or making it difficult to understand.
I haven't started my CS degree yet, but as a musician I'll give my outside looking in opinion. Almost everything on TH-cam regarding programming languages is like working in a music store where the inevitable love of music dies and every conversation devolves into talking about gear. Nothing but gear. Gotta change the pickups. What capacitor are you using? I use GraphTeq nuts you're still using acrylic? How about them brass trem blocks? Do you use pure nickel wound strings or Cobalt? I prefer stainless steel jumbo frets. I like these tubes because they breakup dirtier than those tubes. I put greenback speakere in my cab. Gear. Gear. Gear. Everyone is busy talking gear that they get sucked into obsessing about things that literally don't matter. The professionals don't think about that stuff. Their techs are using Fractals or Kempers backstage anyway. People who work in music stores understand. When you snap out of it you realize you just gotta make music, man. Just make music. The nuances of gear are a distraction from the love and fun of making music. That's what I hear with all of these discussions. Programmers talking about gear and not making enough music. So-to-speak. I can't wait to just find my language and make some music instead of getting into debates about what's better and never having the focus to just settle on my instrument to write with.
For most applications the language choice is not terribly important, but some important applications do require certain properties that only a subset of languages adequately covers. On this regard it is closer to the regular engineering - the choice of tools and materials does indeed matter as you cannot build a safe bridge without proper equipment/materials
@xomiachuna knowing the essentials is fine. Obsessing to the point where all one does is hyper focus on every little inconsequential nuance of every language makes it seem like either no language is good enough or every language is only as good as your knowledge and that there's always something better. Which then makes it seem like modern programmers have a massive issue with jumping from one language to another in search of the perfect language. It also seems incredibly counterproductive to have so many languages competing for a user base.
Awesome perspective. As an Old Guy Programmer who has seen a lot of stuff come and go, I tend to agree. Unfortunately, we have a constant influx of inexperienced folks creating shiny new "gear" to replace the not so great old "gear" but all of it ends up feeling sub-par over time. My personal solution is to stick with C because I still _get stuff done_ no matter who tells me I'm being unproductive, unsafe, irresponsible, etc. I don't want to work with those young whippersnappers anyway 😁
@@Hyperbog as someone who's been programming for a long time, programming languages get pretty easy to pick up after a while. a for loop in one language doesn't look that different from another. there's reason to have competition in the space, because we learn better ways to make tools. but I fully agree that finding The One True Language isn't going to happen, and is a distraction. Pick up languages when it makes sense for your projects. You'll know when it does.
I'm learning Rust right now. I have to agree, interacting with libc stuff is painful. Like, I wrote a TUI minesweeper game... Half of my time was spent trying to figure out how to flush stdin. The other half was spent actually writing code.
Atm cpp is the go until zig improve to the final release! Zig needs more support by community! Hopefully they prevent big tech companies to sneak in! Rust is cumbersom except the tooling, which is rly great!
Ever since the C++ committee voted against breaking the ABI in order to increase performance the reason for using C++ in new software where Rust is available simply doesn’t exists. C++ is not memory safe and no longer the fastest option, it is simply a complex legacy language. Zig is cool and the cross compiler is awesome, but I think its niece is quite small since it tends to get squeezed between Go and Rust.
I don't get these topics tbh. Zig tries to be a better C, Rust tries to be a funamentally save C++, they can coexist being a good at their own thing lol
They are fundamentally different approaches to the same problem Rust is like “my child isn’t allowed out of the house without wearing a mask, and must be under supervision at all times” Zig is like “get outside and play in the dirt, make sure you are home before it gets dark”
@@steveoc64 sort of. but zig's parents taught their teens how to use condoms, proper traffic safety, situational awareness, and had some talks about safe drugs/alcohol experimentation, safety at parties, and gave them some confidence against peer pressure, whereas C programmers said "you'll figure it out. want a hit off my vape? watch out, it's high THC. nerd".
Algorithm interactions are nice. I think I am okay with learning Smaug using the discipline I used to learn Go. I’m not sure I find it as fun with it looking more like c++ than like c#
It is exactly that. Zig implements generics as compile time functions that return a type That covers both generics and macros, without needing to introduce a new meta-language or pre-processor
Hearing the CEO of a database company not understand why python was chosen as the analytics/ML language of choice is hilarious. Here's a question.... why write SQL when you can just query the data with rust/zig....? Python is a language to USE tooling not build tooling. Most major python packages use c/c++ or rust under the hood to get only slightly worse performance but at a benefit of writing simpler, faster to write and faster to iterate code.
people who build databases don't tend to be the people crunching data to put in databases. they usually try to be agnostic of that level. they're focused on their own performance, and the interface they expose to their own software. unless you're a giant provider like oracle or something, in which case you're trying desperately to integrate farther into customer's solution stack. but yeah, historically python has been seen as a very low performance language. many people (probably wrongly) assume it's inherent at all levels of the langauge, even at an abstract level, and not an aspect of the specific implementation(s), or more subtle choices in the mainstream variant of the language. if the person hasn't been implementing python-like languages themselves, or doing high perf optimization work directly on a python codebase, there's probably not a ton of reason to question that part of the language's reputation. mojo is probably going to be a little bit of a shock to a lot of systems-level programmers.
yeah it wouldn't be polite to keep bringing it up but "i think we can all agree" that was the most interesting topic of the video (i mean zig vs rust would have been interesting, just this particular talk didn't work very well tbh)
i got bored pretty fast, only thing i remember is Glauber being kinda jerk to Pekka their chemistry was like they started a massive fight just 5 minutes before the talk, and it seems that the best Prime could do was to put their thumbnails in a different corner so that they don't bite each other. i mean interesting but this ain't a reality show
I had no fun with either of them. Both languages are extremely opinionated, in a way that feels like programming with shackles. If you agree with their opinions, those shackles may even feel comfortable, but I've been born previously by buying into excellent meta ideas that ended up being hurtful in the long run, and not really worth the compromises (compromises that are always *very* hard to see in advance).
rust is bad because it has drm in the "safety" stuffz if zig has that "safety" stuff, it is also bad if not then maybe it's alright. Elther way oldschool C doesn't have that so it wins by default.
@@Solid_Fuel hey. I do embedded. Smart pointers aren't needed. People complain about Cpp11 but you don't have to use all those funky features. Just operator overloading, inheritance, templates and other QOL things. If you write C++ like C code with QOL stuff and take care of memory yourself it's really good to use.
initial few days i watched him thinking doc without glasses doing coding i realized way later that he doesn't play cod he code. and he codes fast...faster .....very very faster that too in vim 😮
i don't get the zig hype. there's nothing groundbreaking about it. it's just another language. more similar to odin or something like that than it's own unique language. there is value in that but it's not typescript or what kotlin is to java. it's too different from c to be that but also too similar at the same time to be widely adopted.
It seems that the only current purpose of Rust is just the f**ing blockchain jobs, there is not more jobs about it and this is why I prefer learn more in C++ or C than Rust and Zig
c interop. zig can be used as a tool for compiling c and can use c files/libraries. its safer too. but its still beta not yet 1.0 so things will change a bit for a couple years
6:01 "C is not a viable option to build today's infrastructure software" then he argues that it's in linux and microsoft using it in their kernel. Argues that there are 7.5 mil. c++ devs in the world, 1.5 rust devs, codeninja reported 13.3 million c++ devs in the world. c# and php are about 6 million each. anyway, I wanted to ask this PhD candidate, on his opinion that rust shows 20% more latency in time-critical workloads and more memory usage and how does this fit into something like a kernel, an server, etc? are we rewritting everything in Rust to make them 20% slower and more resource hungry with unsafe{} code just to claim that it's safe, while it isn't?
"I started a new project inspired you, Prime, called Ligma"... hahahaha this man project names with the best of us
8:24
That head nod, he was dying inside.
a secret project
it wasn’t a project, it was something bigger
@@jjpp1993 and plural
The thing that unites rust and zig enjoyers: not having to put up with c++ anymore ;) brings a tear (of joy) to my eye
And why is c++ so bad?
@@PixelThorn ppl don’t really learn how to build their projects.
Also, it has a vast number of implicit features, different syntax, and oh templates, which is basically a 2nd language that you have to learn.
Value semantics are almost nonexistent, since you have to know when the move/copy will be elided.
Rust, similarly, has complex syntax too, but at least it has value semantics and there is no void.
Ppl go for zig, because it’s a language that you almost build yourself, thanks to comptime and stuff.
(I like C++ and CMake, but you gotta know where these tools are underperforming.)
because people have a skill issue@@PixelThorn
Is true - C++ does filter out the script kiddies
You can’t encapsulate an object if you can reach in with a pointer and manipulate it. That’s why I used Java for so long. Now I just don’t care about OPP anymore.
Programmers conference...
A: I don't get XX. B: This is a skill issue.
Announcement: A has left the room.
😂
Came for a cage match and got Hollywood Squares instead 😒
Mostly Zig vs Rust.
23:00 Build & Distribution
32:50 Interfaces
35:50 Tools
39:20 Mojo
44:50 C++
I haven't watched the video but obviously C# is going to win
win for what?
Agree
And C as low-level performant backend
Windows
WINDOWS
DreamBerd wins.
Dreamybull wins
!!!!!
seems like having a producer for such events would be nice, dealing with technical issues distracted Prime from the talk
it is so strange how i can recognize colleges that are just like these 3 gents,
there is the rust believer, there is me who tried it and passed on it,
there is the guy that dives so low level i feel like a junior.
Both Zig and Rust are cool. But this came off mostly as three zig users trying to convince a rust user that they really should be using zig.
TL,DR:
They start complaining about Rust based off of dubious skill issues, then pretend like the Rust user has a skill issue for not using Zig, and finally the Rust user tries to defend Rust in a 1v3 without any prior preparations or expectations of a 'debate'.
They then proceed to pretend like Rust somehow has less capabilities, with somehow the same target audience and use cases as Zig despite their prior admission that Rust isn't a C replacement unlike Zig, and have nostalgia for C libraries that give us 30 years of preventable bugs and cve's.
In essence, a normal WebDev's podcast, nothing short of what you would expect, and no critical industrial experience with best practices or strict code standards.
Thank you TH-cam for not hiding this reply!
@@anonymousalexander6005 i doubt Prime has a skill issue regarding Rust. He had a fallout with some prominent members of the Rust community and now doesn't like it that much. It used to be his favorite language and he made sure to let others know.
@@anonymousalexander6005 didn't mentioned some drama for the guys that works together.
having another Rust enjoyer would be great but it was fair regardless
@@anonymousalexander6005 rust and zig can both be good. zig isn't a shipping language yet, so the comparison is half-moot. but rust has a huge and bought in fan base, bordering on cult-like sometimes, so some extra defense of zig can feel necessary to zig enthusiasts.
but yeah, eventually we all realize that this video content (and most old school blogs) are mostly for entertainment, and for catching keywords you might not otherwise hear. we all have to make up our minds for ourselves, and we're not really actually driving towards any sort of consensus in language war conversations. after all, it's all got to run on arm/x86/GPUs in the end, and the base technology itself isn't THAT complicated. it's all just registers, alu ops, compares, RAM, gotos, SIMD, and synchronization primitives etc in the end. and the microcode/instruction decode/layered caches/branch prediction of course, but our current architectures hardly let us control those directly, nor do our programming languages do much at all to directly support it.
most of us just want a language to have a bag of features on top of a universal set of flow control, and a few bumpers to keep us from doing things too stupidly. it's usually bikeshedding to argue TOO much over the exact shape and width of those bumpers. and as much as I like C, it has too much ambiguity for the non-existent amount of safety it has. almost all of us can probably agree on that. I wouldn't say zig is "just C", if you're insinuating that, then I'd quibble. it has less ambiguity than C. but if you're not saying that, then we probably are mostly on the same page.
too much coffee. sorry for some of the rambling, but not for all of it.
@@anonymousalexander6005 that is not fair, he worked with Rust for years, he clearly has absolutely no issues with the borrow checker, the only thing he ever complained in the past was the macros and how hard they are, and lack of support for async programming. How can it be a skill issue if he was prolific with the language, writing professionally for Netflix , code that processed billions of requests? He doesn't complain about borrow checker more than any other person that uses Rust, sometimes complains about it on a normal basis. I complain about it sometimes, the same way i sometimes complain about nil pointer deref in Golang, the same way i complain about my wife sometimes and i love her still, nothing too serious.
I dont believe you know much about ThePrimeagen, he used to love Rust, and was really good at it.
Prime, always a man of the people, puts the chat up, while talking shit on the chat's opinions 😂... EDIT: CHAT IS GONE
Could have completely removed that whole pre-intro tech wrestling but wanted chat to know this layout doesn’t work with them lol
Bun guy wearing his mascot on his head is so cute 🥰
lol
Watching again!! I want see more opinions of Rust vs Zigs
Please, someone create a cross compiler between Zig and go, we can have Zigo
too close to Zygote
Zig needs to 1.0 first
Zigo is Arabic for the verb shit. As in ordering a group of people to take a shit.
@@abo3zzzamfitting for the code I write😅
Why do you have a word for "ordering a group of people to take shit" ? 😐
@@abo3zzzam
The point is simply. a role of a language is not just limited to what it writes but also how it can be managed. Rust fails at that part, ease of reading a written code is a serious requirement.
Regardless of languages, I'd rather work with Jarred, then the cult guy!
Jarred just answered the questions, provided good feedback, open to the idea of using other languages, e.g. C++. That's exactly the right mindset. Glauber made great points but Pekka seems to not be open to other ideas, which I believe would be very hard to work in his team.
The Bryan Cantrill talks always awesome to watch
I, personally, didn’t like this public execution of a “talk”.
The dynamic here is much like riding the scapegoat and the atmosphere of zig hype didn’t help at all.
Also it seems that the Rust “advocate” came unprepared.
The conversation was very poorly moderated, and host should have had expressed less favouritism, otherwise it simply isn’t fair.
I couldn’t bear it, sorry.
Prime, you can do better.
I think Pekka makes the best point:
yes, while some things in Rust suck, and "may" be better in Zig.
it's not THAT big of a deal.
it would have to be a HUGE deal to switch languages, fire your engineers that dont want to write Zig, find and hire Zig engineers, and re-write your codebase.
like all that, just because Zig does a minor thing better. lol. You can tell Glauber doesnt have to write the code or deal with the engineers.
if you can't spend the time to train your engineers in a new language, then you shouldn't be considering anything but what you're already shipping.
Totally agree 👍
@@blarghblargh the problem is, if you know engineers, a certain number of them will not want to learn a new language. most people choose their job based on the language and tools the job uses. thats what i said. some will quit.
Why would you switch language if you're already using the best one?
@@hagaiak
Zig > Rust, that's the point of all this.
Holy cow, the channel has many of the heavy hitters lately. And I'm all for it.
For the Turso people, it's not a good idea to expose company dynamics in public - EVERY company has that one guy who is very set on their choices
This was just a 3 zig dudes trying to bully the rust non english native speaker for 55 minutes...
yet everyone ends up programming in JS most of the time
@theinsane102 no 😂
It was kinda sad to watch. It was more about their small pipi egos than actual tech talk.
3 zig hypers vs 1 rust enjoyer.
Nobody "enjoys" rust. Look at the toxic community.
@@CommanderRiker0Almost all large enough communities are toxic.
The one of the few large strictly non-toxic community is the Trump supporters.😂
@CommanderRiker0 Almost all large enough communities are toxic.
The one of the few large strictly non-toxic community is the T-candidate supporters.
Rust documentation sucks. It took me 3 hours to recover run and query and query questing yesterday with tikv. Today I am trying to run graphql schemas and I bet it won’t take less time 😂 Any database or lib written in rust has better documentation for integration with other languages than with rust. It like they all chose to poop in they own water and drive a little sip of it over the next 100 days. I love the language but this doc is far from any other language.
@@kobibr9362Skill issue.
you should’ve brought noboilerplate to this
i like rust more because i value the type system. it's worth noting that zig is not an easy language to learn relative to something like javascript for example. the idea that you can just pick it up and immediately be productive is not true. the way people talk about it made me think that it would be like learning go. the main benefit of zig to me is calling c libraries because doing that with rust is very painful.
there doesn't appear to be a healthy relationship between CEO and CTO. Short term relationship on the cards.
At the very least it seems like Pekka is not willing to budge on his defense of Rust. It's almost like he's internalized the point that he's trying to defend rather than being willing to honestly discuss the pros and cons of Rust versus Zig. In particular when they were discussing distribution, he comes close a few times to saying that Zig makes distribution easy but he backs away every time and instead repeats that he thinks distributing with Rust is good enough.
@@jedimoose32 rust is NOT the future i mean its just common sense lol. Zig is literally rewriting the entire stack and rethinking the LLVM while rust has no place there.
@@perc-ai Yeah, I really like Zig but I haven't used Rust very much, so I'm not going to comment on that. I was just trying to say that I found Pekka's responses to be almost too aggressively pro-Rust in a conversation that otherwise had some good pros-vs-cons discussion.
@@jedimoose32 yeah its true Rust is sort of like a cult at this point =/. It's still a great language nonetheless.
We've been working together for 15 years, which is 15 years more than what I ever wanted. I hate him so much.
In zig we rust
Thank you so much from South Africa! 🇿🇦
Still just a fan of using C w/ Zig build tools rather than the syntax
yeah I found using zig for build tools made using C on windows way easier
I chose Zig, but still prefer Lisp.
left-right mirrored prime hits different
When did prime stop saying blazingly ?
Switching from Rust to Zig - it’s like downshifting. Loosing safety guarantees and for what?
for not ready to prodaction tool set. maybe in 2-4 years when zig matures....but Rust then will be in many places. I was reading that Apple promotes Swift over c++, so yet another competitor for zig(if zig is a replacement for c++ and C)
@@PiotrPavel zig came in at the wrong time. if it came a few years earlier it might've had a completely different trajectory. i see it being more of a niche language used for specific tasks. i don't see wide adoption in it's future. a lot of that is a timing thing.
Zig has much better type safety than C and allows you to do unsafe actions with a lot less headache than doing so in Rust. Imo it gives a good amount of safety while not having to fight the compiler on literally everything
It's also a much simpler language than Rust. So it's really for a different group of people than those who like Rust or C++. You get fast compile times, an extremely powerful build toolchain, much better C interop than Rust among other things.
speed:
- faster development
- faster compile time
- faster deployment
Also not everybody wants to do Rust.
As a c++ dev, my attempts at Rust were annoying, hard and I never got very far into the language.
Problem that it raised for me is that EVEN IF i take the time learning it, it will just be the same problem as C++ which is "team skill issues". Not everybody is willing to learn a complex language and deal with all the fancy stuff that comes with it. Zig can be learned on the spot and just do stuff because there is only comptime as magic which limits what can happen.
this may be the first time Prime has decided to use the "flashy new thing" instead of the proven one.
at my company people love Zig but every one also says they would choose Rust over it.
Zig is a cool choice and a good language, but it's not "better" than Rust. Rust may not be "better" than Zig neither...
its just preference, and since Rust is more mature it usually wins out.
don't use zig until it ships unless you want to be a contributor to zig.
they say it themselves.
Thank you so much for this discussion. Helps a lot !
Go and Zig are the only two languages where cross-compiling is just a command, Rust is actually no better than C or C++ in that regard IMO, it's terrible. Especially if you're cross-compiling for a different architecture + OS.
The only problem with go is that shit kind of hits the fan when you have a single CGo dependency, that’s mostly it for your nice cross compilation. Although Zig can (often) help with that as well
Dunno what go is doing (I think that they directly call syscalls?), but zig at least is "just" effectively packaging the platform SDKs, which may or may not have copyright issues? (IANAL).
You can get the same cross-compile setup in Rust without *that* much trouble, it's really just SDK copyright that prevents someone packaging this up.
Rust is getting close to adding raw-dylib, which is basically the ability to write platform SDKs in pure Rust, and the windows crate at least already has support, so you can already cross compile pure Rust to Windows at least on nightly builds.
Surprised prime thinks Rust standard library is hard to read, I very often go to the source to understand stuff, especially coming from C++ where going to the definition is useless. Also, I agree that Rust macros are not the best but they look scarier than they are!
"oopsie i stopped the recording" right at the end is the best outro. go Prime
I dont think pekka actually used zig
Prime had to stand up for us Vimmers !!!!!!!!!
Learning Zig and it’s tough but you pick it up over time.
Imagine that someone once had to discuss whether binary or assembly programming is better
That was super interesting to listen to, I would love to see more of this discussion in the future.
Zig vs Rust❌
Zig & Unsafe Rust✅
CSS has my vote.
By far the best programming language
CSS and Spelunking into mdn docs wins.
As someone who tried to learn rust and is currently learning zig, I must say zig syntax just makes more sense to me, I feel like I understand what the language is doing, where as with rust I felt like I was falling into a pit of despair cuz I was so confused and annoyed. That being said, it feels like there's only beginners resources for learning zig and I don't know how I can go about learning the language in a deeper level or more advanced usage. Rust on the other hand is way more developed and has more of a community to guide people along
I am very much more of a Zig fan over Rust, but the lack of learning resources is indeed currently a huge obstacle for attracting new users. Having used it for ~6 months, I rarely need to look things up anymore, but it is always a struggle when I do, and I remember the pains of trying to find any sort of comprehensive resource, usually just having to "figure it out" with trial and error. They have stated many times that by 1.0 they will have a more fleshed out stdlib with better documentation, but until then (and wider adoption) I assume it will continue to be a struggle.
@@ForeverZer0 zig needs Brian kerning to write the "Zig Programming Language" book
I'm in the opposite corner here when it comes to the syntax. While I agree that the Rust type and lifetime syntax might be a bit to verbose at times, there is a lot more syntax constructs in Zig that I don't like. Having said that, I must confess that I have put off trying to learn Zig just by the looks of it's syntax, so I just might learn to love it if I give it a try... 🤔
@@Munchyydl I just worked through Ziglings and Zig Guide to learn zig so far, I recommend them. And yes 100% I agree even zig has syntax issues in some spots, for example: the built-in operators seem to mix up case formatting, some of them start upper case, some are all lowercase, some are camel, etc. it would just be nice to have them uniform or have the differences explained. Then I don't get why "inline" exists as a keyword when "comptime " exists... inline loops run at compile time, why not just use the comptime keyword only? Then the LSP doesn't pick up on capture groups (|value|) or type unions, so the LSP definitely needs work
@@Munchyydl I was also initially very put off by its syntax which made me delay learning it for nearly a year. Early this year I finally decided to give it an honest try, anyways and the syntax actually grows on you, and your realize that it does make sense (i.e. there is a reason for it). Difficult to explain in detail in a YT comment, but there is some very convenient things that it allows for which are simply satisfying to use once you get the hang of it.
Glauber seems like such a nice guy..
to Pekka, basically "I can fire you".
to Jarred "you said (opposite what he did)"
Jarred to Pekka: "you have skill issue" -- Glauber nods heavily
I mean, he's funny but would make me swimming in cortisol if he was my boss. (that's my skill issue)
turso sucks also
i was thinking the same thing!
i would NOT want that guy being my boss! lol
maybe they're such good friends and thats just how they are though...idk.
deff dont seem like Glauber is a nice or likeable person thought, that sounded like an ACTUAL threat, and Pekka didnt laugh....
@@SnowDaemon I mean, he's probably very smart and one could learn a lot from him, but whoa, with that power dynamic, those "jokes" felt like barbed wire.
I really got the vibe that Pekka is just suffering through him and trying to keep his calm, which he did. (I hear Finnish people can have pretty thick skin but that's just a sterotype and even if true, still...)
@@AloisMahdal agree.
@@AloisMahdal I actually fired him today.
I love the idea of Zig, its practically ideal in theory for my taste, but I dont like the implementation, the syntax also turns me off. That said there was a time when I thought Rust was ugly but after using it a while you come to appreciate it, maybe the same would happen with Zig if I gave it a real chance. I also doubt Zig has the ecosystem to compete with Rust, libraries are a big part of what make a language good.
I'm neither a rust nor a zig dev, but aren't c libs easy enough to use with zig? I know same can be said about many languages, but zig seems to have one of the best integrations
I absolutely agree, the syntax itself could have been done so much better. It just feels bad to write honestly.
@plaintext7288 you can use C libraries as if they were zig libraries.
Zig as a tool to use C is the best of all worlds imho, sorta wish they just stopped there to bring C into modernity
@@lmnts556 which parts? I pretty much love zig syntax but I have no real comparison (i only worked with higher level languages, Python, Bash, nowadays JS, ugh...); wonder what could have been done better.
Can we take a minute to appreciate Prime resisting the urge to immediately yell TOKIO
Jarred looks like bun's logo 🤔
😂
I think The case for Rust was not really well presented. For me it boils down to the power of the time system. People use Haskell for a reason even if it's worst to some other language in every other thing (comparing it to languages of that size and age) but the type system.
Also this thing about writing the macros in the language Itself exist since before I was born in lisps/schemes. And yes they are powerfull... But there is a reason they didn't catch on in the mainstream. The less you metaprogram and the more you use standard concepts of the language the easy is your code to understand, so having it too easy I think in practice is detrimental to code reuse in the long run.
I agree with your point, but i think Zig's case for the metaprogramming with comptime is that it struck a very good balance of being extremely useful without over-complicating or making it difficult to understand.
Zig vs Rust - the final battle for the fate of the galaxy for next 100,000 Terran years
That was such a great conf.
All in on Zig, like where this is headed
I haven't started my CS degree yet, but as a musician I'll give my outside looking in opinion.
Almost everything on TH-cam regarding programming languages is like working in a music store where the inevitable love of music dies and every conversation devolves into talking about gear. Nothing but gear. Gotta change the pickups. What capacitor are you using? I use GraphTeq nuts you're still using acrylic? How about them brass trem blocks? Do you use pure nickel wound strings or Cobalt? I prefer stainless steel jumbo frets. I like these tubes because they breakup dirtier than those tubes. I put greenback speakere in my cab. Gear. Gear. Gear.
Everyone is busy talking gear that they get sucked into obsessing about things that literally don't matter. The professionals don't think about that stuff. Their techs are using Fractals or Kempers backstage anyway.
People who work in music stores understand. When you snap out of it you realize you just gotta make music, man. Just make music. The nuances of gear are a distraction from the love and fun of making music.
That's what I hear with all of these discussions. Programmers talking about gear and not making enough music. So-to-speak.
I can't wait to just find my language and make some music instead of getting into debates about what's better and never having the focus to just settle on my instrument to write with.
For most applications the language choice is not terribly important, but some important applications do require certain properties that only a subset of languages adequately covers. On this regard it is closer to the regular engineering - the choice of tools and materials does indeed matter as you cannot build a safe bridge without proper equipment/materials
@xomiachuna knowing the essentials is fine. Obsessing to the point where all one does is hyper focus on every little inconsequential nuance of every language makes it seem like either no language is good enough or every language is only as good as your knowledge and that there's always something better. Which then makes it seem like modern programmers have a massive issue with jumping from one language to another in search of the perfect language. It also seems incredibly counterproductive to have so many languages competing for a user base.
Awesome perspective. As an Old Guy Programmer who has seen a lot of stuff come and go, I tend to agree. Unfortunately, we have a constant influx of inexperienced folks creating shiny new "gear" to replace the not so great old "gear" but all of it ends up feeling sub-par over time. My personal solution is to stick with C because I still _get stuff done_ no matter who tells me I'm being unproductive, unsafe, irresponsible, etc. I don't want to work with those young whippersnappers anyway 😁
@@Hyperbog as someone who's been programming for a long time, programming languages get pretty easy to pick up after a while. a for loop in one language doesn't look that different from another. there's reason to have competition in the space, because we learn better ways to make tools. but I fully agree that finding The One True Language isn't going to happen, and is a distraction. Pick up languages when it makes sense for your projects. You'll know when it does.
I'm learning Rust right now. I have to agree, interacting with libc stuff is painful. Like, I wrote a TUI minesweeper game... Half of my time was spent trying to figure out how to flush stdin. The other half was spent actually writing code.
std::io::stdout().flush() didn't work/was hard to find?
Sorry, saw you said stdin. That's more complicated, yeah, especially since it's pretty os sensitive.
@@Tom-dd3vlthat's not really true, there's environmental buffers like readline you may need to talk to get character based input at a terminal.
Atm cpp is the go until zig improve to the final release! Zig needs more support by community! Hopefully they prevent big tech companies to sneak in! Rust is cumbersom except the tooling, which is rly great!
It took me two minutes to realize that it was Jarred
Yes, Walther P99 for the win!
Market share of both combined ... probably 3%
Haha fat chance
Ada ftw
How could you do a performance related conference and not include Casey?
Casey really doesnt do Rust or Zig
what's the name or link of the zig discord?
Ever since the C++ committee voted against breaking the ABI in order to increase performance the reason for using C++ in new software where Rust is available simply doesn’t exists.
C++ is not memory safe and no longer the fastest option, it is simply a complex legacy language.
Zig is cool and the cross compiler is awesome, but I think its niece is quite small since it tends to get squeezed between Go and Rust.
Fortran was always the fastest option
really anticipate this conversation and the conference, however, the echo is annoying!
I don't get these topics tbh. Zig tries to be a better C, Rust tries to be a funamentally save C++, they can coexist being a good at their own thing lol
They are fundamentally different approaches to the same problem
Rust is like “my child isn’t allowed out of the house without wearing a mask, and must be under supervision at all times”
Zig is like “get outside and play in the dirt, make sure you are home before it gets dark”
@@steveoc64 sort of. but zig's parents taught their teens how to use condoms, proper traffic safety, situational awareness, and had some talks about safe drugs/alcohol experimentation, safety at parties, and gave them some confidence against peer pressure, whereas C programmers said "you'll figure it out. want a hit off my vape? watch out, it's high THC. nerd".
@@blarghblarghthats not what a responsible parent does
@@steveoc64 and Rust child becomes and engineer, and Zig child becomes a crack head.
No one's talking to accountability
Algorithm interactions are nice. I think I am okay with learning Smaug using the discipline I used to learn Go. I’m not sure I find it as fun with it looking more like c++ than like c#
I like ctfe(comptime) and the introspection I use it in D a lot
Sorry, rookie question. I’m guessing “comp time vs generics” is not referring to compile time vs generics in this discussion?
It is exactly that. Zig implements generics as compile time functions that return a type
That covers both generics and macros, without needing to introduce a new meta-language or pre-processor
D is a nice alternative that can be used for both low-level code (C, Zig area) and high-level code (C#, Rust, Go area)
c# es numero uno, zig is a far low #2 and rust has a solid footing at dead last
C3 language also looks good.
Still need to find time to play with it but I like what I read...
Hearing the CEO of a database company not understand why python was chosen as the analytics/ML language of choice is hilarious. Here's a question.... why write SQL when you can just query the data with rust/zig....? Python is a language to USE tooling not build tooling. Most major python packages use c/c++ or rust under the hood to get only slightly worse performance but at a benefit of writing simpler, faster to write and faster to iterate code.
people who build databases don't tend to be the people crunching data to put in databases. they usually try to be agnostic of that level. they're focused on their own performance, and the interface they expose to their own software. unless you're a giant provider like oracle or something, in which case you're trying desperately to integrate farther into customer's solution stack.
but yeah, historically python has been seen as a very low performance language. many people (probably wrongly) assume it's inherent at all levels of the langauge, even at an abstract level, and not an aspect of the specific implementation(s), or more subtle choices in the mainstream variant of the language. if the person hasn't been implementing python-like languages themselves, or doing high perf optimization work directly on a python codebase, there's probably not a ton of reason to question that part of the language's reputation. mojo is probably going to be a little bit of a shock to a lot of systems-level programmers.
JDSL ftw. Tom is a genius
Talk about that setup pls, two obs???? 😮
yeah it wouldn't be polite to keep bringing it up but "i think we can all agree" that was the most interesting topic of the video
(i mean zig vs rust would have been interesting, just this particular talk didn't work very well tbh)
This seems like a nothingburger tbh.
i got bored pretty fast, only thing i remember is Glauber being kinda jerk to Pekka
their chemistry was like they started a massive fight just 5 minutes before the talk, and it seems that the best Prime could do was to put their thumbnails in a different corner so that they don't bite each other.
i mean interesting but this ain't a reality show
This feels so weird... lmao
I had no fun with either of them. Both languages are extremely opinionated, in a way that feels like programming with shackles. If you agree with their opinions, those shackles may even feel comfortable, but I've been born previously by buying into excellent meta ideas that ended up being hurtful in the long run, and not really worth the compromises (compromises that are always *very* hard to see in advance).
Fighting compilers is a feature.
rust is bad because it has drm in the "safety" stuffz if zig has that "safety" stuff, it is also bad if not then maybe it's alright. Elther way oldschool C doesn't have that so it wins by default.
I use Rust every single day.
I have used Zig, and prefer Rust.
I *wish* Rust had comptime.
Maybe create some change request for Rust? and comptime,, some error handling, in Unsafe mode add more manual memory allocation itp,
I want ZIG++ with operator overloading and other fun stuff from C++.
Otherwise I prefer ZIG to Rust totally!
you monster
@@Solid_Fuel hey. I do embedded. Smart pointers aren't needed. People complain about Cpp11 but you don't have to use all those funky features. Just operator overloading, inheritance, templates and other QOL things.
If you write C++ like C code with QOL stuff and take care of memory yourself it's really good to use.
Prime is like the DrDisrespect of devs. The loyal version lol
initial few days i watched him thinking doc without glasses doing coding i realized way later that he doesn't play cod he code. and he codes fast...faster .....very very faster that too in vim 😮
they look similar, prime does memes, and they both stream. the comparisons mostly stop there
@@blarghblargh Yeah haha
C is Rust's daddy.
Rust is that son that went to college and came back a little off.
C is the daddy of all languages tbf
@@CatFace8885 ALGOL
@@SirSomnolent with a mutilated genital...
That shows in the kind of programmers who use it too@@SirSomnolent
The involvement some of these guys are displaying for "their language". 😅
Let's go python
Is CSS better than SQL?
well you can't center a div with SQL can you.
i don't get the zig hype. there's nothing groundbreaking about it. it's just another language. more similar to odin or something like that than it's own unique language. there is value in that but it's not typescript or what kotlin is to java. it's too different from c to be that but also too similar at the same time to be widely adopted.
It seems that the only current purpose of Rust is just the f**ing blockchain jobs, there is not more jobs about it and this is why I prefer learn more in C++ or C than Rust and Zig
When tech guys act politically and play nice, it is awkward and awful. I have to filter out so many fillers.
The audio volume consistency is awful.
Nothing like watching 4 talking heads freeze trying to do 60fps... sigh.
What up my Ziggy
I still wonder what's so great about Zig and why would I use it? Rust and Mojo (and Python) are the future...
c interop. zig can be used as a tool for compiling c and can use c files/libraries. its safer too. but its still beta not yet 1.0 so things will change a bit for a couple years
Gradual transformation of existing C projects instead of rewriting everything from scratch. Both approaches are valid for different reasons.
Ada is the real deal.
6:01 "C is not a viable option to build today's infrastructure software" then he argues that it's in linux and microsoft using it in their kernel.
Argues that there are 7.5 mil. c++ devs in the world, 1.5 rust devs, codeninja reported 13.3 million c++ devs in the world.
c# and php are about 6 million each.
anyway, I wanted to ask this PhD candidate, on his opinion that rust shows 20% more latency in time-critical workloads and more memory usage and how does this fit into something like a kernel, an server, etc?
are we rewritting everything in Rust to make them 20% slower and more resource hungry with unsafe{} code just to claim that it's safe, while it isn't?
English will be the programming language you will all end up using soon.
when prime talks there is this echo or something and its distracting as fuck
edit: looks like its not just prime
That's the sound of someone's audio on the call looping back into their mic. Unfortunately not something fixable on Prime's end
*Well, don't worry, you don't have to be amazing.* _Rust_ 🦀
zig vs rust? so fun :D