Hey thank you for everything you've done, i'm having a blast going through your Ourcraft code, (especially the network part as its the thing I want to get specialized on), and you shared a lot of usefull tips ! Thank you !
I don't agree with you on ignoring STL conviences (such as smart pointers). You will both write more maintianable code and increase your level of emplyabllity by internalizing the standard library and using the most up to date standard (23).
also like the cpp standard is horrible, amd even people that use cpp agree on that :)) that's why most big companies make their own stl like facebook or EA have their own stl
@@lowlevelgamedev9330 The STL is not perfect but those who are watching your video are likely not advanced enough to even attempt writing their own dynamic containers. The standard library is also much more portable and consistent between machines. Also, while some companies do implement their own versions of STL classes, the majority of employers will expect candidates to be fluent in the standard library. Manual memory management is one of the hardest things for beginners to understand, so why not use the STL?
@@Leonhart_93 Umm what? You can create your own allocator within a smart pointer and pass that to every function to indicate that func is allocating memory. Thus, getting rid of hidden allocation practices. Smart pointers are the most ideal way of handling basic memory management of a dynamic object's lifetime.
Devs complaining about C++ being flawed due to complexity simply have skill issues. The only flaw to C++ was its attempt to honor backwards compatibility. Which caused all kinds of issues on how to write proper C++. Modern C++ is an absolute joy to write.
I don't agree with that, cppsyatem is way to complex and there are way too many rules, bro the guys invented a turing complete system by mistake without intention and started to use it :)) and the wordt part id that If I do something I can't even know if it is correct, is the perfect forwarding correct there? did I miss a wierd reff type case? I don't want to have to deal with that
@@lowlevelgamedev9330 I think we may have to agree to disagree lol. C++ is the only language that can build any type of software with modern methodologies while giving the developer maximum control and performance over said software. It has a very mature standard library. Modern C++ is very clear on what the "rules" are. For example, rules governing how to properly control a dynamic object's lifetime. Which was a big issue in C++ for years. For the record, I like C, but I often find myself having to write duplicate code because of no generics and I find myself at times having to write something from scratch that should be in the standard library so I don't have to pull in a bunch of outside dependencies or waste time reinventing the wheel. I will say to your point, the learning curve for Modern C++ is annoying. It will take your average developer 4 to 6 months to really have a good grasp of C++. And I can see how that would scare devs away from the language. Most devs I encountered wanted to learn a new language in a week or two. That will never happen in C++. But I respect your passion for C. The language should continue to be used.
@@johnathannichols237 May be i'm overthinking, but you say the word "modern methodologies" as if automatically implying that since they are modern, they are better, because that's how it works with history, with society, with technology, with science. Well, in programming this statement is incorrect :) Because methodology is just a process of thinking. And it can be suitable at some point, and not suitable at some other point.
the thing i regret learning late is how to really use the compiler, 90% of the time i spent on my older projects were figuring out how to link the libraries (now i find it easier).
@AngadYT_ If you are having the same problems as me, i fixed the library directories by adding -L./linkdirectory, and libraries by -llibname (replace the placeholders with the.lib file name)
yes it is annoying, I will make next month probably a new tutorial but I have that tutorial that I linked + I have the video about my setups, I recomand seing how I did my setups and copy that
I haven't used C++ EVER in my life before. I have used C a bit in college, so I just learned a bit of syntax. The most I learned was while making a game in Raylib. I learned a lot of C++, game-dev, and how games work in general. Raylib abstracts a lot of OpenGL, so it lets me only focus on C++ and game design.
instead of cmake , i would advise begineers premake , its bit easier and more straight forward , but many popular libraries (that i used) dont have premake scripts which is a shame but it is what it is, for example SDL is cmake only.
A very blank and simply constructed language. The simplicity in it's design makes it great but it also has aspects which are rather ugly like macros and missing features like proper error handling. If you would want to try a language like c but with imo well worth improvements you should try out zig. You can use c code in zig as well or just use it's build system to compile your c/c++ projects which I find way better than cmake. Zig really has much to offer and I haven't seen a language that checks so many checksmarks and I have tried all the popular languages across the years. Beware, the docs are not beginner friendly, there are community made ones which are better. "zig init", "zig build run" is all you need to start a new project with lots of comments, isn't that amazing?
teacher is the major roadblock you choose to take. not beneficial in any shape or form. just get good. yourself. you dont need a teacher to instruct you. do you have wisdom inside or outside. robot or a living being.
bro what, having a guide that knows a ton of stuff is the best thing you can have, once you get yo advanced stuff its very hard to find information online
No idea about vulkan, but i've been using SDL3's new GPU API that wraps Vulkan, Metal, and DirectX12 and its not as difficult or complex as I thought it would be. It is still lacking in documentation, though, so I wouldn't recommend it to beginners yet. I do like that the code will work cross platform though.
Hello! (and thanks ❤)
Naahh, bro is here too.
yooo, thank you, I've been watching your channel almost since I started coding 💪
"I know everything about C++"
I don't think there is a single person alive that can comfortably claim that :P
Great video, as always!
yes that's true :)) If only I knew that lmao, I was so stupid :))
"best C++ code is written in extern "C" {}"
:)))
Hey thank you for everything you've done, i'm having a blast going through your Ourcraft code, (especially the network part as its the thing I want to get specialized on), and you shared a lot of usefull tips ! Thank you !
glad to hear that bro 💪 I'm working at adding buffering rn on the networking code btw. If you ever need extra help you can ask me on discord 💪
@@lowlevelgamedev9330 Thank you ! I'm currently working on an online raycasting project in SFML, and my network is quite, questionable i would say
My fav teacher is you
bro your audio is out of sync. you can do a clap to sync the sound of the clap with the video
imo it makes the cam section look ai generated
I don't agree with you on ignoring STL conviences (such as smart pointers). You will both write more maintianable code and increase your level of emplyabllity by internalizing the standard library and using the most up to date standard (23).
I don't ever use smart pointers because there are better ways of managing memory, other things like vectors I use but thats about it
also like the cpp standard is horrible, amd even people that use cpp agree on that :)) that's why most big companies make their own stl like facebook or EA have their own stl
@@lowlevelgamedev9330 The STL is not perfect but those who are watching your video are likely not advanced enough to even attempt writing their own dynamic containers. The standard library is also much more portable and consistent between machines. Also, while some companies do implement their own versions of STL classes, the majority of employers will expect candidates to be fluent in the standard library. Manual memory management is one of the hardest things for beginners to understand, so why not use the STL?
Smart pointers are for those that think of memory at just a basic level and can't be bothered to think about more robust allocator structures.
@@Leonhart_93 Umm what? You can create your own allocator within a smart pointer and pass that to every function to indicate that func is allocating memory. Thus, getting rid of hidden allocation practices. Smart pointers are the most ideal way of handling basic memory management of a dynamic object's lifetime.
As a beginner programmer these types of videos are my lifeline
glad to help 💪
Devs complaining about C++ being flawed due to complexity simply have skill issues. The only flaw to C++ was its attempt to honor backwards compatibility. Which caused all kinds of issues on how to write proper C++. Modern C++ is an absolute joy to write.
I don't agree with that, cppsyatem is way to complex and there are way too many rules, bro the guys invented a turing complete system by mistake without intention and started to use it :)) and the wordt part id that If I do something I can't even know if it is correct, is the perfect forwarding correct there? did I miss a wierd reff type case? I don't want to have to deal with that
@@lowlevelgamedev9330
I think we may have to agree to disagree lol. C++ is the only language that can build any type of software with modern methodologies while giving the developer maximum control and performance over said software. It has a very mature standard library. Modern C++ is very clear on what the "rules" are. For example, rules governing how to properly control a dynamic object's lifetime. Which was a big issue in C++ for years. For the record, I like C, but I often find myself having to write duplicate code because of no generics and I find myself at times having to write something from scratch that should be in the standard library so I don't have to pull in a bunch of outside dependencies or waste time reinventing the wheel. I will say to your point, the learning curve for Modern C++ is annoying. It will take your average developer 4 to 6 months to really have a good grasp of C++. And I can see how that would scare devs away from the language. Most devs I encountered wanted to learn a new language in a week or two. That will never happen in C++. But I respect your passion for C. The language should continue to be used.
@@johnathannichols237 May be i'm overthinking, but you say the word "modern methodologies" as if automatically implying that since they are modern, they are better, because that's how it works with history, with society, with technology, with science. Well, in programming this statement is incorrect :) Because methodology is just a process of thinking. And it can be suitable at some point, and not suitable at some other point.
hi your editing leveled up. you pay somebody to do or improved your skill?
both actually thanks 💪 this video was edited by someone else and the last one was edited by me 💪
Now learn just and fight the borrow checker!
no lmao
Lol I was searching how to feel better after a break up and then I have this. Best medicine from there
bruh sorry to hear that :((( stay on the grind king 💪
Hey bro how long have you been doing C++
the thing i regret learning late is how to really use the compiler, 90% of the time i spent on my older projects were figuring out how to link the libraries (now i find it easier).
How did u learn it i am stuck help me please
@@AngadYT_ which part are you having problems in? like are you having problems with compiler errors or linking etc.
@AngadYT_ If you are having the same problems as me, i fixed the library directories by adding -L./linkdirectory, and libraries by -llibname (replace the placeholders with the.lib file name)
Is it mean me or is the audio not synced to the video?
probably, I'll be more carefull next time
I have struggled more with CMake than using clang++ or g++.
Any suggestions on how to properly learn CMake?
Give up and code every damn library yourself? :D (Probably still easier than learning cmake)
yes it is annoying, I will make next month probably a new tutorial but I have that tutorial that I linked + I have the video about my setups, I recomand seing how I did my setups and copy that
Try premake
The Cherno is also awesome channel
I haven't used C++ EVER in my life before. I have used C a bit in college, so I just learned a bit of syntax.
The most I learned was while making a game in Raylib. I learned a lot of C++, game-dev, and how games work in general.
Raylib abstracts a lot of OpenGL, so it lets me only focus on C++ and game design.
instead of cmake , i would advise begineers premake , its bit easier and more straight forward , but many popular libraries (that i used) dont have premake scripts which is a shame but it is what it is, for example SDL is cmake only.
I would recommend linking them from the command line, to understand what it does.
But... but but but... lol
I know this is not very relevant, but I was wondering if you've worked with C and if so, what your thoughts on it are.
from graphics programming aspect there is almost no difference. OpenGL API still same
A very blank and simply constructed language. The simplicity in it's design makes it great but it also has aspects which are rather ugly like macros and missing features like proper error handling.
If you would want to try a language like c but with imo well worth improvements you should try out zig. You can use c code in zig as well or just use it's build system to compile your c/c++ projects which I find way better than cmake.
Zig really has much to offer and I haven't seen a language that checks so many checksmarks and I have tried all the popular languages across the years.
Beware, the docs are not beginner friendly, there are community made ones which are better. "zig init", "zig build run" is all you need to start a new project with lots of comments, isn't that amazing?
not that much, but I would ratuer use cpp but use it like it c because I use vectors and stuff
its not like cpp has error handling :)) who uses exceptions
@@lowlevelgamedev9330 typical C# user uses.
C++ is like U-232 If not handled with care, It might take you down
teacher is the major roadblock you choose to take. not beneficial in any shape or form. just get good. yourself. you dont need a teacher to instruct you. do you have wisdom inside or outside. robot or a living being.
bro what, having a guide that knows a ton of stuff is the best thing you can have, once you get yo advanced stuff its very hard to find information online
vulkan is easy, change my opinion
bro 💀 vulkan is the hardest option from the hardest programming area lmao
I can use pointers in it
teach me please...
@@lowlevelgamedev9330 even when i want to be more pragmastic, i wont give up with vulkan.
Because i still like challanges.
No idea about vulkan, but i've been using SDL3's new GPU API that wraps Vulkan, Metal, and DirectX12 and its not as difficult or complex as I thought it would be. It is still lacking in documentation, though, so I wouldn't recommend it to beginners yet. I do like that the code will work cross platform though.