C++ is not an OOP language. Its a multi-paradigm language which lets you develop Object oriented systems. You can mix and match various paradigms to solve your problem as it seems fit. It doesn't force you to follow a certain methodology. For example : in OOP languages like Smalltalk and Java, everything is an Object which certainly not the case with C++.
@kasufert10 ай бұрын
If the C++ committee wanted us to do FP they wouldnt have made us type out S-T-D-Colon-Colon-Function every time we want to pass a function.
@jasonfevang967010 ай бұрын
I’m mostly with you, however the standards committee is trying. Newer versions of C++ are introducing much more convenient functional-programming style features. See std::ranges and improved lambda support with the auto keyword. They can’t change older versions of C++ or remove features, so adding new features is all they can do, and they’re doing it
@aniketbisht282310 ай бұрын
@@kasufert No, just use auto with appropriate invocable concept and you're all set. For E.g. : void process(std::invocable auto func) { .... } the process function takes an invocable that accepts a string_view and returns an int.
@kasufert10 ай бұрын
@@aniketbisht2823 C# only requires Func or Action for a function variable, or x => f(x) for a lambda. I’m not saying C++ doesn’t have those features but the syntax is quite cumbersome.
@aniketbisht282310 ай бұрын
@@kasufert That's just the standard version. You can also define your own concepts which are much more specialized and compact (less verbose). C++ lambda expressions are only slightly more verbose than C# because more things need to be accounted for like captures, template parameters, attributes etc. If you want one-liner lambda expressions, a widely used library to do that is Boost.Lambda2.
@the-programing6 ай бұрын
In c++, it is hard to shot yourself in the foot, but when you do you can blow your leg off. In rust, it is impossible to shot yourself in the foot, because you are forced to remove both of your legs.
@anonymousman44195 ай бұрын
Lmfao, good analogy. Rust is just slept on because he can't let developers write shit code.
@imveryhungry1124 ай бұрын
@RustIsWinning where is rust now? Noone uses rust for anything real.
@MakeitFast90524 ай бұрын
This is... Accurate.
@RustIsWinning4 ай бұрын
@@MakeitFast9052 it is total nonsense. The thing that lets us shoot into the foot is in a different place. If we ever need it we can use it but most of the time it is not needed.
@RustIsWinning4 ай бұрын
@@the-programing tell me you dont know rust without telling me you dont know rust:
@LagFlicks Жыл бұрын
6:45 clearly this was a secret coded message to tell us to use Go
@stopper02034 ай бұрын
LOL 😂
@albizutoday275425 күн бұрын
Yeap and Rust to gayness
@SomeRandomPiggo Жыл бұрын
C and C++ will never be replaced, in the past 30 years so many languages have risen and fallen, but C (especially) and C++ have really stood the test of time
@KrXYT Жыл бұрын
C++ will lose to Tha Rust Propaganda
@dmitriidemenev5258 Жыл бұрын
Other languages simply didn't offer what C and C++ did in terms of low level control. Rust does and does it better.
@kasufert Жыл бұрын
The Ottoman Empire will never be replaced, in the past 500 years so many countries have risen and fallen, but the Ottomans have really stood the test of time
@breadiusloafus5068 Жыл бұрын
I think C/C++ will be replaced when all of the children of people here watching this video die of old age or AI takes over all the programmers's jobs. But, seriously, Cobol is still being used widely.
@plaintext7288 Жыл бұрын
@@kasufertChina, Egypt (and others I cannot remember) have been along for thousands of years, while other countries have risen and fallen.
@aboliguu1168 Жыл бұрын
The main reason why learning c++ is still the better option in my opinnion is that everyting serious is written in it, so you have infinite resources to learn software development straight from the source. For example, amd’s fsr3 is open source and written in c++, want to know how it works? Helps a lot if you know c++
@skyline00069 Жыл бұрын
"Serious"? Same thing goes for rust, although I agree with your point about the "infinite resources"
@aboliguu1168 Жыл бұрын
@@skyline00069 yeah, with the full meaning of the word ”serious”. Here are some places where C++ is the language of choise: operating systems (even though c is still used in the kernel), game engines, games (unity is the only platform place where language other than C++ builds AAA games), cars, aviation, space, ai, robotics, audio, databases, etc etc etc. Rust can do these things but C++ is still the ”industry standard” in real world and performance critical applications, so basically in everything else than webdev and enterprise code aka java. So i think that can be summarized as ”basically everything serious is written in c++”, you don’t see cars driving around with rust running in the drive computer.
@marshpin Жыл бұрын
@@aboliguu1168 Why do you think that is? Rust is a newer language, and it only recently started getting backed by mozilla, while C++ is a really old language that most companies have been using for years, even decades on end that wouldn't benefit from switching to Rust.
@stefanplusplus917 Жыл бұрын
@@aboliguu1168 not yet, hihi
@thecloudrazor Жыл бұрын
Spot on! I also agree with you on this. It'd be better for a beginner to thorougly learn C++ first and switch to Rust afterwards.
@the_fl3dd0x Жыл бұрын
Respect for improving the video after constructive feedback from your viewers. This sadly isn't a matter of cause anymore on KZbin. I think it's an amazing video now. Greetings from Germany❤
@mathieucayeux Жыл бұрын
Thats way better ! You've improved a lot the quality of the video compared to the old one ! You took reasonable arguments from boths sides and it seems alltogether way less biased. Bravo !
@NotherPleb10 ай бұрын
Of all the points, I cannot agree that C++ is a better option for larger scale applications. When there are multiple people working on a project, it's so hard to keep track of reference lifetimes or multithreaded safety, and that's where Rust absolutely shines - it will hold your hand and tell you that your code is unsafe without digging into other people's code.
@Инструктор-д1г8 ай бұрын
Agree
@SuppressedOfficial6 ай бұрын
Yeah, I was thinking the same thing when I heard that part.
@anonymousman4419Ай бұрын
@@NotherPleb Rust brings the frustration of runtime problems into compile time.
@Gandhi_Physique9 күн бұрын
@@anonymousman4419 What do you mean by this?
@greyshopleskin23153 күн бұрын
@@Gandhi_Physiqueincorrect memory management can lead to several kinds of problems at runtime, and some can be hard to debug. However with rust, you always have correct memory management. If you don’t follow the rules of the borrow checker, the compiler will give errors and won’t compile. So you have to deal with errors at compile time (which is easier) instead of dealing with errors at runtime
@Josh-kw7zk Жыл бұрын
4:19 The java virtual machine sometimes it's kinda wild lmao.
@maervo41798 ай бұрын
Actually it is really fast, in most cases even faster than code in c++ because the c++ developer has no clue what he is doing 😂🤣
@F_Around_and_find_out12 күн бұрын
It helps if one know C and C++, so he can read the libraries written in C and C++. And there is Zig which is designed to work with C, safer and more straightforward than C. It’s still in its infancy but the ability to just work with existing C libraries, that is powerful.
@CakeOnBake5 ай бұрын
0:18 Didn't jesus use holy C?
@DumbledoreMcCracken4 ай бұрын
Yes, after he turned Assembly into C, in order to feed the masses.
@outbackigloo64893 ай бұрын
I thought Jesus wrote in COBOL.
@rtfmmycompany44982 ай бұрын
Jesus use TempleOS
@henrycgs27 күн бұрын
I'm pretty sure jesus only wrote in hebrew
@outbackigloo648927 күн бұрын
@@henrycgs - Or Aramaic.
@mirekcerny2081Ай бұрын
Whichever you pick, be sure to subtract 'fad factor' from Rust. Rust is 'cool' because it is new; but it is not going to be new forever. When Java came about, its proponents boasted the same way - that it is going to kill C++, removing those pesky C++ memory leaks once and for all etc. We all know how it ended up.
@cultoftranquility961611 ай бұрын
Lockheed Martins F-35 runs on and uses C++ There are hundreds of thousands of jobs within C++
@ProfShibe4 ай бұрын
I love C++ because I know it contributes to more deaths annually than natural disasters
@DumbledoreMcCracken4 ай бұрын
God, I hope all memory is static.
@Skmei63 ай бұрын
Boeing too uses C++, thought yo let you know what is memory unsafe beings is like
@matthewb192Ай бұрын
Weird for that because I know for certain that the most important pieces of software are written using Ada because of it's safety.
@cultoftranquility9616Ай бұрын
@@matthewb192 Absolutely, I think you are right about ADA. And tts often used together with/complementing C++ ...
@exoticlol Жыл бұрын
I love how you remade the video. Btw, I was in your drunk VC, but I was troublehsooting an issue with my mic, so I couldn't talk. Edit: Remember when you were making something, and it wouldn't work, so you had to make a new project and start over? The problem was with your 'debug' script, it was attempting to run "/src/index.js" but you didn't have an src folder.
@conaticus Жыл бұрын
Yeah I was way too drunk to be socialising or programming 😂
@aniketbisht2823 Жыл бұрын
Problem with Rust for writing low level code is that, not only you have to jump through several hoops to do what you want (get desired assembly with zero extra overhead) but the resulting code is very unreadable and also difficult to change. Readability and the ability to quickly change/iterate through multiple implementation strategies (with their own trade-offs) is crucial for writing performant low-level code. The language also enforce various runtime checks (which cannot be disabled at runtime like C++ asserts), so even if you strive hard to write correct code by using formal methods, testing it religiously etc, you would still be paying for them at the runtime or your code would be littered with unsafe blocks (which defeats the whole purpose while also making you code less readable).
@irrelevantgaymer619510 ай бұрын
You do not understand unsafe in Rust. Unsafe does not defeat the purpose of rust’s memory safety. All of Rust’s smart pointers use unsafe under the hood. The idea of unsafe is to write code where you handle “unsafe” operations and wrap it in a safe way so that when you call the function or block, the user can use it safely. By itself, you can’t do memory unsafe things with Box or RefCell or Rc because the “unsafeness” was abstracted away. Also readability is subjective and a function of experience. If you code a lot in a language, idiomatic solutions are very readable to you in that language.
@aniketbisht282310 ай бұрын
@@irrelevantgaymer6195 I never said unsafe Rust defeat the purpose of Rust's memory safety. In fact, that's the whole point I am making, unsafe Rust is tedious. If you want performance you have to write low-level code catered to your specific needs and then wrap it in nice zero-cost abstractions for application programmers to use and make it generic without giving up functionality or performance. Both C++ and Rust have good feature for providing abstractions (C++ even more so). But when it comes to writing low-level code, in Rust you have to jump through several hoops which makes it tedious to write whereas in case of C++ it's just C which is just simple as it gets. When you are solving a hard low level problem, things should be as hard as they fundamentally hard not more. Rust gets in your way (even while writing unsafe Rust) and makes it harder and more complex than it needs to be.
@Heater-v1.0.09 ай бұрын
On discovering Rust and evaluating it for up and coming projects I rewrote quite a few of my not so big C/C++ projects and libs into Rust. Performance turned out to be similar, sometimes slower sometimes faster. No, I did not use "unsafe" anywhere. As for those run time checks. There is only array bounds checks as far as I know. Oh and arithmetic overflow checks in debug builds. Often they are optimised away by virtue of the compiler having more information about what your code does. Often they are a vanishingly small part of execution time. Either way they seem to have negligible effect on performance. I have lots of number crunching code that operates on arrays to demo that. So no, there is no problem with Rust for writing low level code. You are only speculating that having not tried it or measured it.
@eypandabear74837 ай бұрын
@@irrelevantgaymer6195the “unsafe” keyword in Rust is terribly misnamed. It doesn’t mean the code is unsafe, it means you declare to the compiler that you have manually checked the block’s safety.
@irrelevantgaymer61957 ай бұрын
@@eypandabear7483 I don’t think it’s misnamed, but it is a bad name. I think the name itself leads people to use unsafe when it’s the best solution to the problem.
@CoolDude9112 ай бұрын
I found that learning Rust improved my code and make a flatter hierachy, more straight forward memory usage ect. Most business people don't care about the details of the language, they will just use C++ or Javascript because the ecosystems allow a lot of people to do it.
@virusblitz Жыл бұрын
Nice! The video truly is much better after the remake, thanks for owning up to your mistakes and handeling critisism so well :)
@djryanashton5 ай бұрын
1:38 this is not particularly strange or unique to Rust. Swift and Objective-C have Automatic Reference Counting which similarly deallocates when the last reference is dropped.
@HyperFocusMarshmallow9 ай бұрын
4:45 “a lot of people enjoy this approach”, referring to “doing more work to link packages correctly”. Is this a serious argument that I’m not getting. Is there some example of a benefit? I do get that for someone who knows that approach it is just a part of life, but would you recommend that to someone picking up programming tomorrow?
@guilherme5094 Жыл бұрын
Bjarne Stroustrup's sacred word has already been written, many false prophets have already tried to kill his message, and many will still try, but C++ resists! (This is just a joke guys, but yes, C++ is still better option).
@kulkalkul8 ай бұрын
There are no "better" tools, there are trade-offs. Some tools are better in some jobs than others.
@shabadrandhawa38298 ай бұрын
@@kulkalkul I agree.Use rust where it makes sense and use c++ where it makes sense.Same for any other language.
@NoSpeechForTheDumb6 ай бұрын
IMO C++ is the one big exception to this golden rule because it was deliberately not designed to be specific to anything. Rather the opposite, it's a jack of all trades and a master of nothing so for virtually every specific task there's a better tool. C++'s luck was that it came early and that many projects are not very specific to begin with. LOL
@hanuk32834 ай бұрын
@@RustIsWinningkid wakeup.
@hanuk32834 ай бұрын
@@RustIsWinning you did what?
@diadetediotedio6918 Жыл бұрын
Just use whatever you want, I don't think it ever had any point on this discussions. Obviously it does not mean the discussions in are pointless, in fact it is pretty needed because security in software development, but for most people this does not matter most of the time. You should engage in these discussions when you are actually planning on making something that can affect peoples lives if it fails, and discuss why it is not more justified to use a language that is built to be safe instead of one associated with unsafety. People have good points on both sides, like static analyzers and the dont's of static analyzers, but the discussion does not make sense if you are making a game or a simple software, chill and make it wether in Rust or C++ or really anything at all.
@AK-vx4dy6 ай бұрын
2:11 It is explained in Rust docs, it is nature of reference counted smart pointers, especially in connection with pointers designed to be out of borrow-checker control by design (RefCell) , it is well explained how to avoid this or use Weak if you need cycles. This only not freeing memory, technicaly it is leak (leaving less memory) but it could only lead to DoS. This example is unfair, because it causes stack overflow but it happens because println! macro don't handle cycles of this kinds well and loops. And many languages with such power (.toJSON ) have the same problem, because it is not simple or costless to avoid it.
@kulkalkul8 ай бұрын
Amethyst is long dead, bevy holds the torch (and fyrox ofc, though its community is way small compared to bevy even though codebases are in similar size). There are lots of small frameworks or engine agnostic libraries that one can use for their own framework.
@SamualN Жыл бұрын
0:24 well it's **nearly** a superset
@aerosoftware Жыл бұрын
If you want to be a true backend developer, master both languages, C++ (especially latest standard) and Rust.
@reilwaystation43725 ай бұрын
Too many language just choose one
@reilwaystation43724 ай бұрын
@@RustIsWinning doesn't necessarily many but whatever the job demands isn't?
@hanuk32834 ай бұрын
@@RustIsWinningbeginner mentality. skilled developer knows how to write safe code in any language.
@dschledermann2 ай бұрын
Rust has a distinctly high-end-ish feel to it, while at the same time producing very safe and very fast binaries. What's not to like?
@yurhomi44785 ай бұрын
I’ll be using both as well as C.
@madhavgoyal6093 Жыл бұрын
This video got uploaded just when I needed it
@panos21sonic4 күн бұрын
The "use neither because theyre both a shitting mindfuck" part took me out, I did not expect that...
@ulrich-tonmoy Жыл бұрын
Currently Rust would be best choice for servers where you cant/dont want to use gc lang else C++ specially For game dev C++ is the overlord for highend graphics
@kphuts8156 ай бұрын
Why is c++ so good for high end graphics? I'm looking into making an engine in my free time and I'm trying to decide between c++ or rust
@ulrich-tonmoy6 ай бұрын
@@kphuts815 both are good but c++ is standard for game dev industry and theres 2 rust game engine bevy and frox they are not as popular as other engine so i would say c++ is the safe choice
@anonymousman44195 ай бұрын
@@kphuts815 Because the of the large code base written in C++ (and in CUDA C++ if you're using Nvidia), otherwise you have to be a very good developer if you want to use Rust.
@hamzarashid75798 ай бұрын
C++ Countless features. You got me there
@gast1288 ай бұрын
With modern C++ you also have pretty much safe code but it isn't enforced by the compiler. C++ only lacks an extended standard library which is its biggest drawback compared to other environments (e.g. Java; C#).
@AK-vx4dy6 ай бұрын
3:11 Yes it is now Option type in C++ but not have such power ;)
@obiaboimmanuel8729 Жыл бұрын
For more clarifications please, Rust was announced 2010 and got stabled 2015
@MrAbrazildo Жыл бұрын
6:38, to me, if I have flexibility, I have everything! (theoretically)
@talha_coding_tutorАй бұрын
"C++ makes it easier to blow off your legs, Rust makes it harder and dangerous, when you do the shell(bomb) bounces back , penetrates through and stays in head for a while and then BOOM ! "
@henrycgs27 күн бұрын
this analogy makes no sense c++ makes it easier to shoot yourself in the foot. rust has kept the gun in a locker and is not fond of playing with firearms.
@talha_coding_tutor27 күн бұрын
@henrycgs this analogy only does not make sense when it is regardedly compared with the memory safety features but what I'm trying to say about is due to the language complexity and the learning curve the steep learning curve
@ltecherofficalАй бұрын
For the bindings, you can get it to work by adding a C api in your library with `extern "C"` and rust can link that. Also is it just me or is the script somewhat ChatGPT generated, I hear some common words ChatGPT uses.
@whoopsimsorry2546 Жыл бұрын
Thank you for getting it right this time. I respect that.
@remboldt03 Жыл бұрын
"Control over memory" for me only means "freedom to write more bugs"
@LinuxPlayer9 Жыл бұрын
real
@personator10 ай бұрын
tbf if you don't need control over memory there's not much reason to use c++ or rust
@remboldt0310 ай бұрын
@@personator I don't need full control over memory. That's why I prefer Rust over C. Rust is memory safe without relying on a garbage collector
@rtfmmycompany44982 ай бұрын
@@remboldt03ffs Java is relatively memory safe and have garbage collector and can be fast...still most people hate Java...I like to be able to do whatever I want and that's why I prefer C and Perl do it your way...not right way...and let be honest Rust makes it difficult to write unsafe code but not impossible..if u are dumb language doesn't help
@ХузинТимурАй бұрын
@@rtfmmycompany4498 Java has bad ergonomics and Java developers love bad design patterns (e.g. Dependency injection or abstract factory). This makes writing Java frustrating and causes such extreme dislike of it in a community. And JVM is memory hungry.
@adam_duda Жыл бұрын
"In fact jesus himself used c++ whitch is probably the reason why he was crus-" that really got me 💀
@yarpen269 ай бұрын
You could say that he... ...nailed it.
@adam_duda9 ай бұрын
@@yarpen26 bro...
@MohammadAhmad-rw6in8 ай бұрын
Bro that literally made me spit out water
@jigsaw22538 ай бұрын
Lame
@rouxgreasus7 ай бұрын
That was wild as a Christian 💀
@ar_chbtw23 күн бұрын
Ownership does not focus on preventing memory leaks: it focuses on other stuff, like different kinds of segfaults.
@ggtooez Жыл бұрын
Which language to learn? Both, if you have the time. They are really not that different. Once I rewrote quite a complicated project from Rust to C++ in 4 days. Which language to use? Depends on the use case, and what coding style you're most comfortable with. You glossed other linking and library management, also cross-platform development. Rust makes it trivial to develop for (and on) several platforms with nearly no extra effort. I write something on Linux for days, and then it just compiles on my Windows machine no problem.
@matthewb192Ай бұрын
The build systems and dependency management is something that I hate with C++. Rust just makes it so easy.
@idedary Жыл бұрын
Learning C++ in 2024 is like learning Latin. You need to know it to work on existing projects and get a job. Learning Rust is for starting new generation of applications. Rust is objectively better than C++ in my opinion even though people say they have less freedom because of oppressing borrow checker. My counter argument to that is that it is just a strict mentor who forbids "bad" practices. I become a better programmer in the last 2 years of using Rust than I would have become in 20 years of not using it. It also makes collaboration more practical as you don't need to decipher your colleagues code, because it's "relatively" the same due to the rules. I see only benefits here.
@LaysarOwO9 ай бұрын
agree with most point but "objectively better in my opinion" is just not it
@dad81028 ай бұрын
But but but it’s slower 😢
@DumbledoreMcCracken4 ай бұрын
"would have become" , not became. People, who didn't learn the rules of grammar, cannot be trusted to pay attention to details when coding. That is my, empirically based, experience.
@@RustIsWinning exactly, you've proven my point to a T. My expectation is that you were "educated" in Alabama.
@MasterA68582 ай бұрын
The syntax alone of Rust is insanely horrible, if you just want general purpose, just go with C. It's simple, plain and efficient.
@iliketoast-q9bАй бұрын
C is far from simple when you actually use it. You really need to know what you're doing and if you struggle with syntax already, you probably don't.
@MasterA6858Ай бұрын
@ lolz, are you high or what
@henrycgs27 күн бұрын
typical comment of someone who has little to no experience with rust. honest to god it's one of the cleanest and most elegant syntaxes I've ever seen and several languages are copying many of its features, even big guys like C#.
@henrik9088 сағат бұрын
@@henrycgsfemboy you know nothing about c.
@comalab23877 ай бұрын
i think its lovely of you to acknowledge that c++, a language thats been used excessively for 40 years, is "fully capable" :')
@yep981710 ай бұрын
The problem with C++ is people who say they know it, dont know it enough to write a code faster than Rust, even though language itself allows it. C++ is gonna be the next Assembly
@saadmuhammad3119 Жыл бұрын
Forget C++ or Rust just learn C.
@48_subhambanerjee229 ай бұрын
If you know c++... You can easily learn c
@sankalppatidar49758 ай бұрын
forget C learn assembly
@TannerJ078 ай бұрын
@@sankalppatidar4975 Assembly? Real programmers use pure binary
@GameStudio_Uz8 ай бұрын
@@sankalppatidar4975 forget all language and back to the stone age
@KanashimiMusic8 ай бұрын
I had this exact mindset for quite a while, however, since I'm mainly coming from object oriented languages like Java and C#, I always felt like C's type system was lacking some things. Mind you, I'm not one of those people who think OOP is the solution to everything and bloat their program with an excessive amount of classes for things that don't really need them. I like the simplicity that C's type system has, but for me personally, I think it's just missing some things. I was hoping that C++ would solve that problem for me, but the moment I tried to make a simple C struct and C++ literally prevented me from doing very basic things with it that are possible in C, I dropped the language immediately and went back to C. Then I decided to give Rust a shot, and imo it's a perfect middle ground. Its type system allows for very simple things in the way C does (if you just want a small, basic struct that you want to be able to copy around, just give it the Copy trait and the borrow checker will leave you alone, SOMETHING THAT EVEN C++ WAS NOT CAPABLE OF FOR ME), but also has more advanced features like Traits (which are similar to interfaces). Tagged unions are also a built-in feature (kinda misleadingly named "enums", though they CAN be used as regular enums as well) which is really powerful.
@AK-vx4dy6 ай бұрын
I only add that other powers of Rust are: macros [sane] - super power to skip so much boilerplate without compiler behind scene magic , strong and robust type system which let you shield not only from memory errors but some logical errors by next programmers which have to work with your code ;)
@4wb Жыл бұрын
i already watched this didnt i
@adam_duda Жыл бұрын
Me too...
@tabbytobias2167 Жыл бұрын
same :|
@j0of Жыл бұрын
pretty sure this is a reupload, not sure why tho
@Kventis Жыл бұрын
Yeah, its a re-visit with improved points
@i6Hx Жыл бұрын
The Jesus frame got removed
@mage36902 ай бұрын
WYM, that's a perfectly legible linker error. Your function or whatever with the long-ass name in the ViewController file tried to access a variable or function declared extern within ViewController but not defined by any files provided to the linker. Or, to put it another way, that long-ass name wants some shit the linker don't know where's at.
@tabbytobias2167 Жыл бұрын
y not just do what nim did? (but without indentation cuz screw that) make high level code compile to c++, and add option to write c++ for control. 🤔
@Boghost14305 ай бұрын
I'm still a student but I want to work in robotics and AI, which one would you recommend me ?
@damolaomoniyi51455 ай бұрын
C++ and python
@Boghost14305 ай бұрын
@@damolaomoniyi5145 Ok thanks
@henrik9088 сағат бұрын
@@Boghost1430zig and C
@haliszekeriyaozkok4851 Жыл бұрын
It's a very good summary for all languages. Rust is way more better in my case because it's more easy to setup and deploy, that things in c++ is a nightmare.
@magnusm45 ай бұрын
Since computers them selves think in ECS form, hence why ECS is faster than OOP. Then why not design a language around the system's native form even if it's not as human friendly?
@FULLTILTSWIFF4 ай бұрын
do it yourself if you want thing's get done, sadly im not that good at CS to start such a project, good point
@iTube4UАй бұрын
this script is 98% chat gpt generated, specially the c gives fine-grained access part
@siman211 Жыл бұрын
any video courses you can recommend for c++? for beginners?
@DigitalCanineGames_ Жыл бұрын
there's tons, just type C++ tutorial for beginners on youtube and you'll find a 10 hr long tutorial
@casey36036012 күн бұрын
Rust seems like it’s certainly moving towards being the most in demand language for employment.
@toby99994 ай бұрын
Rust is not developer friendly. It is a nightmare to learn and use. I've learned and used dozens of languages over the past 40 years, and rust is by far the most difficult I've encountered. It's way more difficult than C++, and the syntax sucks. I've just completed a small benchmark based on the prime sieve... C++ vs rust. Both using the same approach. Results: execution time for primes to 10,000,000,000 (code optimised for speed. CPU i7 12700) MSVC C++: 27 sec (MFC GUI App) Clang/LLVM C++: 30 sec (MFC GUI App) MSVC C: 25 sec (terminal) Rust: 29 sec (terminal) The C++ implementation is a few hours work. Converting to rust, about 2 days' work. And for all of the MS bashing, MSVC came out on top, though not by much. This was just a fun exercise. I wouldn't read much into these figures, but I did expect rust to outperform.
@RustIsWinning4 ай бұрын
Holy 40 years!! Maybe it's time to retire? Dont worry. We non-boomers are improving the world 😊
@user-to4iq4bq9g3 ай бұрын
Rust is for long run and efficient performance, not the speed.
@placer52062 ай бұрын
did you use the --release tag? because if you didn't the compiler lets a lot of optimization out
@antifa_communist2 ай бұрын
I had no problem learning Rust at 17 with about one year and three months of experience with JS and PHP. I had way less experience and only in dynamically typed languages. And I had barely any issues. It's my go to language for everything now, even scripting. So this is definitely not Rust's issue.
@henrycgs27 күн бұрын
> programming for over 40 years > finds it difficult to use a language that is unlike anything that came prior who could have thought.
@AdamJMichaels20105 ай бұрын
0:16 jesus actually used holyc
@H3cJP Жыл бұрын
6:29 would had been funny if you ended there
@conaticus Жыл бұрын
after hours of editing it was very tempting 😂
@joebulfer26 күн бұрын
C++ is NOT a superset of C. It evolved into it's own language over time. Typescript is a superset of Javascript because all Javascript compiles/interprets/runs/whatever to Typescript. Writing C in C++ codebases does not compile and vice versa. Edit: This one point grabbed my attention. Otherwise it's a decent video, but I could have read straight from the wikipedia page, as you clearly have yourself.
@bogdannn8468 ай бұрын
Traits are unique to the language - not really. Haskell and Scala have them too, probably others as well
@florianlang9266 Жыл бұрын
It can be a funny video to try the QUICK protocol. I don’t have a idea what project you can do. But I think it’s interesting
@nerdastics3987 Жыл бұрын
c++ while annoying is rewarding and challenging. Other languages, well.... is easy >= aneurysm? but also c++ is probably the most flexible language there is.
@nerdastics39874 ай бұрын
@@RustIsWinning but that's part of the fun!
@mazazaza113 ай бұрын
@@RustIsWinningmore like a skill issue, cope neo rust liberal
@RustIsWinning3 ай бұрын
@@mazazaza11 Found the EdgelordZoomer LOL
@mazazaza113 ай бұрын
@@RustIsWinning said by the mossad funded bot
@ninjaasmoke11 ай бұрын
my problem with rust is i feel like im being force fed good food. ik its for my own good, i just don’t like it.
@adam_duda Жыл бұрын
C++ team:
@evandrofilipe152611 ай бұрын
0:41 TRAITS ARE NOT UNIQUE TO RUST Anyway, continue
@zactron19979 ай бұрын
If I'm working alone, maybe I'd prefer C++ if I was more experienced with it. But working in a team? Rust hands down. No matter how talented the people you work with are, eventually someone will screw up, and the amount they screw up is only limited by the tools they use. In C++, your ability to stumble into a catastrophic design flaw is substantially higher than in Rust. The worst case scenario in Rust is a slow piece of code, or something that refuses to compile. I'll take that over an accidental Heartbleed any day of the week. It's not the 90's anymore, your little video transcoding library that doesn't need to be memory safe is now a pivotal piece of software running every video website on Earth. The consequences of insecure code are so much greater than they ever were. Honestly no different than speed limits. Sure, *you* might think you're able to drive faster than the limit safely, and emergency vehicles get to be an exception, but that doesn't change the fact that speeding kills.
@danwellington3571 Жыл бұрын
Something I will always hold over every other language is that both the Linux kernel and Tor have adopted Rust Both are projects that have to be perfect because if they aren't then people die Until Linux adopts a third language and/or ditches Rust, I'm gonna be a smug bitch about it
@hydradragonantivirus11 ай бұрын
I developing an ClamAV community project on C/C++ instead of Rust.
@cron3x Жыл бұрын
What are your thougts on Zig, is it worth learning?
@ok-alarm Жыл бұрын
imo, learn it, then you would know if its really worth it.. but if you're choosing what to learn first, I'd say: C ➡ C++ ➡ Rust ➡ Go ➡ Zig
@antoine8611 Жыл бұрын
Every language is worth learning if it really is the best choice for a project, even if only for learning different ways code can be written. If you already know languages that allow you to get work done, I suggest spending time mastering those instead of learning another you might never use. I would also advise you to ask about Zig to Zig experts, not Rust ones haha.
@HoloTheDrunk Жыл бұрын
@@ok-alarm I was told before learning Rust that "if you know Rust, you don't really have a reason to use Go" by a friend who learned and used Go for years before learning Rust, so I'm not entirely convinced
@ok-alarm Жыл бұрын
@@HoloTheDrunk well thats really up to, on my case, I also know rust first but there are few jobs open for rust than Go, so I learned Go for my full time job then rust for my personal projects and building up my portfolio for future rust jobs.
@antifa_communist2 ай бұрын
@@HoloTheDrunk I don't know much Go. If you know Rust, what benefits does Go have?
@prawnydagrate Жыл бұрын
didnt this video come out like 2 weeks ago
@RafaelMilewski Жыл бұрын
Rust is superior, but just a note C++ is not a superset of c for a long time...
@egg-mv7ef Жыл бұрын
rust is very much not superior
@RafaelMilewski Жыл бұрын
What is superior than rust for you?
@naterupard552 Жыл бұрын
normally i’d it’s impossible to “kill” a language, but it really does seem like the Rust community is hellbent on killing C++. I’ve tried learning C++ three times (i’m still a novice) and the first two times i just got an instant headache, even after learning Java.
@devon9374 Жыл бұрын
Damn lol, what gave you the headache?
@rishavgaming866211 ай бұрын
In my opinion c++ should improve on error detected with g++ and gcc complier and c++ should include most optimise code in c++23 such math_23 something like that
@7A7z9 ай бұрын
hmm what if i learn both what should i do first ?
@Инструктор-д1г8 ай бұрын
You can learn both at the same time. They are pretty similar imo
@7A7z8 ай бұрын
@@Инструктор-д1г sir yes sir
@anonymousman44195 ай бұрын
C++, Rust coding intuitions don't carry over well to classic programming languages (e.g. C/C++, python, Java)
@andreaselfving27873 ай бұрын
Can't wait for cpp match expressions and typed enums. When they are implemented, I'll probably stop using Rust altogether.. There are even some ongoing work in a cpp borrow-checker. Also, using cpp for historically object-oriented implementations are considered old-school and pure interfaces ( Rust Traits) are used instead. There are some caveats that you must know in cpp, which isn't ever any problem in Rust, though. cpp23 and cpp26 really isn't the same language as cpp11 (or cpp98), which seems to be the version must Rust devs using when they bash cpp. This is a problem in itself - there are too many ways of doing the same thing in cpp. To keep up, you really need to make an effort every new release (Professional cpp Linux and embedded systems developer, dipping his toes into Rust - though I prefer using go wherever i use Rust right now)
@knnk40002 ай бұрын
"once c++ copies the essence of rust, i will move to c++" great point c++tard
@RustIsWinning2 ай бұрын
Damn this guy is clueless deluxe 😂
@scratchoffticket1 Жыл бұрын
Which computing languages should i learn to be a pro in cyber security and cloud hacking?
@skorp5677 Жыл бұрын
Security is a field for which you need years of experience. There are no languages one can learn to easily be proficient. It would be C and probably some bash though.
@kerojey4442 Жыл бұрын
Learn how assembly work and maybe some C
@zekiz7749 ай бұрын
It doesn't really matter with which language you start.
@laffta67277 ай бұрын
nikkiinit KZbinr says learn python, linux and sql--cyber mentor KZbinr says to learn javascript and python--hmmm good luck
@alurma Жыл бұрын
First of all, thanks for improving the video. It's still misleading in many ways though. > C++ is object oriented C++ is multiparadigm. > Rust uses trait system which is unique to the language It's not unique to the language. E.g. Haskell type classes are similar to traits. > Rust effective at preventing memory leaks I don't see how Rust helps against memory leaks how C++ doesn't. > .clone overuse C++ is no different > C++ is also known for great backwards compatibility Rust is the same with editions. > Rust has good interop with C C++ is the same. It's true that Rust can't easily interop with C++, which is a good point.
@thepigcat76 Жыл бұрын
Tbh traits are not entirely unique to rust. They are pretty much interfaces from java/c#/go with fancy typing on top
@v01d_r34l1ty Жыл бұрын
Technically speaking, you can create interfaces in C++ too with virtual abstract member functions.
@diadetediotedio6918 Жыл бұрын
Nah, not exactly. They are closer to type classes than to interfaces, at least if you consider interfaces as they where originally designed in Java/C#.
@phoneywheeze Жыл бұрын
even php has traits
@crimsonmegumin Жыл бұрын
Rust Traits are way more powerful. You can impl a trait for a external type, you can impl a trait for a generic, you can add specific constraints for a impl, you can have associated constants, you can have associated types, you can have generics in associated types, you can have constraints in associated types. If I would pick an example, it would be Haskell's classes, though I'm not sure if it has all Traits' features (you can have HKT in Traits, but it's syntax is kind of weird and there is not std Trait for that)
@nossir8 ай бұрын
Any resources for me to learn rust? I've been youtubing but the ones i found are a million hours long (i don't have that time unfortunately and i need to make a compiler and i really want to use it and not C) with... a HUGE LOT of info, talk about spending more than 7 minutes explaining what data types are on a PowerPoint presentation instead of teaching how things work on the surface and leave me to search on my own (which i find more productive to me)
@X3n1al5 ай бұрын
the book is the best resource (search "rust the book")
@AvidiaNirvana11 ай бұрын
I'm new to this, what exactly do you mean by memory safety issues? Can the code damage your RAM or ROM?
@mikedesanta461211 ай бұрын
A simple app can take gigabytes of RAM, if bad coded.
@Heater-v1.0.09 ай бұрын
I suggest you spend a decade working in C and C++. Or even assembly language. Then you will understand what memory safety is all about and which you had not wasted a decade of your life.
@kulkalkul8 ай бұрын
@mikedesanta4612, @toparamennoodles9652 What you are describing is "memory leak", which is a memory bug, but less impactful in sense of "safety". Memory leaks can cause OS to shut your program or cause DDOS attacks, using your server's resources; but that's the limit of damage they can do. On the other hand, there are other memory related bugs that have much serious issues. Like accessing a donkey expecting a whale, trying to get 21. donkey out of 20 donkeys, trying to ride a donkey that is already being riden or trying to ride non-existent donkey. These are dangerous because they can corrupt data, or worst, cause remote code execution.
@janisir45295 ай бұрын
Accessing memory you are not supposed to, and leaking memory by not freeing manual allocations.
@Kventis Жыл бұрын
The impossible match-up
@minneelyyyy Жыл бұрын
traits are not unique to rust im upset and angry >:(
@darkmagic543 Жыл бұрын
Wait what Rust being the best choice for general purpose programming with its few areas where it is used?
@conaticus Жыл бұрын
While it has a smaller community, it is still used in a wide range of areas. I didn't list all of them but only the most common.
@HoloTheDrunk Жыл бұрын
Having used Rust in a variety of both professional and hobby contexts over the years (e.g. web servers, an OpenGL-based game engine, games, TUI applications, HPC, etc...), it's really nice for most things in my experience yes.
@darkmagic543 Жыл бұрын
@@conaticusI don't know, based on the job market, rust has use cases in 2 areas: Crypto and networking (Servers, services, APIs). I am not sure if you mean by general purpose programming that you tachnically can use it for anything - then yes, but you could say the same thing about Java, but in reality neither of these languages are really used in that wide range of areas.
@zekiz7749 ай бұрын
@@darkmagic543I'm not into programming for the money so I don't care. Also Rust is in the Linux Kernel and Microsoft is slowly rewriting parts of Windows in Rust. Also new Android features mostly utilize Rust.
@darkmagic5439 ай бұрын
@@zekiz774 It's not about the money but what is actually used in the industry. Sure, these companies may use it for some parts of their OS (although I don't know about Microsoft), but that is not really what one can realistically expect to get into and it is rather a minority. I think that was one of its intended use cases - writing operating systems and web browsers before it went sideways, so if you are creating something in that area it may be a decent pick
@arta6183 Жыл бұрын
traits are not unique to rust; they also exist in Haskell... Haskell works exactly the same way as rust.
@BGDMusic4 ай бұрын
c++ is good and rust is also good and i like both but i like c++ slightly more because i am more familiar with it
@firdauszainudin71182 ай бұрын
C is basically Eminem/50cent of Programming world, many new gen try cancel them, but fail
@Norstator10 ай бұрын
I want to believe the Rust hype but it is not easy.
@samansamani44778 ай бұрын
"unless you are looking for a job"... Stop bullying us man ☹️
@Erarnitox10 ай бұрын
I feel like Rust is just C++ where you limit yourself to only use unique pointers for anything that is heap / dynamically allocated. Is that far off?
@irrelevantgaymer619510 ай бұрын
Rust also has references which is what you use most of the time. Smart pointers allow you to essentially create a reference with added functionality, sometimes that added functionality is allocating the data on the heap. You would use smart pointers for the same reasons you’d use them in C++, to abstract away some of the memory handling to make it easier to reason about your code. And there is more to rust, so you’re not far off, just wholly incomplete
@roiqk Жыл бұрын
Ive already seen this vid????
@МаксимСоколов-д4я4 ай бұрын
Short answer: C++
@RustIsWinning4 ай бұрын
Long answer: Rust
@TheSeiris9 ай бұрын
The only realistic benefits to pull developers to rust was supposedly faster build time. In fact, c++ build time is said to be generally faster, which is already strike out. If c++ 20’s module system works out and unfolds greatly, I think theres no hope for rust in future. As theres no reason to move.
@SuppressedOfficial6 ай бұрын
I can't imagine where you heard this. People have been complaining about build time in Rust since long before 1.0. Grandpa? Is that you? Did you smoke one of those funny cigarettes again? :)
@MortCodesWeb5 ай бұрын
I agree
@RichardLofty Жыл бұрын
Zig is better than both of them. And even while still not even being 1.0
@crimsonmegumin Жыл бұрын
What Zig has that Rust doesn't have? I know Zig has a cool macro system...
@ciso Жыл бұрын
@@crimsonmeguminZig has no macros and is focusing more on replacing C.
@crimsonmegumin Жыл бұрын
@@ciso Sorry, I used the wrong term. "Comptime expression evaluation"
@HoloTheDrunk Жыл бұрын
Different use cases. Very cool project and I hope it ends up being used everywhere, but I wouldn't use it everywhere I use Rust (or C++ for that matter)
@ciso Жыл бұрын
@@crimsonmegumin No problem :)
@Freddy789095 ай бұрын
I think of it as C++ reborn as Rust. It's reincarnation! Just like Java -> Kotlin. 👻
@henrik9088 сағат бұрын
Kotlin is better than Java Rust isn't.
@CobaltSpace2 ай бұрын
One of the main issues I ran into with C++ is that because C libraries can almost always be directly used in C++, a C++ wrapper library with C++ style safety won’t be made. This is another thing drawing me to rust: every library I may want to use is rust when I’m interacting with it.
@buskmann2 ай бұрын
Good video! Thanks! 😊
@FriedMonkey36210 ай бұрын
Just learn c# it is something completely different, its not the best at anything specific but it is pretty good for every task all around
@FULLTILTSWIFF4 ай бұрын
sure, will rewrite my game engine with C#, will also ping the VulkanSceneGraph dev to use C#... lmao he11 naw kthnxbye