I've been a dev for years. For some reason the fact that the square root of any value can be represented in half the bit space was a revelation for me disgusts me. It's so obvious, but I must have missed it in all my years of bit twiddling and optimisations. I claim this viewing as a success!
Thanks for the talk! Great video! 15:15 That is not correct. This would work in C. At least if the array is not in global space. But you would have (accidentally) created a Variable Length Array.
wait... so quite a few people at the meetup don't really even write much Zig at all? I'm very confused. It's not like you need to attend anything to find out more about the thing
just as an example, i find zig super interesting and am highly interested in content like this, however i have yet to use it myself. i'm currently focused on language development myself, and the design is very well informed. i'm fluent in like at least dozen programming languages. after a while it's kind of all the same. whenever i do sit down to use zig i won't consider it some sort of big transition point, so it's beyond silly to draw this line of like "u can't possibly care if u haven't written 100kloc"
@@oldpersonalaccount First and foremost, take V off, that language is a total meme. If you're not aware of the history of it, it was basically sold on a lie by a kid with no experience. The community that sprung up around that has tried to make the best of it, but it's still a complete joke. You can find more information about the technical issues fairly easily, I'd recommend looking at their github issues for one. Particularly the ones that have been closed but not fixed. C3 is a meme, made by a bigot who doesn't even understand programming. Don't even get me started, saying it's a joke makes V look bad. Crystal and Nim, yeah, I don't really see those as viable either. Nim gives you a lot of control, but it's sort of the same problem as D language where if you do want that control you have to practically use a different language within it, with its own std lib, and incompatibility with everything anyone else has made. Haxe is in the same boat as these, being too high level. It's more of a C# replacement, imo. Odin is awesome, but it's a very niche community. Jai will be great assuming jblow doesnt croak before releasing it sometime this decade, hopefully. Of everything you listed, the only one actually coherently trying to do the job of being "C for the modern world" in my opinion is Zig. The issues you will have with Zig is that its STILL very unstable, its extremely difficult to find information about things online because stuff from 6 months ago is completely wrong now. The compiler is VERY machine-oriented, good luck with the error messages. And the community is small, elitist, and the creator has actively endorsed the elitism. Rust is a great upgrade from C, i'd recommend giving that another look. The lifetime system is gonna be annoying at first, but in dealing with that annoyance consistently, the (incredible, welcoming) community has built some of the most wonderful, user friendly, and robust ecosystems of open source libraries out there. It's truly a dream to work in once you get past the hangups, because unlike most imperative languages, there is a right way to do things. If you really don't like dealing with the lifetime system, Carbon is semantically just Rust without the borrow checker, so it's worth a look as well, though I don't know much about it myself. Other than that you've got D, which I've already disparaged for this purpose...C++, dear god no, and like...a host of hobbyist-level or adjacent projects like Odin. I highly recommend fighting through the pain of either Rust, or as a secondary option Zig, and remember as you're suffering that all of these options are terrible in their own unique ways.
@@oldpersonalaccount "V always looked too good to be true, I never understood how it worked internally" oh thats easy, it doesnt :P yeah i forgot about the go inspired error handling but now that you mention it yea, another non-answer treated as a design pattern lol ugh speaking of errors btw i didnt even really get into how bad the errors in zig are by mentioning that its more machine-oriented. this is something i've only experienced the true eldritch horror of since i sat down with it for a while, but the compile time computations can generate new types, and it doesnt display them well. that combined with everyone going totally fucking gonzo on metaprogramming means you're constantly getting lazy ass user defined errors that are basically just a name and what would be a type if it hadnt been mangled by 50 type level functions. still better at doing c style tasks than c is though. about rust lol after all the trauma ive been thru in languages like c++ i couldnt give a shit less about syntax but i do remember what it was like to care and i encourage you to use that energy for something good. the world needs more languages that are actually fucking designed instead of clones of existing shit farted out in 6 days carp is so cool. as long as we're throwing out awesome niche shit no one uses though go check out koka. algebraic effects feel like the future rust took one quarter of a step toward. i love the way theyve blended fp and imperative aside from the heavy reliance on reference counting and total lack of follow through
that camera placement, lighting, rule of thirds... is very cinematic :)
For some reason I was expecting some Stormtroopers to pass by
I've been a dev for years. For some reason the fact that the square root of any value can be represented in half the bit space was a revelation for me disgusts me. It's so obvious, but I must have missed it in all my years of bit twiddling and optimisations. I claim this viewing as a success!
Thanks for the talk! Great video!
15:15 That is not correct.
This would work in C. At least if the array is not in global space.
But you would have (accidentally) created a Variable Length Array.
Good talk!
Zig has Adams family vibes.
wait... so quite a few people at the meetup don't really even write much Zig at all?
I'm very confused. It's not like you need to attend anything to find out more about the thing
....? Are u saying they shouldn't have gone? lol people can't have interests outside of their immediate work?
just as an example, i find zig super interesting and am highly interested in content like this, however i have yet to use it myself. i'm currently focused on language development myself, and the design is very well informed. i'm fluent in like at least dozen programming languages. after a while it's kind of all the same. whenever i do sit down to use zig i won't consider it some sort of big transition point, so it's beyond silly to draw this line of like "u can't possibly care if u haven't written 100kloc"
@@oldpersonalaccount First and foremost, take V off, that language is a total meme. If you're not aware of the history of it, it was basically sold on a lie by a kid with no experience. The community that sprung up around that has tried to make the best of it, but it's still a complete joke. You can find more information about the technical issues fairly easily, I'd recommend looking at their github issues for one. Particularly the ones that have been closed but not fixed.
C3 is a meme, made by a bigot who doesn't even understand programming. Don't even get me started, saying it's a joke makes V look bad.
Crystal and Nim, yeah, I don't really see those as viable either. Nim gives you a lot of control, but it's sort of the same problem as D language where if you do want that control you have to practically use a different language within it, with its own std lib, and incompatibility with everything anyone else has made. Haxe is in the same boat as these, being too high level. It's more of a C# replacement, imo.
Odin is awesome, but it's a very niche community.
Jai will be great assuming jblow doesnt croak before releasing it sometime this decade, hopefully.
Of everything you listed, the only one actually coherently trying to do the job of being "C for the modern world" in my opinion is Zig. The issues you will have with Zig is that its STILL very unstable, its extremely difficult to find information about things online because stuff from 6 months ago is completely wrong now. The compiler is VERY machine-oriented, good luck with the error messages. And the community is small, elitist, and the creator has actively endorsed the elitism.
Rust is a great upgrade from C, i'd recommend giving that another look. The lifetime system is gonna be annoying at first, but in dealing with that annoyance consistently, the (incredible, welcoming) community has built some of the most wonderful, user friendly, and robust ecosystems of open source libraries out there. It's truly a dream to work in once you get past the hangups, because unlike most imperative languages, there is a right way to do things. If you really don't like dealing with the lifetime system, Carbon is semantically just Rust without the borrow checker, so it's worth a look as well, though I don't know much about it myself.
Other than that you've got D, which I've already disparaged for this purpose...C++, dear god no, and like...a host of hobbyist-level or adjacent projects like Odin. I highly recommend fighting through the pain of either Rust, or as a secondary option Zig, and remember as you're suffering that all of these options are terrible in their own unique ways.
@@oldpersonalaccount "V always looked too good to be true, I never understood how it worked internally"
oh thats easy, it doesnt :P
yeah i forgot about the go inspired error handling but now that you mention it yea, another non-answer treated as a design pattern lol ugh
speaking of errors btw i didnt even really get into how bad the errors in zig are by mentioning that its more machine-oriented. this is something i've only experienced the true eldritch horror of since i sat down with it for a while, but the compile time computations can generate new types, and it doesnt display them well. that combined with everyone going totally fucking gonzo on metaprogramming means you're constantly getting lazy ass user defined errors that are basically just a name and what would be a type if it hadnt been mangled by 50 type level functions. still better at doing c style tasks than c is though.
about rust lol after all the trauma ive been thru in languages like c++ i couldnt give a shit less about syntax but i do remember what it was like to care and i encourage you to use that energy for something good. the world needs more languages that are actually fucking designed instead of clones of existing shit farted out in 6 days
carp is so cool. as long as we're throwing out awesome niche shit no one uses though go check out koka. algebraic effects feel like the future rust took one quarter of a step toward. i love the way theyve blended fp and imperative aside from the heavy reliance on reference counting and total lack of follow through
I never wrote a line but I’m very interested in zig. I would have attended if I could!
Discovering new languages is fun
Zig Stockholm is not the most marketable name, you must admit.
What else do you suggest - Zig Helsinki? 😅
@@zizlog_sound Zig Con U would do really well, I reckon.
I swear I thought they meant Zig Stockholm Syndrome
7:33 that wont be true anymore as Zig filed a divorce from LLVM 😂