Тёмный

Zig in 100 Seconds 

Fireship
Подписаться 3,3 млн
Просмотров 623 тыс.
50% 1

Опубликовано:

 

27 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 978   
@Aphova
@Aphova Год назад
You should do a "Fireship 100 seconds video in 100 seconds" to explain what goes into you making these - for example, how much time do you spend with the language, researching, doing graphics, etc.
@ZeroInDaHouse
@ZeroInDaHouse Год назад
EXACTLY, its insane to see how much (deep) knowledge he has about all the topics he presents. I'm out here struggling with a single language my man is playing god on github.
@frittex
@frittex Год назад
I'm almost 100% sure that he made a video on how does he make the videos on his second channel
@tatsuuuuuu
@tatsuuuuuu Год назад
that video exists WTF : ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N6-Q2dgodLs.html
@ikechukwucharles2314
@ikechukwucharles2314 Год назад
@@frittex yeah he has
@Anonymous4045
@Anonymous4045 Год назад
There's a parody one with an AI voice, Fireship even commented on it ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-cYoY_WbqNSw.html
@UliTroyo
@UliTroyo Год назад
Zig is awesome, but be aware it’s pre-1.0. Async and even a package manager are still in the works (well, re-implementation in case of async). But yeah, the language is small, and it really does integrate with C better than anything else, so it’s incredibly powerful. Oh, and it natively compiles to wasm, with the Zig compiler, so no more wasm tooling. It’s the bee’s knees.
@ko-Daegu
@ko-Daegu Год назад
1:05 the thing which was the most attractive about Zig + Uber literely uses Zig tooling not even the lang for this reason why? just why ?
@IannoOfAlgodoo
@IannoOfAlgodoo Год назад
Yeah I remember ZIG being advertised by some creators as a "Language to compile to WASM"
@koool56
@koool56 Год назад
@@ko-Daegupeople misunderstand that thread, it's about removing it from default zig package, you can still get it as dependency
@lucrativelepton
@lucrativelepton Год назад
What do people like to compile to wasm? Haven't figured out what the hype is about.
@daviddomkar
@daviddomkar Год назад
@@lucrativelepton Lots of reasons, but try looking up wasmer
@francescoscassillo2644
@francescoscassillo2644 Год назад
Yesterday I was looking to see if you ever did a "Zig in 100 Seconds," and today it comes out. Amazing!
@xxx_mouiz_xxx___7969
@xxx_mouiz_xxx___7969 Год назад
can you search giveaway
@cat47
@cat47 Год назад
yeah same
@LuisSierra42
@LuisSierra42 Год назад
coincidence? i think not
@SlobodanDan
@SlobodanDan Год назад
Me 2. Actually was looking for it earlier today, and just noticed - huh, zig in 100 seconds, uploaded 48 seconds ago. Thought, damn, that was fast :D
@SlobodanDan
@SlobodanDan Год назад
Now that I think of it, it's probably his AI clone generating content as gets searched for. Yep. Yep. That's it.
@emptydata-xf7ps
@emptydata-xf7ps Год назад
Another neat thing with the allocator features is since you have to pass the allocator you can use the std library on bare metal. No need to implement arrays and hashmaps into your own code.
@ko-Daegu
@ko-Daegu Год назад
1:05 the thing which was the most attractive about Zig + Uber literely uses Zig tooling not even the lang for this reason why? just why ?
@the-digital-idiot
@the-digital-idiot Год назад
@@ko-Daegu Are you a broken record? You've said this on like 3 different comments.
@emptydata-xf7ps
@emptydata-xf7ps Год назад
@@ko-Daegu are you asking why Uber uses it that way or why zig built that into the language? If the former, I don’t know maybe the way their structure is set up it benefited them. As for the latter there’s plenty of talks and articles on this, you just have to have the willingness to learn.
@astleferna9524
@astleferna9524 Год назад
What's a bare metal?
@emptydata-xf7ps
@emptydata-xf7ps Год назад
@@astleferna9524 it’s 2023, google it.
@grobanna
@grobanna Год назад
Another programming language I can add to my resume because I completed 32% of a Udemy tutorial series about it. Perfect.
@jwstolk
@jwstolk Год назад
You really need to add the Rockstar language to your resume, so you can be a Rockstar programmer. ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-gdSlcxxYAA8.html
@Rundik
@Rundik Год назад
Yeah, why watch free tutorials on youtube when you can pay for them, right?
@moswanedev
@moswanedev Год назад
@@Rundik For the certificate sir
@Zenndragon
@Zenndragon Год назад
that's mamba mentality 💪
@devopsjockey
@devopsjockey Год назад
Can you share the udemy ling
@brianevans4
@brianevans4 Год назад
Thanks to bun for popularizing zig! All it takes is a really good open source project to get some attention on a language
@jarredsumner5983
@jarredsumner5983 Год назад
@MarvinPowell1
@MarvinPowell1 Год назад
We need more bun control.
@Voshchronos
@Voshchronos Год назад
right? I only heard about it because of Bun!
@joschomo1010
@joschomo1010 5 дней назад
What is bun
@mycollegeshirt
@mycollegeshirt Год назад
Honestly I think what's the coolest about zig is the explicit control over pointers. One of the inconsistencies with c is that when you pass a int or float to a function it makes a copy. But if you want to pass an array you are just passing a pointer. In zig it's explicit if you pass an array [8]u8 that works the same as passing an int or a float you pass a copy of all 8 u8s. Same with custom types. And if you want to pass a pointer you can. This makes working with pointers most of the time effortless. Because your not pointlessly allocating something on to the heap just to keep reference to it. It helps keep things neat on the stack and in control
@nicholas_obert
@nicholas_obert Год назад
As a C and Rust developer, I appreciate the fact that Zig is stupid simple, yet powerful. It seems the perfect alternative to C for applications that don't require extensive memory safety.
@jwstolk
@jwstolk Год назад
In Zig, most of the memory safety is optional, for example, it does compile-time bounds checking, but you can compile with or without run-time bounds checking. I think you can also switch memory allocators to a slower implementation that does additional run-time checking, and switch back to the default allocator for production. The string functions in the Zig library are also designed to not have the common issues of the ones in the C library (not saying the Zig standard library is perfect yet, but they have a goal)
@lmnts556
@lmnts556 4 месяца назад
To me it feels way more verbose than C, it almost looks like java to me or am I wrong?
@etodemerzel2627
@etodemerzel2627 4 месяца назад
@@lmnts556 Yes, you're wrong.
@lmnts556
@lmnts556 4 месяца назад
@@etodemerzel2627 Guess we'll see :) It does not look like I am wrong from what I've seen so far.
@kumarraj197
@kumarraj197 4 месяца назад
​@@etodemerzel2627 y? Zig looks verbose to me
@fennewald5230
@fennewald5230 Год назад
The whole point of comptime is to be used in combination with Zig's best feature: types are a first-class type. The `std.ArrayList` example code is _a comptime function_ that returns what is the equivalent of a template instantiation.
@2004seraph
@2004seraph 9 месяцев назад
Wow so it's like templates from C++ but literally as scripts in and of themselves?
@michaelscofield4524
@michaelscofield4524 9 месяцев назад
​@@2004seraph Yeah! But not really scripts, just more Zig code, you can just look them up in the standard library (contrary to C++ where the standard library is a nightmare) and it's Zig all the way down.
@magne6049
@magne6049 Год назад
1:06 Clarification: Zig can still cross compile with LLVM, the issue was just about not including those libraries by default in the Zig package, but you could still choose to depend on them if you want.
@hotwheelsdeepstate
@hotwheelsdeepstate Год назад
Having built in testing is something i would definitely like to see in other languages
@MaazAhmed
@MaazAhmed Год назад
Rust has it too
@TheQxY
@TheQxY Год назад
And Go.
@wolfkidex
@wolfkidex Год назад
Elixir and erlang have it
@dkwdvnte
@dkwdvnte Год назад
Crystal has it on a much deeper level
@unknownguywholovespizza
@unknownguywholovespizza Год назад
Bruh, you're so old
@knineromhak
@knineromhak Год назад
I really hope this lang takes over C in newer projects, extremely promising. :)
@jwstolk
@jwstolk Год назад
Zig could compile whole projects that consist only of C files (taking advantage of the Zig build features) and then you could also add Zig code to existing projects.
@phat80
@phat80 Год назад
give it 10-20 years, changes don’t happen so fast in IT world
@josetobias8084
@josetobias8084 Год назад
As with everything in this "C-meta-world", Zig will replace very small parts of it first, using the LLVM to compile into a bigger environment... then, when new bigger open-source low-level projects come out, some open-minded person, followed by other open-minded teams, might see the advantages of Zig over C (which, honestly for me, are clear on certain scenarios), and chose it. As we all know, everything in the IT world comes down to "what's the best tool to deal with this problem?" and "do we have the expertise needed with this tool to really deal with this problem?" - when it's a "yes/yes", here we go. I really don't know why I expressed my whole thought here, but I'm in the same boat as you: Zig has pretty much everything I've ever wanted on a low-level programming language (just as C for the C creators and enthusiasts back in the day), I'm really endorsing it by using it on personal projects, taking it to the company I work at, taking it to my own company, and teaching it to people around me, and I hope to see it grown in the future (: [also I really dig the name, since my nickname is Zeca, lol]
@jessejayphotography
@jessejayphotography Год назад
Probably the only C replacement language that actually looks great.
@chri-k
@chri-k Год назад
notably it is also the only one not trying to “fix” C
@YellowPenis
@YellowPenis Год назад
Odin is also pretty great @@chri-k Factually incorrect
@YourMom-rg5jk
@YourMom-rg5jk Год назад
I've started to prefer C over rust because of how insanely nested rust can get. Maybe I'll give Zig a try
@aaronspeedy7780
@aaronspeedy7780 Год назад
Odin is also really good!
@DJstarrfish
@DJstarrfish 7 месяцев назад
Idk, Go works for a very specific set of web-facing applications that would otherwise be C. I appreciate, at least, that Rob Pike tried to make it into something that "fit in one person's head," something designed-by-committee "systems" langs like C++, Ada, Rust, etc. could not be bothered to try. But yeah, Zig is the best "better C" so far.
@AceofSpades5757
@AceofSpades5757 Год назад
The more I see Zig, the more I like it. Looks great!
@ForeverZer0
@ForeverZer0 Год назад
Zig is the first language that I have seen in decades that has hope for being a true successor to C, both technically and in spirit. C is and has been my most beloved language to use, but Zig is looking to be sooooo good. It really does seem to have pulled off being C without the legacy crud and hidden gotchas. My biggest fear for it, and have seen with other projects, is that the developers won't know when to stop adding features (yes, this is a direct insult to C++ and ready to be towards Rust). Go has its own purpose and priorities, but this is one area that they have pulled off perfectly: anyone with programming experience can learn the language enough to be halfway-competent with it in an afternoon. Once the addition of async is complete and part of the the stable language spec, I hope development slows down on feature additions, and goes the route of "quality over quantity".
@jwstolk
@jwstolk Год назад
I agree, I think part of the success is the developer(s) laser-focus on deleting anything that is not strictly required, and instead improve the existing features to make the new feature unnecessary. Most features of other language can be replaced with the Zig "comptime" feature, and for example the ability to use types as a parameter.
@alvarohigino
@alvarohigino Год назад
Even modern C is bloated with features.
@ForeverZer0
@ForeverZer0 Год назад
@@alvarohigino I don't know, I personally cannot name any remotely popular language that has grown near as slow. C17 didn't add any language features. C11 was pretty much just threads. After that we have to go back to C99, which was probably the biggest change in recent history, with revolutionary concepts like stdint.h, booleans, and inline comments. If memory serves it also added variodic/inline functions at that point, which is a rather large change for a language like C, though would only bump a minor revision in any other. Before that was the Lord's version: Holy C89, so that is over 3 decades where I can list 90% of the of "bloat" in a brief YT comment from memory. Tooling has increased by leaps and bounds, but that isn't the language, so not really a fair metric.
@Voshchronos
@Voshchronos Год назад
@@ForeverZer0 maybe they meant every modern _C-inspired_ language? idk. grasping at straws here, as his comment made absolutely no sense lmao
@RustIsWinning
@RustIsWinning Месяц назад
So much yapping but Rust is still winning. Get over it zigga.
@b4ux1t3-tech
@b4ux1t3-tech Год назад
Zig is really cool. Rust does not try to be a C replacement. Instead, it offers a wholly new way of doing things from the ground up with focuses on memory safety in application code. Zig offers you an actual, drop-in replacement for C that offers better _tools_ for safety than C, without zealously enforcing this safety on you the way Rust does. I use Rust for all of my new personal projects, and have even started some greenfield projects at work in it. I view Rust as the ultimate .language for writing safe, reliable _applications_. Zig is what I would use today if I wanted to build my own kernel module.
@michrisoft
@michrisoft Год назад
Thanks for this. While watching the video, I was kind of sitting here wondering why anyone would use this over rust, but that makes sense.
@kianureeves2519
@kianureeves2519 Год назад
Would you recommend learning both then?
@b4ux1t3-tech
@b4ux1t3-tech Год назад
@@kianureeves2519 that's a simple question with a complicated answer. Put simply: yes. And python, and C#, and Go, and Haskell and Nim and and and... Less simply: learn to program, don't learn a language. You can choose a language you're comfortable, build some software with it, and that will teach you how to program. Once you know "how to program", "learning" new languages is as simple as reading their "getting started" docs and then referencing specific things you don't know or understand. I haven't "learned" zig, but I can write some non-trivial programs in it despite that. :D
@Bobbias
@Bobbias Год назад
Rust isn't meant to be a C replacement. It's meant to be a C++ replacement. Big difference. Rust is far more complicated than languages like Zig, C, or Odin (another C replacement language), just like how C++ is far more complicated than C.
@AlecThilenius
@AlecThilenius Год назад
Awesome comparison. It makes me wonder how long Zig will live though. Rust is very quickly moving into every software space, I even use it on bare-metal no_std now with Embassy, and it's a dream to work with. As more and more C APIs are wrapped in Rust bindings the use case for Zig diminishes. Though it won't disappear completely any time soon because C will likely outlive the heat-death of the universe.
@zytr0x108
@zytr0x108 Год назад
Can you do Odin next? Like Zig it‘s trying to be a C successor, but it’s quite different
@ciach0_
@ciach0_ Год назад
wow, this looks so much like go
@pes18fan
@pes18fan Год назад
odin is amazing
@obinator9065
@obinator9065 Год назад
hahahahahahahahahaha sure clown
@sumofat4994
@sumofat4994 Год назад
Yes Odin please
@叵
@叵 Год назад
@foji-video
@foji-video Год назад
I was waiting for it
@GoodSmile3
@GoodSmile3 Год назад
Now we need Zag in 100 seconds
@IlhomjonKurbanov-gw8im
@IlhomjonKurbanov-gw8im 2 месяца назад
@saultube44
@saultube44 Год назад
This is the way tutorials should go, directly to the point, give all the info and repeat 🔁 with all points until finish, boom 🤯 over, lesson learned
@moizahmed8987
@moizahmed8987 Год назад
Can we make a list of all "next-gen alternatives to C"
@godnyx117
@godnyx117 Год назад
HAHAHAHAHAHA! I laughed when he said that! So many languages that promise to be the "next C" but yet, people still use C for now projects!
@atkascha
@atkascha Год назад
​@@godnyx117 the hard part is the quasi-"natural monopoly" that C has. There are a million libraries, projects, examples, and an ecosystem already out there... not to mention a plethora of teaching materials, books, and online courses. If something is worthwhile, it gains traction and will take off the way Rust or Go has. Its not guaranteed, but if it finds a niche or can service a specific set of users (I'm really curious how Rust will affect AAA game dev in the coming years), then it'll sustain long term.
@marcoscarvalho660
@marcoscarvalho660 Год назад
Every day a new language is born that will kill c and java.
@guilherme5094
@guilherme5094 Год назад
@@marcoscarvalho660 Java: what is dead cannot die!
@godnyx117
@godnyx117 Год назад
@@atkascha That's part of the problem. I believe (tho of course it's just a theory) that if a language releases that (almost) EVERYONE will like, it will truly take over C. Funny enough, I also develop my own language. I will not market it as a "better C" however. I think this will do more harm than good.
@JamieBainbridge
@JamieBainbridge Год назад
I'm a crusty old C grognard and have avoided Zig but gee this actually looks pretty good. Thanks!
@johanngambolputty5351
@johanngambolputty5351 Год назад
Ooo, the exclamation and the comptime keywords are interesting. I've not tried it yet, but you've also made me remember their neat option syntax, for both type declaration and unwrapping. I wish rust used ! and ? for error and option declaration/unwrapping and found something else for macros.
@standinonstilts
@standinonstilts Год назад
Can't you already use the ? for unwrapping options?
@johanngambolputty5351
@johanngambolputty5351 Год назад
@@standinonstilts I could be wrong, but I don't think so, you can unwrap results while passing the error up on fail, but can still be annoying with different error types (at least I don't know a nice way to quickly union, but there's probably some derive crate). Correction: it does work on options, but it also returns early on the unsuccessful path, I wish there was a shorthand for ordinary unwraps/expects. And also for type definitions, pattern matching on a ?u8 rather than Some(u8) would be nicer.
@standinonstilts
@standinonstilts Год назад
@@johanngambolputty5351 I think let Some() does what you're looking for, although it is a bit more verbose. It would be nice for the ? operator to infer that with options.
@qewer
@qewer Год назад
@@johanngambolputty5351 In rust the ? is for error propagation (the same as Zig's try keyword shown in the video). And the ! is basically either Result or Option. Plus another note, ideally you should never use unwrap() or expect() in a serious program, which is why making shorthands for those doesn't really make sense.
@kingofgamesyamiyami6269
@kingofgamesyamiyami6269 Год назад
​@@johanngambolputty5351the crate you're thinking of is thiserror. But you can use anyhow if you don't need the error type later.
@LKD70
@LKD70 Год назад
I knew there was a lot of talk about Zig, people saying it's nice and all, but DAMN that's nice...
Год назад
Finally, a language which aknowledges that operator overloading is generally terrible.
@mr.vladislav5746
@mr.vladislav5746 Год назад
why is it terrible?
Год назад
@@mr.vladislav5746 operators should not be used for encapsulating business logic. overloading almost always results in hiding functionality that could've been made explicit, and with that, the code more readable.
@mr.vladislav5746
@mr.vladislav5746 Год назад
@ So if I'm making a vector datatype, I can't make the + add two equal-dimension vectors and * be the dot product of them? Whenever anyone wants to do operator overloading it's probably because it makes sense in that scenario? ¯\_(ツ)_/¯
Год назад
@@mr.vladislav5746 that's a valid usecase, because (mostly) everyone knows what the sum of two vectors is supposed to be. Consider two business objects which is foreign to the developer, where the sum is not immediately apparent. People shouldn't look up how symbols supposed to work.
@mr.vladislav5746
@mr.vladislav5746 Год назад
@ Fair enough... I also overlooked your first comment said "generally". I guess we bascially agree then.
@justaway_of_the_samurai
@justaway_of_the_samurai 9 месяцев назад
This seems pretty interesting. I guess with the comptime keyword, you can basically get all the meta-programming benefits that C++ templates provide, but more readable and distinguishable from Generics in other programming languages.
@pigalex
@pigalex Год назад
i like zig’s cc command, literally gcc but you can cross compile easily
@Gkcrafting
@Gkcrafting Год назад
I've been waiting for this in a while! Thank you Fireship for making high-quality content
@David-pz4gy
@David-pz4gy Год назад
Nix would be interesting to see. A functional programming language for a cross platform package manager that creates the EXCACT same environment every time
@UliTroyo
@UliTroyo Год назад
THAT is what Nix is? That’s pretty cool! Thanks for your Nix In 10 Seconds.
@guilhermedasilvavieira5427
@guilhermedasilvavieira5427 Год назад
Just switched to NixOS, would love a Nix in 100 secs
@mangotruth1414
@mangotruth1414 Год назад
I really REALLY wanted to like Nix, but it's really difficult to use + poorly documented. Ian Henry's blog post series "How to Learn Nix" conveys a lot of the frustrations/confusions I had with the tool.
@CatDevz
@CatDevz Год назад
I've been using NixOS for years now and it's fantastic, would definitely love a 100 seconds video.
@edupazz
@edupazz Год назад
"or you can just ignore `try` and make you code more reliable" I love your sense of monotone humor
@localhost69
@localhost69 Год назад
a good 158 second video. watch up to 1:40 to get the 100 second version.
@whiskurrs
@whiskurrs Год назад
I have no idea what he's talking about, I just watch this videos because they make me feel smart
@squid13579
@squid13579 Год назад
After this video respect for ZIG 📈.
@ExpensivePizza
@ExpensivePizza Год назад
This is the most exciting thing to happen in programming languages in years. I'll probably never have a reason to use it.
@bogdan_ov
@bogdan_ov Год назад
I really want to hear about Haxe. A very underrated language
@davidbriggs8109
@davidbriggs8109 Год назад
We need a full zig crash course video :)
@survivalskillspodcast
@survivalskillspodcast Год назад
I don't understand coding but I love watching your videos
@DaguobDagunanLex
@DaguobDagunanLex 5 месяцев назад
Oh, this is the Zig I heard from Low Level Learning. "Zig is one level above Assembly and one level below C."
@pfili9306
@pfili9306 Год назад
The exclamation mark for return type or error is such a neat concept. It boggles my mind how a language like C#, which puts such a strong emphasis on type safety, doesn't even give you type safe control flow. So many versions of the supposedly enterprise grade language and somehow everyone is fine with code that can blow up in your face on every line. Even TypeScript is better at this point because type inference can actually analyze control flow of your code and add undefined to the return type.
@vulpo
@vulpo Год назад
IDK, assigning a String to an array of 8-bit unsigned Integers (as at 1:37) doesn't sound very type-safe to me.
@pfili9306
@pfili9306 Год назад
@@vulpo Well I don’t know Zig but I assume the string is just array of chars underneath, so it’s basically casting more specific type moniker to more generic, which is perfectly safe
@lawrencedoliveiro9104
@lawrencedoliveiro9104 Год назад
C♯ is really just a Java wannabe, and still carries around that 1990s baggage.
@vulpo
@vulpo Год назад
@@pfili9306 I am not familiar with Zig either, so maybe there are aspects of this that I don't understand. However, he defined the field, name, as an array of u8 which, according to his earlier example, is an 8-bit unsigned integer. Although a String can be viewed underneath as an array of 8-bit unsigned integers, so can all of heap, but that isn't necessarily a very type-safe interpretation of it. Type safety is supposed to be about ensuring that something that is one specific type, meant to be used with one specific set of methods and functions, is never mistaken for another type and used with another set of methods and functions that weren't designed for it. For example, if you want to sort something (i.e., a file) by a particular field, you would want to ensure that it sorted according to the type of data that is stored in the field: alphabetically if the field is a String; numerically if it is an integer; chronologically if it is a date. If you sorted a list of files by their last-modified date, but it sorted them numerically instead, it could have dire repercussions. Likewise if you have field that is supposed to be a String, like "name," then you ought not be allowed to assign a date, or an integer to it, or to assign the name to a date, even if they could all be interpreted as arrays of 8-bit unsigned integers underneath. So if you assign a String constant to an array of integers it ought to generate a compiler error. Then again, maybe this would actually have generated a compiler error.
@presentfactory
@presentfactory Год назад
@@vulpo Sure it is, strings are just arrays of integers. In Zig the type of a string literal is *const [_:0]u8 (pointer to a null-terminated array of 8 bit integers encoding the string as UTF-8) which can safely coerce to a slice type like []const u8 like in the video. Zig is very strictly typed and only implicit coercion that are safe like that are allowed, anything else requires an explicit cast.
@ddruganov
@ddruganov Год назад
damn that "#define if while" is evil lmao
@ParthaSarathylink
@ParthaSarathylink Год назад
please do 100 seconds about V language, similar like this one
@GreyDeathVaccine
@GreyDeathVaccine Год назад
V? Wasn't it a scam? The author stated "facts" that no one wanted to believe
@sofiaknyazeva
@sofiaknyazeva Год назад
​@@GreyDeathVaccine Yeah, I've seen that too. Although "scam" would be a really ugly word to fit here. I recall once the Ocaml author created an issue in the V repository and the creator of the V lang's response was quite hilarious. The language promises way too much more than it actually has.
@GreyDeathVaccine
@GreyDeathVaccine Год назад
@@sofiaknyazeva Sorry for bad wording. English is not my first language.
@batsdk
@batsdk Год назад
Heard about Zig a few months back. Zig looks really interesting, I should try it sometime!
@bowiemtl
@bowiemtl Год назад
First time hearing about Zig, pretty cool 👍
@ZenonLite
@ZenonLite Год назад
You should do a Zig tutorial on BeyondFireship
@-weedle
@-weedle Год назад
Can we get a DreamBerd in 100 seconds video? It's the perfect programming language and not enough people know about it
@AminAramoon
@AminAramoon Год назад
Can't wait for zig++
@drewsarkisian9375
@drewsarkisian9375 Год назад
I can.
@SteveGouldinSpain
@SteveGouldinSpain Год назад
"..and Zig#", he says, somewhat sarcastically.
@45g4rerf45f45
@45g4rerf45f45 Год назад
With operator overloading :)
@ra2enjoyer708
@ra2enjoyer708 Год назад
Can't wait for an eventual fork called Zieg.
@michaelanthony4750
@michaelanthony4750 Год назад
zag
@gerritweiermann79
@gerritweiermann79 Год назад
Thank you so much for this video :) You made me definitely interested. Really looking forward going deeper into it!
@起風咯
@起風咯 Год назад
can’t wait to try zig😊
@DwAboutItManFr
@DwAboutItManFr 9 месяцев назад
C and ASM will never be beaten thank you.
@VFPn96kQT
@VFPn96kQT 7 месяцев назад
In what way?
@DwAboutItManFr
@DwAboutItManFr 7 месяцев назад
@@VFPn96kQT Efficiency.
@VFPn96kQT
@VFPn96kQT 7 месяцев назад
@@DwAboutItManFr that's just wrong. C++ is more efficient in many cases than C. It has templates, constexpr, destructors. C doesn't.
@mr.togrul--9383
@mr.togrul--9383 Год назад
Can you do Ocaml next?
@yoinkthatscotum5145
@yoinkthatscotum5145 Год назад
I watch this guys videos every day despite having no programing experience/knowledge, I have no idea what he is talking about 98% of the time. but he is simply so entertaining I don't care. even if this mf was speaking in sandscript I would still watch his video's.
@manojramesh4598
@manojramesh4598 Год назад
Finally I can put zig as 7 years of experience to my portfolio
@Nan0MK_Old
@Nan0MK_Old Год назад
I've waited a long time for this
@petrcechura8812
@petrcechura8812 Год назад
Do VHDL/Verilog next. Would be your first HDL (Hardware description language), which is lovely topic to study and learn.
@carldrogo9492
@carldrogo9492 11 месяцев назад
VHDL is NOT software programming. You are literally defining a digital logic circuits via a program. It's NOT software that runs on a computer it is a circuit. Get that clear.
@petrcechura8812
@petrcechura8812 11 месяцев назад
@@carldrogo9492 I did not say it is... I literally extended the shortcut to be clear about that. But's still a big term in computer science, so it's definitely worth the attention.
@wawan_ikhwan
@wawan_ikhwan 3 месяца назад
​@@carldrogo9492yes, it's hardware programming. But I ever read that if we run the HDL inside FPGA, it's worked same as software programming since it's manipulating the state of combinational unit (logic gate unit). Unless if the HDL is running on ASIC which directly creating the logic gate unit. So, FPGA is development staging while ASIC is production.
@willemidaho
@willemidaho Год назад
FINALLY THE VIDEO I WANTED!! LETS GOOOO
@jwstolk
@jwstolk Год назад
What I missed in the video is that in Zig, you can add functions to a struct, similar to C++.
@carldrogo9492
@carldrogo9492 11 месяцев назад
So an Object? Because that's what an Object is. 🤷
@jal051
@jal051 9 месяцев назад
@@carldrogo9492 Hopefully without constructors, destructors and public/private crap 😅
@wertzui123
@wertzui123 Год назад
Great video! I would have loved to see zig cc mentioned as well though.
@kinki2474
@kinki2474 Год назад
I've been waiting for this for a very long time now
@snek_john_titor
@snek_john_titor Год назад
0:37 Platforms, not architectures (because in current form this statement makes no sense at all XD)
@sadik_tutorials1
@sadik_tutorials1 Год назад
this guy literally teaches me every single frking langugae in just 100 seconds
@driyagon
@driyagon Год назад
so zig is just c with a few minor convenient functionalities..? i don't get it
@enkiimuto1041
@enkiimuto1041 Год назад
Once I started to study a bit about this one I knew you would make a video about it.
@nollix
@nollix Год назад
Thanks for bumping your mic at 1:06 so that we know you're not just using ai to generate your voice.
@armandomoura3157
@armandomoura3157 Год назад
Oh, great, another alternative to C/C++. What a novelty.
@cherubin7th
@cherubin7th Год назад
At least it is not yet another alternative to Java, like Go, Python, Lua, and all the other garbage collected languages.
@arnontzori
@arnontzori Год назад
It's not an alternative to C++. Which is not an alternative to C. Good to see people still don't understand what they complain about
@sporefergieboy10
@sporefergieboy10 Год назад
ziggers you know what to do
@raspy_on_osu
@raspy_on_osu Год назад
i don't think i would call zig users that
@bobDotJS
@bobDotJS Год назад
Rust, Carbon, Nim, Go, Zig...
@salvadoraugustovitko1396
@salvadoraugustovitko1396 Год назад
Talk about crystal next please 🙏
@blightning1476
@blightning1476 Год назад
The Primeagen ist gonna love this.
@bigutubefan2738
@bigutubefan2738 Год назад
Really great short summary Jeff - cheers :) Zig is great, and is no doubt Blazingly Fast!! But by swapping out allocators, do you need to maintain separate source code branches (or even repos) for each architecture you target? If so there's a crying need for a CI tooling step to swap out those allocators automatically. This is maybe just a criticism of how Zig sells itself, but you say in the video (as the Zig evangelists also do, loudly and often) "No Hidden Control flow". But then 70 seconds later you say "the defer keyword... ...will automatically de-initialise the list when it goes out of scope". Are allocators forbidden from containing any other control or clean up logic? It's making its Rust style scope memory deallocation explicitly opt-in, instead of opt-out (or even mandatory), which is really good. Is this approach nonetheless a big improvement on C, which has far more potential foot guns? The big question really is, when to use Zig over Rust, and what does it offer over it, other than a much lighter, faster (but far less proactively helpful) compiler?
@PhthaloJohnson
@PhthaloJohnson Год назад
Any time you need to use unsafe Rust a lot, I would assume.
@kristoff-it
@kristoff-it Год назад
> But by swapping out allocators, do you need to maintain separate source code branches (or even repos) for each architecture you target? Nope, you can use comptime switches / if expressions to change parts of the code based on the target.
@_lod
@_lod Год назад
Defer is not hidden control flow. It is explicit that the deinit function will run at the end of scope, whereas C++ has destructors and rust has the drop trait (I think that's what it's called?) which will run without you knowing.
@phazechange3345
@phazechange3345 Год назад
Zig isn't "far less helpful". It's like 95% of the way to rust and improving static analysis all the time. One massive benefit to zig is that you aren't required to "just know" 50 different methods and what their behaviour is and why you should use a specific pattern just to be able to return maybes. And that's just returning values! You can know everything about zig just it what it takes for Option and Result documentation. To say that Rust is "bloated" is a massive understatement. Rust might well be the most complex language ever, outdoing even C++. You also don't need to learn 3 distinct Turing complete languages (rust, macros, generics) just to use the language.
@gagagero
@gagagero Год назад
​@@kristoff-itThere are also cross-platform allocators.
@slr150
@slr150 9 месяцев назад
Zig in 159 Seconds!
@nicholas_obert
@nicholas_obert Год назад
I predict that Zig will become a hackers' favorite in a couple years. Direct low level memory control, more robust than C, and, most importantly, new. New compilers are known to produce binaries that are hard to detect to antiviruses because of unregistered patterns in the binary.
@PySnek
@PySnek 5 месяцев назад
No, that will be Nim
@dreamisover9813
@dreamisover9813 Год назад
Now this looks really promising
@onrir
@onrir Год назад
Zig: write once, debug every version
@drewsarkisian9375
@drewsarkisian9375 Год назад
Do you have an example of this statement?
@sgwong513
@sgwong513 Год назад
@@drewsarkisian9375 well, its true. zig language is not stable. its syntax and std library API are keep on changing from time to time if you want to run on the zig master branch.
@_kurohana
@_kurohana Год назад
In every release notes and in a couple places on the website they specifically warn that Zig is not mature yet and things will break between releases until it reaches 1.0.
@Elefantoche
@Elefantoche Год назад
Everytime I see a new language like Zig I wonder why was created in first place, instead on focusing efforts on making existing more popular alternatives (like Rust) to provide the same advantages and differential features.
@_kurohana
@_kurohana Год назад
@@Elefantoche There's an article about that on the website, search for "Why Zig When There is Already C++, D, and Rust?". Like many other languages (even Rust) it was born due to frustration with existing tools and wanting to try a different approach
@noufilsaqib3585
@noufilsaqib3585 Год назад
You should do "R in 100 Seconds" next
@mmmmmmmmmmmmmmmmmmmmmmmmmmmm56
I have been waiting for this, finaly!!!
@eshedruf
@eshedruf Год назад
I think you should also do 100 seconds on Desktop Environments like GNOME and KDE
@vfmadd231pd
@vfmadd231pd Год назад
Zig as a replacement for C? Now do Val in 100s as a replacement for Rust 😎
@milkyway5573
@milkyway5573 Год назад
Finally, it's ziggin time
@travel.tales.official
@travel.tales.official Год назад
Cannot get enough of your content. How do you do it man?
@GreyDeathVaccine
@GreyDeathVaccine Год назад
AI :D
@travel.tales.official
@travel.tales.official Год назад
@@GreyDeathVaccine Haha.
@DanielRamBeats
@DanielRamBeats Год назад
Wow that is pretty incredible
@jsonkody
@jsonkody Год назад
Can someone please direct me where I can learn to make that cool 3D effect Fireships every 100s video starts? Is it made in Blender? Or in AAEffects? Or both .. or something else? I need to learn it :D
@ChristofferOlofsson
@ChristofferOlofsson Год назад
I think he has mentioned in a video how he does it, but I wasn't able to find it. The best one I could find was this: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-N6-Q2dgodLs.html But there be basically only mentions that he use Premiere and After Effect.
@叵
@叵 Год назад
he uses after effects 3d text for that
@叵
@叵 Год назад
yay a zig video
@Wizatek
@Wizatek Год назад
I doubt there will ever be a good alternative to C without weird code like this or Rust
@nyx211
@nyx211 Год назад
I tried to like Zig, but in its current state, I can't. Zig is another one of those languages that changes already established syntax from prior languages for no real reason other than to "be different." It doesn't make coding easier or more intuitive. One of the tutorials uses new features from the unstable 0.11.0 version instead of the stable 0.10.1 version. Granted, this isn't the fault of the language, but it did trip me up when learning. Zig also has some annoying quirks. For example, this code won't compile as of 0.10.1: const expect = @import("std").testing.expect; fn is_bit_set(x: u64, n: u6) bool { return x & (1
@presentfactory
@presentfactory Год назад
That code will likely never compile as-is, Zig is a strictly typed language and you're just using it wrong. The type of 1 is comptime_int. You cannot do runtime bit shifts on comptime integers like that because well, that is not how they are meant to be used (1
@temptrue3322
@temptrue3322 Год назад
You know what the world needs right now, another programming lang
@MarvinPowell1
@MarvinPowell1 Год назад
"Move Zig, move Zig, move Zig, move Zig, for great justice, take off every Zig!"
@doce3609
@doce3609 Год назад
loce zig cannot wait for the ocaml and odin videos
@electrolyteorb
@electrolyteorb Год назад
hope the divorce would go well
@ktxed
@ktxed Год назад
Are we soon going to witness a holy war between ziggers and rustaceans?
@aryanhegde9836
@aryanhegde9836 Год назад
Always waiting for amazing videos ❤
@DK-ox7ze
@DK-ox7ze Год назад
When I see such young people creating new programming languages, my imposter syndrome touches new heights.
@minecraftermad
@minecraftermad Год назад
"Are you even talented enough yo have imposter syndrome"
@sashakuridza3945
@sashakuridza3945 Год назад
I guess it's time for IPFS :) Btw thx a lot for starting RU-vid channel!!!! :)
@haliszekeriyaozkok4851
@haliszekeriyaozkok4851 Год назад
i'm excited to try about when it'll hit the 1.0
@chri-k
@chri-k Год назад
that was said to likely be in more than 10 years
@dan203
@dan203 Год назад
There are C/C++ libraries and frame works that do memory management better than this, why would you need a whole new language?
@kaosce
@kaosce Год назад
Yeah smart pointers already exist, handle allocator and deallocation, copy move...
@unknownguywholovespizza
@unknownguywholovespizza Год назад
Exactly. Only boomers still use manual memory management rather than something like smart pointers
@presentfactory
@presentfactory Год назад
Because the language is much more than just "custom allocator support added to C". Zig is better than both C and C++ in a myriad of other ways.
@dan203
@dan203 Год назад
@@presentfactory such as? If that’s true Jeff didn’t do a good job of explaining those advantages in this 100s video
@presentfactory
@presentfactory Год назад
@@dan203 Well some of the most important things it has is strict typing (C/C++ are weakly typed which causes many bugs), automatic checks in debug mode for detectable UB (integer overflows, pointer alignment cast violations, out of bounds reads on slices, etc), a first class type system to facilitate generics (something C sorely lacks and something C++ overcomplicates), compile time programming (again something C++ has via metaprogramming and constexpr to a degree but terribly overcomplicated), a unified build system (no more worrying about if a project supports CMake or your build system of choice, and the build system is "scripted" in Zig so it's quite powerful), and unlike a lot of other new languages Zig focuses a lot on C interop so it has a lot of tools to make using C libraries as practical as possible so it's not totally dead on arrival ecosystem wise. There's more stuff too of course, enumerating it all would take forever but point is there's a lot of improvements even beyond those more major ones.
@aseanea_main
@aseanea_main Год назад
Can you do tcl in 100 seconds?
@VoidPaul97
@VoidPaul97 Год назад
Just tell me that they didn't say Zig was a C killer. Edit: I just realized that this video was uploaded like 3 minutes ago... This is the earliest I've ever been for everything.
@debile49
@debile49 Год назад
It's not, it's an alternative
@Ceelbc
@Ceelbc Год назад
Can you do _hyperscript in 100 seconds?
@chandrababus6634
@chandrababus6634 Год назад
Are you learning languages even before they're released? You're the Chuck Norris of programmers😊
@DrewLevitt
@DrewLevitt Год назад
You build an executable with the command `move zig`
@AverageComet250
@AverageComet250 Год назад
bro has 9 comments and 0 views i think google should hire you to improve their database
@sonicotter
@sonicotter Год назад
Well now iIm wanting a crystal in 100 seconds video
Далее
Tails OS in 100 Seconds
2:42
Просмотров 832 тыс.
zig will change programming forever
9:34
Просмотров 304 тыс.
А Вы за пластику?
00:31
Просмотров 12 тыс.
Linus On LLMs For Coding
17:06
Просмотров 275 тыс.
Zig for Impatient Devs
9:48
Просмотров 90 тыс.
The purest coding style, where bugs are near impossible
10:25
I built 10 web apps... with 10 different languages
14:23
The 3 Laws of Writing Readable Code
5:28
Просмотров 577 тыс.
Being Competent With Coding Is More Fun
11:13
Просмотров 79 тыс.
The Home Server I've Been Wanting
18:14
Просмотров 91 тыс.