I was lucky to work with one or two people like Tsoding in the past who learned super quick by just jumping in and trying stuff. That's what I used to do as a kid when I learned Basic and assembly on 8 and 16 bit computers, but somehow lost my way after going to college and becoming a professional dev. Watching people learn like this is helping me to recover that healthy and practical mindset.
yeah i think the tendency is for it to get HARDER for us to see simple direct solutions the more time we spend looking at and reasoning about the 'professional' (pathologically indirect) versions. Abstractions in your head, preventing you from accessing less abstract pictures of the system at hand.
@@homelessrobot exactly! It doesn't help that a lot of people we meet on the job tend to obsessively add extra layers of abstraction and indirection, to the point where it can be hard to get promoted if you don't go along with it. I left my last job because I was tired of simple PRs taking weeks to get merged because one or two "architecture astronauts" would keep asking for more interfaces and factories etc.
We knew it all along, but the fact that you received a $300 donation and donated it to Ukraine given the current situation with payments and donations to Russia just highlights what a genuinely great guy you are. I appreciate the effort you put into streaming and learn a lot watching you code. I hope the situation over there is okay for you.
I really appreciate the way you approach things. It's especially helpful when you show yourself figuring things out live on stream, because I feel it gives us a more thorough understanding of the tools you try out and the problems you aim to solve. Thank you! Edit: I like that Zig lets you include a C file effortlessly without polluting the global namespace. Very cool
Haven't watched in months, coming back it seems you're much more comfortable on stream and have generally become more entertaining. Keep up the good work! subbing.
I just smile when the info you seek is in second half of the first sentence you started to read but didn't finish. I try my hardest to at least read the part before the code snippet, because for some reason people don't put the important info in the snippet but above where it won't be copied over into your code... But I can totally see why you'd want to jump every 2 seconds, it's hard not to!
I think the simplest solution to the bar collision problem is to just set the dy of the projectile to -1 when they collide to make the projectile always go up.
Cosplaying as Tom Scott lol. Keep up the good work man, you inspire me to be better and learn more. Always fascinating to watch your process in action.
i think at some point he kinda checked out and stopped reading error messages, there was couple where he just ignored output) that line from "paint.zig" was totally usable, he just needed to change target file for compilation. but yeah, onboarding could be a little better. thing with arbitrary error names i believe is good, errors in zig are just values, and declaring them at the same place where you use them eliminates a lot of boilerplate (for people who want to be explicit with errors there is a mechanism too)
The reason it took 2 seconds to start up is most likely the llvm JIT engine waking up. Especially if you're already using the CPU for encoding 1+ seconds is pretty normal.
The compiler errors are one of my biggest complaints with Zig. They are often time very obtuse and not pointing at the right thing. Makes learning the language harder I agree. Thankfully it's on the roadmap and will be improved.
true but one good thing is that error propagate and you get a precise stack trace of where it went wrong. Which is better than "program aborted with error code ##"
You found the solutions in less than 30 minutes (which I couldn't for a week) and you call yourself stupid. Man, you're one of the most efficient programmer I've seen. Don't underestimate yourself
I'm glad I'm not the only one to: 1. learn by trying; 2. complaining about how unintuitive things are; 3. feeling dumb that I can't do it as intuitively as I thought; 4. feeling dumber with everybody expecting me to read thousands of pages or millions of lines of code to get past "hello world"
@@etodemerzel2627 exactly, for example I really prefer the semantics of |type | identifier | assignment operator | value | semicolon | but there is objectively no intuitiveness to it one could argue that | identifier | type | assignment operator | value | no semicolon | is more intuitive and that would be equally correct.
Actually I think the problem is not reading the document first. Since this language is still growing, there's no very friendly compile message like Rust. IMO, however, this language is strong. You can do many things at compiletime with `comptime`, which is more powerful than Rust's `const fn` and macros, and more readable than C++'s metaprogramming skills. It also has strict type system like Rust. Maybe I'll use it if Zig was not longer beta.
My thoughts exactly..it has great potential. But it needs to leave beta for me to use it. Do you know what's the timeframe for Zig to reach a stable release?
@@pietraderdetective8953 I think now is already a good time to start tinkering with the language, even just learning build.zig for your C/C++ projects can be a cool start. But the language won't be ready before end of 2024 and even that I'm not sure yet, I'd say 2025 the language will really start to be "production grade". Right now they are focusing on stuff that not a lot of people immediately care about but in the long run it will be of great benefit for the developer experience. Currently they are working on a set of different custom backend to become the default in order to improve the compilation time. They are also working on solving bugs. They are also integrating a Zig based C compiler for the traduction of C code to Zig, They are also replacing the Async implementation but I'm not sure if it's already there or not. Loads of good stuff happening, Zls is also improving a lot, and they have plan to improve it a lot more, Right now Zls doesn't play well with comptime evaluation but they have plan for this, But those plans also depends on the custom backends to arrive, because otherwise the features will be too slow to be usable. I'd say if you want to start when it's in a better place, you should keep a tab on when ZLS add's comptime evaluation this will probably improve the learning experience quite a lot in my opinion.
@@pietraderdetective8953 I think 1.0 is projected to arrive in 2025-2026. If you end up experimenting with it, `zig fmt` can be used to automatically fix some breaking syntax changes that are added.
@@bradywb98 it's predictable, he burned out, it got boring now he wants to work on a new and more exciting projects. He probably achieved the main goal, the reason of making porth and now .. well it just lays in the back. Probably until the better times
@@monsieuralexandergulbu3678 has he actually decided to just leave Porth entirely now? Last thing I had heard he had stopped streaming, but wanted to work on it offline. Wouldn't surprise me if he did drop the project though.
@@monsieuralexandergulbu3678 it ended on such a cliffhanger, with the typed pointers/variables/structures-trilogy. in my personal lore/delusion tsoding s still going strong and drops a big update in a couple of months.
Just out of curiosity, why the hate for Rust? Or was it a joke? I was thinking of giving it more attention after I played with it for a couple of weeks a year ago. Should I waste my time?
I like compiler for ricv and does the thing you said. If you make a mistake like parameters it gives you suggestion which one to use. Compiler can know best and could be neat if it would give such suggestions. I think they added that for people who use arm so if you try to use arm registers and instruction it suggest you riscv ones.
I love languages where they really insist variables must be initialized at literally the very line they are declared in but then they provide "undefined" to initialize them to. This is what happens to your brain when you think if only we wrote more keystrokes then we wouldn't have any null pointer dereferences.
Hi Tsoding. As I Saw, you have implemented a Lot of interesting stuff in your Channel. I am creating a simple database (based on sqlite) in my own, as a personal project. That Said, I think that would be a great idea If you make a serie of making a serie of "implementing a database from scratch" in your Channel.
Great fun! BTW - I tried to use your code with the latest version of Zig (0.11.0) but found a few breaking changes - presume this is what one would expect for a language which is evolving or maybe a language for maintaining software causes one to maintain software?
ZIg syntax is still in flux because it has not hit 1.0. `zig fmt` can be used to automatically fix some small syntax changes that have been made. It is a good reason to put off using it, though I hope you'll come back to check it out once they pin that 1.0 release. No breaking changes will be allowed in minor releases or revisions after that.
57:59 wouldn't a function that returns an array with those values work? I'm pretty sure there's also some way to make Zig execute the function at compile time.
Brilliant job as always! Might I ask you, I see you use emacs instead of vim, any reason behind? Also I really like your desktop environment setup, minimal and highly efficient, what kind of distro is that and which desktop environment? Thanks a lot! Keep the good stuff happening :)
That "hello world" syntax and semantics just shows these new languague developers have no vocation to create new programming languages, they may have the skills but that doesn't makes them the right people to do it.
At current state it's unfortunately unstable, last night I spent hours trying to get Zig to accept input from user, only to find out the method from available tutorials have been deprecated. Maybe i'll revisit Zig next year when it has become much more stable.
Just finished the video, very interesting how Tsoding's experience with Zig is similar to mine! It would be interesting when Zig has reached a stable release.
1:14:13 The inference goes from the right side to the left side on assignment. ex: `const i = @floatToInt(i32, 1.0)`. In later versions it's fixed as suggested such that `const i: i32 = @intFromFloat(1.0)` now works.
Look ma, somebody have no switch flipped. No test take is hilarious. Good luck driving a car with testless code. Modern gamedev seems taking booking's approach seriously and what a kind of a mess we have.
The more normal hello world would be const std = @import("std"); pub fn main() !void { std.debug.print("Hello, World! ", .{}); } I think the version you saw was intentionally noisy just to illustrate more language features.
dislike. Compiler doesn't know what crap is in your head. Tests are important for testing what you did. Programming is not only about one-liners and simple one-file games. Maybe you're good videoblogger, but you're newbie at programming. You lost me at 18:52
I don't understand why people cannot have reasonable opinions. It's either "cover everything with tests! 100% coverage!" or "you don't need to have tests at all!". Where's the damn middle ground?
@@etodemerzel2627 well the reason behind those two opposite sides of the same scale is the dumb managers. First are those who want to reduce cost while developing something new (go-go-go, we need to release MVP next friday or we're dead!), second are those who want to reduce dependency on developers (I want to fire that ugly guy and replace him with this new cheap guy, we have no risks here, we have 100% test coverage, right?). As a developer I use tests for mainly two cases, out from the tip of my head. One, if I don't know how to do it yet, but I know what the system should look like, the API, the behavior, maybe known values for the given parameters - I can create a bunch of tests before actual coding, and then it's usual TDD, test-driven development. Other, when I don't want to visit THAT part of the code often, I can cover it with tests and forget THAT part. If something goes wrong, the tests will tell you that it's time to look into that part again. Or tweak your new shiny changes..
some parts aren't really intuitive I'll give you that one, but the project seems to be on track to be a potential real C replacement. But in the long run I think it's going to be a very solid language.
@@chrboesch I use zig, it's amazing, but it's isn't as simple and intuitive as C, not that it's a big deal once you get past it, but that's still a real issue of the language, It's on the roadmap to improve, but the compiler is still very much unhelpful, the compilation speed is ok, but the llvm backend is super slow (not really a zig thing tho) So no it's not an unqualified comment, I've used it enough to understand it's state, and It's not production ready, nor does it claim to be. There is still a lot to be done, but if the project maintains it's objective of replacing C while not becoming as bloated and horrendous as Cpp than It's surely going to be the next C, and that's why I'm using it already.
think of it as "explicit" rather than "verbose". the idea is that as a programming language, Zig can be useful in contexts where you don't even have stdout, or certainly don't want to have it by default.
I was lucky to work with one or two people like Tsoding in the past who learned super quick by just jumping in and trying stuff. That's what I used to do as a kid when I learned Basic and assembly on 8 and 16 bit computers, but somehow lost my way after going to college and becoming a professional dev. Watching people learn like this is helping me to recover that healthy and practical mindset.
yeah i think the tendency is for it to get HARDER for us to see simple direct solutions the more time we spend looking at and reasoning about the 'professional' (pathologically indirect) versions. Abstractions in your head, preventing you from accessing less abstract pictures of the system at hand.
@@homelessrobot exactly! It doesn't help that a lot of people we meet on the job tend to obsessively add extra layers of abstraction and indirection, to the point where it can be hard to get promoted if you don't go along with it. I left my last job because I was tired of simple PRs taking weeks to get merged because one or two "architecture astronauts" would keep asking for more interfaces and factories etc.
We knew it all along, but the fact that you received a $300 donation and donated it to Ukraine given the current situation with payments and donations to Russia just highlights what a genuinely great guy you are. I appreciate the effort you put into streaming and learn a lot watching you code. I hope the situation over there is okay for you.
the thing is, HES RUSSIAN
I also donated to Ukraine but regretted it, stupid ass western propaganda and I’m not even pro Russian
When are you donating to Palestine? No? 🤡
@@KushLemon I love how you are self aware that you are clown, wholesome 3000.
@@KushLemon no dono for pigs 💩
did not expect this shit to happen
seeing you struggling with something and having the same learning method as me makes me feel like I'm not insane thank you!
maybe you both are just the same kind of insane?
[1:50:00] Tsoding does some Mongolian singing. This should be a stream notification. XD
I really appreciate the way you approach things. It's especially helpful when you show yourself figuring things out live on stream, because I feel it gives us a more thorough understanding of the tools you try out and the problems you aim to solve. Thank you!
Edit: I like that Zig lets you include a C file effortlessly without polluting the global namespace. Very cool
Haven't watched in months, coming back it seems you're much more comfortable on stream and have generally become more entertaining. Keep up the good work!
subbing.
I just smile when the info you seek is in second half of the first sentence you started to read but didn't finish. I try my hardest to at least read the part before the code snippet, because for some reason people don't put the important info in the snippet but above where it won't be copied over into your code... But I can totally see why you'd want to jump every 2 seconds, it's hard not to!
I think the simplest solution to the bar collision problem is to just set the dy of the projectile to -1 when they collide to make the projectile always go up.
Every team needs someone like Tsoding to keep the code quality in check
Cosplaying as Tom Scott lol. Keep up the good work man, you inspire me to be better and learn more. Always fascinating to watch your process in action.
Amazing thing about zig is it’s a c compiler (bundles clang) and cross platform c built system and can cross compile c to any platform zig supports.
i think at some point he kinda checked out and stopped reading error messages, there was couple where he just ignored output) that line from "paint.zig" was totally usable, he just needed to change target file for compilation. but yeah, onboarding could be a little better.
thing with arbitrary error names i believe is good, errors in zig are just values, and declaring them at the same place where you use them eliminates a lot of boilerplate (for people who want to be explicit with errors there is a mechanism too)
The reason it took 2 seconds to start up is most likely the llvm JIT engine waking up. Especially if you're already using the CPU for encoding 1+ seconds is pretty normal.
The compiler errors are one of my biggest complaints with Zig. They are often time very obtuse and not pointing at the right thing. Makes learning the language harder I agree. Thankfully it's on the roadmap and will be improved.
Did you even saw a C++ error message?
true but one good thing is that error propagate and you get a precise stack trace of where it went wrong. Which is better than "program aborted with error code ##"
@@katekyy7that's an incredibly low bar
You found the solutions in less than 30 minutes (which I couldn't for a week) and you call yourself stupid. Man, you're one of the most efficient programmer I've seen. Don't underestimate yourself
More ideas to bounce of off in real time chat
More ideas to bounce off of in real time chat
Well, that's certainly a programming language.
might be the first time i watched a 3 hour video from start to finish
Elm is supposed to have the best error messages there are. Rust was inspired by the project.
that compile time is crazy
I'm glad I'm not the only one to: 1. learn by trying; 2. complaining about how unintuitive things are; 3. feeling dumb that I can't do it as intuitively as I thought; 4. feeling dumber with everybody expecting me to read thousands of pages or millions of lines of code to get past "hello world"
Some things are "intuitive" to you only because you got used to them in other languages.
@@etodemerzel2627 exactly, for example I really prefer the semantics of |type | identifier | assignment operator | value | semicolon | but there is objectively no intuitiveness to it one could argue that | identifier | type | assignment operator | value | no semicolon | is more intuitive and that would be equally correct.
@@pierreollivier1 people say the second one is just easier to parse
Actually I think the problem is not reading the document first. Since this language is still growing, there's no very friendly compile message like Rust.
IMO, however, this language is strong. You can do many things at compiletime with `comptime`, which is more powerful than Rust's `const fn` and macros, and more readable than C++'s metaprogramming skills. It also has strict type system like Rust.
Maybe I'll use it if Zig was not longer beta.
My thoughts exactly..it has great potential. But it needs to leave beta for me to use it.
Do you know what's the timeframe for Zig to reach a stable release?
@@pietraderdetective8953 you can search the road of zig 1.0
@@pietraderdetective8953 I think now is already a good time to start tinkering with the language, even just learning build.zig for your C/C++ projects can be a cool start. But the language won't be ready before end of 2024 and even that I'm not sure yet, I'd say 2025 the language will really start to be "production grade". Right now they are focusing on stuff that not a lot of people immediately care about but in the long run it will be of great benefit for the developer experience. Currently they are working on a set of different custom backend to become the default in order to improve the compilation time. They are also working on solving bugs. They are also integrating a Zig based C compiler for the traduction of C code to Zig, They are also replacing the Async implementation but I'm not sure if it's already there or not. Loads of good stuff happening, Zls is also improving a lot, and they have plan to improve it a lot more, Right now Zls doesn't play well with comptime evaluation but they have plan for this, But those plans also depends on the custom backends to arrive, because otherwise the features will be too slow to be usable. I'd say if you want to start when it's in a better place, you should keep a tab on when ZLS add's comptime evaluation this will probably improve the learning experience quite a lot in my opinion.
@@pietraderdetective8953 I think 1.0 is projected to arrive in 2025-2026. If you end up experimenting with it, `zig fmt` can be used to automatically fix some breaking syntax changes that are added.
Good job. As a Ukrainian guy i appreciate you for your help to Ukrainians. Your job will not be forgotten. Thanks.
You could also do:
const x = something();
_ = x;
instead of:
_ = something();
if you are going to use that later
Damn, kinda sad that there's no more porth, but there's more troublesome thing out there
Also press F to views
What happened w porth?
Yes what happened to porth? Are you guessing or did he say something?
@@bradywb98 it's predictable, he burned out, it got boring now he wants to work on a new and more exciting projects.
He probably achieved the main goal, the reason of making porth and now .. well it just lays in the back. Probably until the better times
@@monsieuralexandergulbu3678 has he actually decided to just leave Porth entirely now? Last thing I had heard he had stopped streaming, but wanted to work on it offline. Wouldn't surprise me if he did drop the project though.
@@monsieuralexandergulbu3678 it ended on such a cliffhanger, with the typed pointers/variables/structures-trilogy. in my personal lore/delusion tsoding s still going strong and drops a big update in a couple of months.
Tsoding is such a chad
Hey man! Cheers from Bulgaria!
Just out of curiosity, why the hate for Rust? Or was it a joke? I was thinking of giving it more attention after I played with it for a couple of weeks a year ago. Should I waste my time?
I like compiler for ricv and does the thing you said. If you make a mistake like parameters it gives you suggestion which one to use. Compiler can know best and could be neat if it would give such suggestions. I think they added that for people who use arm so if you try to use arm registers and instruction it suggest you riscv ones.
1:22:19 - "We made DVD logo!"
Noisiest hello world ever? Sir let me talk to you about Java lol
He is already a java dev😂
C# too
nah, it's less noisy in Java
I love languages where they really insist variables must be initialized at literally the very line they are declared in but then they provide "undefined" to initialize them to.
This is what happens to your brain when you think if only we wrote more keystrokes then we wouldn't have any null pointer dereferences.
Odin stream when
What is your opinion about Odin lang?
Hi Tsoding.
As I Saw, you have implemented a Lot of interesting stuff in your Channel.
I am creating a simple database (based on sqlite) in my own, as a personal project.
That Said, I think that would be a great idea If you make a serie of making a serie of "implementing a database from scratch" in your Channel.
What language are you implementing it in and what data structure are you using?
So you really just want a Russian guy to do your job and upload it to TH-cam for free huh?
@29:12
> Has an include error
> Adds linker steps
> Actually fixes the include error (????)
So the link command is doing more than linking
Great fun! BTW - I tried to use your code with the latest version of Zig (0.11.0) but found a few breaking changes - presume this is what one would expect for a language which is evolving or maybe a language for maintaining software causes one to maintain software?
ZIg syntax is still in flux because it has not hit 1.0. `zig fmt` can be used to automatically fix some small syntax changes that have been made. It is a good reason to put off using it, though I hope you'll come back to check it out once they pin that 1.0 release. No breaking changes will be allowed in minor releases or revisions after that.
57:59 wouldn't a function that returns an array with those values work? I'm pretty sure there's also some way to make Zig execute the function at compile time.
rewrite it in zig am i right?
Why? Just compile it with Zig.
Damn, the Jai heist was a failure
Brilliant job as always! Might I ask you, I see you use emacs instead of vim, any reason behind?
Also I really like your desktop environment setup, minimal and highly efficient, what kind of distro is that and which desktop environment? Thanks a lot!
Keep the good stuff happening :)
Debian + i3wm
That "hello world" syntax and semantics just shows these new languague developers have no vocation to create new programming languages, they may have the skills but that doesn't makes them the right people to do it.
3:06:25 "ez! this game is ez!" :D
Great content!
Just before you started killing them all, I heard those blocks shout: wait, we are all equals!!
At current state it's unfortunately unstable, last night I spent hours trying to get Zig to accept input from user, only to find out the method from available tutorials have been deprecated.
Maybe i'll revisit Zig next year when it has become much more stable.
Just finished the video, very interesting how Tsoding's experience with Zig is similar to mine!
It would be interesting when Zig has reached a stable release.
Web Dev Is possibile now with Ziglang??
what no pixel perfect collision with a ball? Say it isn't so
1:14:13 The inference goes from the right side to the left side on assignment. ex: `const i = @floatToInt(i32, 1.0)`. In later versions it's fixed as suggested such that `const i: i32 = @intFromFloat(1.0)` now works.
love this guy
18:44 it's actually 2022 now so update the phrase when?
2:09 Minkowski sum should help to solve it easier
can we use printf by importing stdio.h?
>Zig in it's home webpage "A simple language".
>It's more complicated to use than C++
Why is this language gaining so many users.
It's an old video, a lot of things have changed.
They have more funding now.
so in order to not write tests and get away with it I just need my company to have a spare half a million dollars a month, got it.
Thank you!
you are awesome, you learn language easily.
3:31 funny joke
In my opinion the best way to learn zig is with ziglings. Its actually entertaining and you learn almost everything you need to know
If it's frames fps per second, shouldn't the variable be named FFPS? 😜
FFPSPS
Based and poggers
Please make a stream about Zig!
how are you so fresh, if u couldn't sleep?
padle is a racket game
i think BreakZig is a better name ;)
Дякую
(thanks)
6:43 'love-minor-mode' 🤨🤨
haha this is fun :)
Look ma, somebody have no switch flipped. No test take is hilarious. Good luck driving a car with testless code. Modern gamedev seems taking booking's approach seriously and what a kind of a mess we have.
Thank you 👍😄
porth?
zig
rewrite porth compiler in zig so it can be called pog
1:11:44 u can use SDL_FRect
How much does it cost to have you do a paid stream like this?
$300
@@chri-k thanks - where is this documented?
@@ylluminate in the beginning of the stream...
also you do know that this is a joke, right?
Would have been easier on the DOM ( ͡° ͜ʖ ͡° )
2:16:16 2nd Stream
Lets get zigggged
!discord
Nice SDL tutorial 😂
Try Odin!
What is that 9GB porn folder?
I LOVE the error.UrMom thing. I guess that's the "anyerror" type. Very cool!
btw Scala is still very used nowadays
Don't take this wrong, but if you look up asmrmassage channel you might think that you look like the male version of her...
Not sure what's funnier, how true what you said is, or that videos like that exist.
Scala still better.
pog
I was thinking of trying zig since it made a lot of promises. After watching this don't want to go anywhere near zig
That's a shame. I'm really enjoying for hobby projects. It's way better than dealing with C's bullshit.
Check out Odin.
I love you sir
slava ukraini
Move to India with your family
i tried zig and it was so awful
The more normal hello world would be
const std = @import("std");
pub fn main() !void {
std.debug.print("Hello, World!
", .{});
}
I think the version you saw was intentionally noisy just to illustrate more language features.
dislike. Compiler doesn't know what crap is in your head. Tests are important for testing what you did. Programming is not only about one-liners and simple one-file games.
Maybe you're good videoblogger, but you're newbie at programming. You lost me at 18:52
I don't understand why people cannot have reasonable opinions. It's either "cover everything with tests! 100% coverage!" or "you don't need to have tests at all!". Where's the damn middle ground?
@@etodemerzel2627 well the reason behind those two opposite sides of the same scale is the dumb managers. First are those who want to reduce cost while developing something new (go-go-go, we need to release MVP next friday or we're dead!), second are those who want to reduce dependency on developers (I want to fire that ugly guy and replace him with this new cheap guy, we have no risks here, we have 100% test coverage, right?).
As a developer I use tests for mainly two cases, out from the tip of my head. One, if I don't know how to do it yet, but I know what the system should look like, the API, the behavior, maybe known values for the given parameters - I can create a bunch of tests before actual coding, and then it's usual TDD, test-driven development. Other, when I don't want to visit THAT part of the code often, I can cover it with tests and forget THAT part. If something goes wrong, the tests will tell you that it's time to look into that part again. Or tweak your new shiny changes..
That's a roundabout way to say you're insecure and don't understand humour
It's a little funny that a lot of the hype around Zig, speedy builds, intuitive design, etc are almost all debunked within the first 5 minutes 😅
some parts aren't really intuitive I'll give you that one, but the project seems to be on track to be a potential real C replacement. But in the long run I think it's going to be a very solid language.
@simonfarre4907 The video is a year and a half old. Take a look at how Zig has developed before you make unqualified comments.
@@chrboesch I use zig, it's amazing, but it's isn't as simple and intuitive as C, not that it's a big deal once you get past it, but that's still a real issue of the language, It's on the roadmap to improve, but the compiler is still very much unhelpful, the compilation speed is ok, but the llvm backend is super slow (not really a zig thing tho) So no it's not an unqualified comment, I've used it enough to understand it's state, and It's not production ready, nor does it claim to be. There is still a lot to be done, but if the project maintains it's objective of replacing C while not becoming as bloated and horrendous as Cpp than It's surely going to be the next C, and that's why I'm using it already.
@@pierreollivier1 Sorry, my reply was not for you but for @simonfarre4907. I gave you a thumbs up for your reply to him.
Wdym "intuitive design", were the actual, explicitly stated goals of the project debunked?
`std.io.getStdfOut().writer().print(...)`
and they say java is verbose 😤
Have you considered why it's "verbose" for more than 5 seconds
@@jawad9757 chill, it's just sarcasm. I understand the need for namespaces and common interface, it's fine.
think of it as "explicit" rather than "verbose".
the idea is that as a programming language, Zig can be useful in contexts where you don't even have stdout, or certainly don't want to have it by default.