@@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.
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 UA-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.
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.
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.
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 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.
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 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.
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!
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.
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.
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.
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.
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...)
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.
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.
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
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.
I haven't started my CS degree yet, but as a musician I'll give my outside looking in opinion. Almost everything on UA-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 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".
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)
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 will always like Zig more. I like Rust, but the community is awful. Yes, a community can push you away. I always understand a few bad apples. But my god, Rust makes C++ zealots look like peaceful monks.
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
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.
@@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.
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#
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 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.
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.
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 😮
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
pekka in red is a 7x engineer lol primagen is like 15x engineer jacob is like 100x engineer and the bald dude is like 10x... thsese are very smart people much smarter than the avg engineer. Chris Lattner that was mentioned is a 500x engineer that is creating Mojo now
Laughs in Superior C. In C++11, there is a "magic statics" for local static variables. So local static variable initialization is thread-safe. The more you learn about C++, the worse it becomes
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
"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
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++
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.
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
Bun guy wearing his mascot on his head is so cute 🥰
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 UA-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.
seems like having a producer for such events would be nice, dealing with technical issues distracted Prime from the talk
DreamBerd wins.
Dreamybull wins
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.
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.
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
Holy cow, the channel has many of the heavy hitters lately. And I'm all for it.
When did prime stop saying blazingly ?
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.
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.
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
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
Watching again!! I want see more opinions of Rust vs Zigs
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.
Thank you so much for this discussion. Helps a lot !
The Bryan Cantrill talks always awesome to watch
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.
what's the name or link of the zig discord?
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!
Thank you so much from South Africa! 🇿🇦
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.
left-right mirrored prime hits different
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
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.
you should’ve brought noboilerplate to this
In zig we rust
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.
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.
Zig vs Rust❌
Zig & Unsafe Rust✅
"oopsie i stopped the recording" right at the end is the best outro. go Prime
Imagine that someone once had to discuss whether binary or assembly programming is better
Can we take a minute to appreciate Prime resisting the urge to immediately yell TOKIO
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.
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.
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.
I dont think pekka actually used zig
Learning Zig and it’s tough but you pick it up over time.
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.
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
That was super interesting to listen to, I would love to see more of this discussion in the future.
Zig vs Rust - the final battle for the fate of the galaxy for next 100,000 Terran years
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.
That was such a great conf.
How could you do a performance related conference and not include Casey?
Casey really doesnt do Rust or Zig
I haven't started my CS degree yet, but as a musician I'll give my outside looking in opinion.
Almost everything on UA-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 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.
Jarred looks like bun's logo 🤔
😂
All in on Zig, like where this is headed
Prime had to stand up for us Vimmers !!!!!!!!!
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)
It took me two minutes to realize that it was Jarred
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.
Fortran was always the fastest option
I will always like Zig more. I like Rust, but the community is awful. Yes, a community can push you away. I always understand a few bad apples. But my god, Rust makes C++ zealots look like peaceful monks.
yeah the crab people are like that...frustaceans.
I finally used Zed and I can safely say that Rust benefits my life. Though I use it to program Zig :)
Agreed, refuse to use Rust just out of principle. Besides I find C++ much easier.
The Rust folks, at least the online active ones, are unbearable.
The problem with Rust is the people who use it are very smart but not everybody is as smart as them and struggle with it and eventually give up.
Market share of both combined ... probably 3%
Haha fat chance
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
Ada ftw
I like ctfe(comptime) and the introspection I use it in D a lot
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.
Is CSS better than SQL?
well you can't center a div with SQL can you.
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)
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.
Yes, Walther P99 for the win!
really anticipate this conversation and the conference, however, the echo is annoying!
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#
No one's talking to accountability
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?
C3 language also looks good.
Still need to find time to play with it but I like what I read...
The audio volume consistency is awful.
JDSL ftw. Tom is a genius
Fighting compilers is a feature.
c# es numero uno, zig is a far low #2 and rust has a solid footing at dead last
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.
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).
This feels so weird... lmao
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.
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
oopsies i gotta stop the recording
When tech guys act politically and play nice, it is awkward and awful. I have to filter out so many fillers.
I chose Zig, but still prefer Lisp.
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
The involvement some of these guys are displaying for "their language". 😅
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
Dude in red doesn't feel like he knows much
pekka in red is a 7x engineer lol primagen is like 15x engineer jacob is like 100x engineer and the bald dude is like 10x... thsese are very smart people much smarter than the avg engineer. Chris Lattner that was mentioned is a 500x engineer that is creating Mojo now
@@perc-ai whats a 1x ?
@@kobi665a regular engineer
@@kobi665don't ask, it's not worth it. Software engineer inflation is real and by next year a 1x engineer will be considered a 13x engineer.
@@kobi665 your average engineer in any tech company really
what "hidden mutexes" in c++ they are taking about?
Laughs in Superior C.
In C++11, there is a "magic statics" for local static variables. So local static variable initialization is thread-safe.
The more you learn about C++, the worse it becomes
@@adama7752 ...and everyone writes with their own flavour of C++ features
@@adama7752 doubt they mentioned this multiple times because of static thread local variables
Nothing like watching 4 talking heads freeze trying to do 60fps... sigh.
Ada is the real deal.
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.
English will be the programming language you will all end up using soon.
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,
zig vs rust? so fun :D
*Well, don't worry, you don't have to be amazing.* _Rust_ 🦀