Should you learn C++ in 2023?

  Рет қаралды 50,742

Dreams of Code

Dreams of Code

Күн бұрын

To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/DreamsofCode. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
C++ is perhaps one of the most famous programming languages in existence. But is it worth learning in 2023? In this video, we explore some of the reasons that I think it is, and why you may want to consider learning it.
#cpp #coding #programming
This video features a sponsored segment by Brilliant.org
Become a better developer in 4 minutes: bit.ly/45C7a29 👈
Join this channel to get access to perks:
/ @dreamsofcode
My socials:
Discord: / discord
Twitter: / dreamsofcode_io
My Equipment:
Voice over: kit.co/dreamsofcode/voiceover
Coding: kit.co/dreamsofcode/coding
00:00 Intro
00:26 Versatility
01:15 Performance
02:13 Personal Development
03:02 Sponsor
04:21 Demand
05:05 Constantly Improving
05:58 Tooling
07:03 Complexity

Пікірлер: 192
@dreamsofcode
@dreamsofcode 8 ай бұрын
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/DreamsofCode. The first 200 of you will get 20% off Brilliant’s annual premium subscription.
@GTSilvano
@GTSilvano 8 ай бұрын
Thanks, managed to be in the first 200. Doing the Comp Sci lessons!
@hitarthpatel
@hitarthpatel 8 ай бұрын
you are the next fireship . love your way of explanation and depth of field . can you also make a video on how to setup c++ make(build-process)/cmake when working in neovim .
@recursion.
@recursion. 8 ай бұрын
No fireship videos are not sponsred bny brilliant or hellofresh so there is that.
@joshbarghest7058
@joshbarghest7058 8 ай бұрын
​@@recursion.Conversely, he doesn't namedrop Tom Sowell and Mental Outlaw which is a big plus
@anon8510
@anon8510 2 күн бұрын
@@joshbarghest7058 Mental Outlaw is based
@byronhambly
@byronhambly 8 ай бұрын
"Should you learn C++?" "Yes, if you need it"
@BenjaminWheeler0510
@BenjaminWheeler0510 8 ай бұрын
Almost all companies use it, so yes.
@rando521
@rando521 8 ай бұрын
love the voice quick and concise and i do get dreams of code
@__maskass
@__maskass 8 ай бұрын
Great video, the editing was top notch! I started learning C back in July and have been enjoying my time with it. Haven't delved into the more complex stuff like manual memory management all too much, it scares me a bit😂
@oscarsmith-jones4108
@oscarsmith-jones4108 8 ай бұрын
Trust me, it's not nearly as hard as some of the tutorials make it appear. Just learn pointers, they are invaluable concepts. Even if you move to higher-level languages you will still need pointer-like things otherwise you won't know how to structure your code well. I tried C# before C++ and I was dead-confused by reference types, turns out they are just pointers. Memory management: Your computer has two sections of memory: The Stack and The Heap. The stack is a section of memory where variables are essentially placed next to each other. Think of the stack like a literal stack of plates: you can only add to the top of the stack (adding a plate) or remove from the top of the stack (removing a plate). This keeps the memory consistent without causing any gaps or problems (if you tried removing a plate from the middle it would probably topple over). By default, all variables in C are allocated on the stack. This means all your variables are placed next to each other by default in the order they are declared. This is fast because the cpu processes data in chunks at a time. So when the CPU grabs one variable on the stack, it normally grabs some other variables alongside it for good measure too (at no extra cost). The only problem with the stack is that the variables cannot change size (because they all have to be next to each other). This is because if you imagine a variable growing in size on the stack, it might overwrite it's neighbours (not good). So instead, when you have a variable that you want to grow dynamically in size (like a list) you need to allocate it in a separate place so it doesn't overwrite its neighbours when it grows. This place is called the Heap, and it's essentially just a random "Heap" of variables. The variables do not need to be next to each other this time, so there can be some gaps and slower performance, BUT your variables can be resized on the heap. You might also need the heap if the size of your variable is not known at compile time. It's basically like a bookshelf vs a random pile of books, at least that's how I like to think of it. The bookshelf is more space efficient and faster, but the constraint is the books have to fit next to each other on the shelf. The "heap" of books is disorganised and slow, but you don't have the same fitness problems. You need to manage memory when you need to add or remove from the "heap", the stack is automatically done for you (variables are removed from the stack in the reverse order that they were added).
@ashthebird8796
@ashthebird8796 5 ай бұрын
amazing explanation, thanks@@oscarsmith-jones4108
@leifelliott1500
@leifelliott1500 8 ай бұрын
Hello world has a bug??
@dreamsofcode
@dreamsofcode 8 ай бұрын
It really does.
@redcrafterlppa303
@redcrafterlppa303 8 ай бұрын
Im not a cpp dev but understand the language generally. Where is it? Other than that "std::endl" is bad practice and the example is (potentially) vulnerable to a bufferoverun, I see no issue.
@dreamsofcode
@dreamsofcode 8 ай бұрын
I'm actually planning on doing a video about it! In C and C++ you can cause it to crash, basically.
@dreamsofcode
@dreamsofcode 8 ай бұрын
I think you're the first to notice the buffer overflow 😂
@redcrafterlppa303
@redcrafterlppa303 8 ай бұрын
@@dreamsofcode it's generally the case that once you see a raw char* (an array is a pointer) you can safely assume a bufferoverun to be present. I really don't understand why non length checked buffers even exist. The performance different is rarely a problem.
@ahmedhalim2346
@ahmedhalim2346 8 ай бұрын
Nice video, Keep up the good work!
@dreamsofcode
@dreamsofcode 8 ай бұрын
Thank you!
@raglandasir6885
@raglandasir6885 8 ай бұрын
Yes!!!, Haskell video also please. Thank you.. 🙂
@plato4ek
@plato4ek 8 ай бұрын
0:40 This could lead to buffer overflow error.
@vinayaknigam2498
@vinayaknigam2498 8 ай бұрын
Although there is no proper package dependency installer in C++, vcpkg and conan i think are pretty good for installing libraries and generally make the job much easier to do
@vitalyl1327
@vitalyl1327 8 ай бұрын
Package managers are a slippery slope. Avoid them at all costs. Languages that embraced them and even integrated them as a default tool are now collapsing under the dependency hell issues.
@broggl
@broggl 8 ай бұрын
​@@vitalyl1327rust where, cargo where?
@user-fh7ki5bv5x
@user-fh7ki5bv5x 8 ай бұрын
From my experience use your build tool to your advantage. I use cmake so I'll first try find_package, then FetchContent, then vcpkg
@TheGeorey
@TheGeorey 8 ай бұрын
​@@vitalyl1327 😂
@fs_72
@fs_72 8 ай бұрын
@@vitalyl1327 for which language besides JS do you see this being the case?
@user-ql7pw7ld1n
@user-ql7pw7ld1n 3 ай бұрын
I appreciate this video :)
@hamzakhiar3636
@hamzakhiar3636 4 ай бұрын
Hey t thank you for the video and can you make a video on should I learn C in 2024
@TheRealKeyvan
@TheRealKeyvan 6 ай бұрын
I personally use C++ for one main purpose, and that's OpenGL and GLFW. It just... works (once you fix your linker issues). I've experimented a bit with wgpu-rs since I figured making a barebones engine in Rust could be fun, but... I did not mesh with it at all. But I might just be old-fashioned and a bit too comfy using C languages, haha.
@soueucaasi
@soueucaasi 4 ай бұрын
Yes i also mainly use it for OpenGL and GLFW/SDL2 and i really love the language, planing to actually use it more broadly and i personally dont have linker issues because i left windows and currently only use Linux for development and pretty much just do my “sudo dnf install glfw” and it does everything for me rskk
@PCXyHOHSmF
@PCXyHOHSmF 4 ай бұрын
@@soueucaasi gringo não entende essa risada ai, melhor botar um lol
@soueucaasi
@soueucaasi 4 ай бұрын
@@PCXyHOHSmF bem isso os caras conhecem só a própria cultura msm kskk
@axtr6399
@axtr6399 8 ай бұрын
Another DoC vid, another good day
@shadamethyst1258
@shadamethyst1258 8 ай бұрын
I'd argue that you don't need to learn C++ if you only want to learn the underlying concepts that have been abstracted away in higher level languages. C has most of them, and can be learned in a day, with the main exception being RAII and other drop-dependent data structures. You do miss out on the STL, but you also don't have to uphold the invariants from the compiler - like making sure iterators don't accidentally get invalidated
@dreamsofcode
@dreamsofcode 8 ай бұрын
That's very true!
@shimadabr
@shimadabr 8 ай бұрын
If you managed to learn those concepts in a day, your IQ is well above average haha. But i mainly agree, C++ has many concepts that to me seems specific for the language, C has most that is useful in general and you can learn relatively fast (unlike C++).
@michaelkotthaus7120
@michaelkotthaus7120 7 ай бұрын
Thank you for this comprehensive overwiew. 2:12 "Because C++ provides very little abstraction, ..." This is not completely true. C++ provides a wide range between no abstraction (for example direct memory access) and very high abstraction (string class, chrono, regex, data types in Standard Template like unordered_map).
@exvimmer
@exvimmer 8 ай бұрын
I would really appreciate a good resource to learn CMake. I'm reading a book right now (it's the best in the market), and it's so boring.
@vintagewander
@vintagewander 8 ай бұрын
"hello world has a bug" "godbolt is a real person" Damn I've really touched the bottom of the iceberg am I
@onhazrat
@onhazrat 8 ай бұрын
🎯 Key Takeaways for quick navigation: 00:28 🌐 C++ is versatile and can be used for various applications. 01:10 🚀 C++ is known for its speed and low-level performance. 01:52 💡 C++ requires understanding of memory management and low-level concepts. 02:59 🎓 Learning C++ exposes you to foundational programming concepts. 04:23 💼 C++ remains in demand across industries and big companies. 05:06 🆕 C++ continues to evolve with regular updates and improvements. 06:01 🛠️ Tooling and project organization in C++ can be challenging. 06:57 🔍 Learning C++ requires patience due to its complexity. Made with HARPA AI
@Wannabelokesh
@Wannabelokesh 2 ай бұрын
When's the haskell in 2024 video coming?
@jayjay7333
@jayjay7333 8 ай бұрын
i have use high level lang. as java and java script any good free resource there to learn c++ with some projects.
@sinom
@sinom 8 ай бұрын
Probably good idea is to watch through the cherno's series on C++. He explains a ton of concepts starting with how to set up a project and then going into more specific stuff. Though because the series is a few years old some of the more modern parts of C++ (ranges, concepts, modules etc.) aren't discussed in that series
@theglowpt3
@theglowpt3 8 ай бұрын
The Cherno's c++ series on youtube is great
@aberba
@aberba 8 ай бұрын
Compared to D programming language, I'll say C++ has only got popularity/ecosystem advantage
@maveriks463
@maveriks463 6 ай бұрын
Yes
@guilherme5094
@guilherme5094 8 ай бұрын
Yes.
@nemila4904
@nemila4904 7 ай бұрын
How do you make mobile apps with c++??
@dreamsofcode
@dreamsofcode 7 ай бұрын
For logic: Android NDK or Objectove-C++ -> C++ For UI: Skia or Impeller
@sungjuyea4627
@sungjuyea4627 8 ай бұрын
I am learning C++ and Rust simultaneously and it really helps. The one has sth that the other doesn't.
@siman211
@siman211 6 ай бұрын
What do you use to learn? Udemy? youtube? books?
@fahimferdous1641
@fahimferdous1641 8 ай бұрын
Very nice video
@raianmr2843
@raianmr2843 8 ай бұрын
Really doubt it'll ever surpass the F# milestone. People seem to be treating it only as a gateway ML. Ocaml, F#, Haskell pick whatever, they're all great MLs worth a programmer's time.
@fahimferdous1641
@fahimferdous1641 8 ай бұрын
What's the F# milestone?@@raianmr2843
@marcusrehn6915
@marcusrehn6915 8 ай бұрын
By popularity, you mean that Prime and TJ are talking about it?
@shimadabr
@shimadabr 8 ай бұрын
@@raianmr2843 You forgot Elixir! It's great for web dev!
@xBiggs
@xBiggs 8 ай бұрын
C guy here but I think 2:00 is supposed to say int *x instead of int x
@dreamsofcode
@dreamsofcode 8 ай бұрын
Good catch!
@jolynele2587
@jolynele2587 8 ай бұрын
c++ is falling into a js situation. many hate it, the majority don't want to bother with it, but it just does the job
@marcs9451
@marcs9451 8 ай бұрын
except even JS isn't that complex, the ecosystem is. C++ is rotten to the core in terms of design and people should really stop using it for new projects
@shidoengie9503
@shidoengie9503 8 ай бұрын
​@@marcs9451yeah just use rust fr
@DBGabriele
@DBGabriele 8 ай бұрын
@@marcs9451 JS is not so complex, but it is on a good road to becoming complex (And differently from C++, where there are many reasons why it is so complex, JS is complex just for bad design choices).
@Dino-Kupinic
@Dino-Kupinic 8 ай бұрын
​@@marcs9451then what should be used instead?
@fabricehategekimana5350
@fabricehategekimana5350 8 ай бұрын
I heard that Rust is between C++ and Haskell somehow. Super video by the way !
@kurt7020
@kurt7020 8 ай бұрын
Rust is safer C++ with just enough of a taste of Haskell to cause friction.
@raianmr2843
@raianmr2843 8 ай бұрын
Rust is everything C++ wanted to be and more. I'll probably never come back to C++ unless I get paid to do so. That said, if you're planning on skipping C++ and jumping right on to Rust you should probably learn something like Zig or Odin later on. Rust's otherwise excellent DX doesn't really carry over to when you try to do anything bare metal. C++ is still pretty unique in that it'll gladly let you do whatever the f you want.
@redcrafterlppa303
@redcrafterlppa303 8 ай бұрын
​@@raianmr2843to see how rust low level can be done well I suggest you the channel "Low Level Learning" he has a few videos on bare metal rust and how to build custom 0 cost abstractions yourself. Because the reason rust feels clunky on bare metal is that for your specific bare metal Hardware especially in case of micro controllers there isn't any pre-built abstractions (or very little) past writing to raw addresses. The key is to write them yourself. This can also be a good exercise for library design.
@ForeverZer0
@ForeverZer0 8 ай бұрын
@@raianmr2843 I agree. The last decade has brought us some great new alternatives to C++ that have learned from its mistakes: essentially start over with a clean slate, keep what is good and throw away the crud. I have yet to dive into Odin, but I would definitely recommend Rust or Zig to someone before C++ if they were looking to learn a lower-level language in 2023. While Zig/Odin are still somewhat niche, Rust has firmly established itself as a mainstream language that isn't going anywhere if the "mainstream" factor was a concern.
@DBGabriele
@DBGabriele 8 ай бұрын
@@raianmr2843 Rust dropped one of the principles of C++ (freedom), so it is not what C++ wants to be. The closed one is Zig, but it leaks many features, but ...shortly... could be an alternative. OR a C++23 with an equivalent of cargo + static analyzer could be the "rust blocker".
@Zex-4729
@Zex-4729 3 ай бұрын
Talking about buildsystem, CMake really should be the standard. Once I learned CMake it all clicked, I can use whatever library I want and compile my program without worrying about linking order, or any other problems without using a buildsystem. I think the only problem with CMake is a simple tutorial, just show the similarity with the compiler and it is easy. Yes CMake is very easy to use, just that first step wall is really a stupid thing I don't know why they can teach CMake effectively. And anything that teach C++ doesn't even mention what a buildsystem even is that is very stupid as well. I mean yeah back in the day people simply used compilers and then maybe a script then makefile, but it's 2024 now. Now I am not say CMake is the best, there are other build tools that are less verbose and works too but they don't give full control like CMake does. There are a lot of tools out there is kinda overwhelming as well for sure.
@mcgames4455
@mcgames4455 2 ай бұрын
premake?
@dickheadrecs
@dickheadrecs 8 ай бұрын
“godbolt is a real person” at the very bottom of the iceberg is kinda funny
@sillytechy
@sillytechy 8 ай бұрын
I believe RUST is a very good alternative, also Industries like SPACE Research, Defense and other critical ones are moving to RUST, for its safety and Performance.
@marcs9451
@marcs9451 8 ай бұрын
Except when you want to do anything with actual memory or custom allocators, rust is better than C++ in terms of benefits but it's equally as complex and annoying
@vitalyl1327
@vitalyl1327 8 ай бұрын
Safety story of Rust is overrated. A few language features do not trump the tooling, which Rust does not have and unlikely to get. Compare the safety of Rust with MISRA-C or SPARK.
@DBGabriele
@DBGabriele 8 ай бұрын
1) Rust is not so safe (but of course, it is safer than C++) 2) AS Marcs said, managing the allocator in Rust is just impossible. 3) Rust has the unique feature to become more complex than C++, when the software is big.
@anon1963
@anon1963 4 ай бұрын
Keep dreaming rust shill
@XxSpideyXD
@XxSpideyXD Ай бұрын
me getting brilliant offer 6 months later this video was released
@IamPyu-v
@IamPyu-v Ай бұрын
0:33 all Turing Complete languages can "do it all"
@_ironrose
@_ironrose 2 ай бұрын
no, use some modern languages that have package manager and dedicated build system. your %50 of your time in C++ will be wasted by trying to build your project, write the header files and trying to understand some undefined errors coming from nowhere. In short, you will hate programming when coding in c++. but there are some exceptions; If you know what you're doing and you're a type of person who likes to have control over things, then c++ might be for you and you won't get highly affected from the things that C++ lacks of
@Fanaro
@Fanaro 8 ай бұрын
What a dope channel.
@victortesla2935
@victortesla2935 8 ай бұрын
Good 👍
@victortesla2935
@victortesla2935 8 ай бұрын
I am impressed with the quality of your video
@dreamsofcode
@dreamsofcode 8 ай бұрын
Thank you!
@zkreso
@zkreso 8 ай бұрын
If you need to solve a novel problem then C++ is good. For everything else there is a Spring Boot project that already does what you need.
@mandelkuchen2288
@mandelkuchen2288 2 ай бұрын
Yes, I should, I have an exam tomorrow
@wiskasIO
@wiskasIO 2 ай бұрын
C is the real hero.
@xbz24
@xbz24 8 ай бұрын
when are you making a haskell video?????? great talk but can you give your opinion about C in another video? cheers from PERU
@tanmaypanadi1414
@tanmaypanadi1414 8 ай бұрын
Prime sent me
@caitlyn8415
@caitlyn8415 8 ай бұрын
rate my roadmap learning na new programming language (C++), my first prog lang is Java familiarize the syntax first 1. BASICS, and OOP 2. Practice and solving data structure and algo after that 1. learning the fundamentals: a. data type b. memory management c. numerical system d. pointers any suggestion?? feedback?
@Junky1425
@Junky1425 7 ай бұрын
in short b and d is the same
@SvenBrettschneider
@SvenBrettschneider 8 ай бұрын
I enjoyed working with C++. I love the control! But for me, Rust has replaced this technology. Performance is great with Rust as well as stability. Rust is hard to learn, C++ seems "easier" but has sooo many nuances. Most of the time you don't find out about these "nuances" until you are running your application and things start to act weird or start crashing.
@dreamsofcode
@dreamsofcode 8 ай бұрын
I really like Rust, but I do find that C++ can be easier to use for certain cases. You're giving up a ton of safety however to do so!
@krkngd-wn6xj
@krkngd-wn6xj 8 ай бұрын
C++ is still better for gamedev, Rust infrastructure is just not there yet
@shimadabr
@shimadabr 8 ай бұрын
I found Rust to be hell for experimentation. You have to be very proficient in the language to make the program compile while managing different approaches to the problems you are dealing with. If you are not very good with the language usually it will have an inferir performance to Go (a much easier language), judging by some benchmarks i've seen. It's also pretty frustrating for learning data structures, which is a -1 for me because universities and college students will likely not use/study much the language (and so the ecosystem will not have as much young talent as it could). All in all i find the language fun, but it's more appropriate in systems where security and stability is critical. Also i find it's pretty good for tooling.
@yakovkarnygin6625
@yakovkarnygin6625 8 ай бұрын
I like it when people say that C++ is fast. it always turns out they have no idea why.
@dreamsofcode
@dreamsofcode 8 ай бұрын
I'd argue that C++ is not fast, but other languages are slow. The additional abstractions, such as dynamic typing, garbage collection and lack of compilation all incur overhead. What about you?
@yakovkarnygin6625
@yakovkarnygin6625 8 ай бұрын
@@dreamsofcode reference semantics and automatic memory management can kill any programer's effort to increase performance, yes. C++ along with C and Rust can give a huge benefit here. what makes C++ even faster is static binding and compile time computation. that's sort of things only 1-2% of C++ developers can do. in overall, I see many people claim C++ is fast and then write java-style code in it: dynamic polymorphism, heap allocations, automatic memory management via shared_ptr etc. it really hurts my feelings.
@cariyaputta
@cariyaputta 8 ай бұрын
Yes, if you're into competitive programming.
@ForeverZer0
@ForeverZer0 8 ай бұрын
Competitive programming?
@thecoolnewsguy
@thecoolnewsguy 4 ай бұрын
@@ForeverZer0 a rewarding competition between programmers to write programs using a programming language as fast as possible and as efficient as possible.
@RLstavista
@RLstavista 6 күн бұрын
Yeah but its SOOOOOOOOOOOOOOO FAAAAAAAAARKINGGG VERBOSE... someclass::somesubclass::someotherclass::somemethod::blapblap->badabing->badaboop(std::vector x); Nah thanks even had enough. And then memory leaks holy moly! I didn't even attempt multithreading.. If I was still young but not anymore. Aint nobody got time for this! C# is the lowest I'm willing to go just for the sake of time. It too can also do direct unsafe pointer operations if need be.
@ryanleemartin7758
@ryanleemartin7758 8 ай бұрын
Why doesn't C++ have an official package manager after 40 years? As an outsider it's baffling.
@aviksaha1823
@aviksaha1823 8 ай бұрын
Its by choice so that the dev can individually add only the needed dependencies, which can be critical in for eg microcontrollers and system level code
@ryanleemartin7758
@ryanleemartin7758 8 ай бұрын
@@aviksaha1823 Ahh, that makes sense.
@vitalyl1327
@vitalyl1327 8 ай бұрын
Because package managers are evil, and because C++ serves such a wide varity of platforms and use cases that no common approach to package management is even possible.
@ryanleemartin7758
@ryanleemartin7758 8 ай бұрын
@@vitalyl1327 Cool. Thanks for the explanation! I've written a fair amount of Rust over the last couple of years and it's actually made me interested in C++ which may seem odd. Rust has a political nature to it that has become very distracting and C++ seems to just be about C++ and I like that.
@SheelByTorn
@SheelByTorn 8 ай бұрын
not everyone programs in x86, x86-64
@marcusrehn6915
@marcusrehn6915 8 ай бұрын
Im glad we had to learn it in Uni. That said, I would never want to touch it again.
@ardnys35
@ardnys35 8 ай бұрын
well still i am happy with C for now
@ForeverZer0
@ForeverZer0 8 ай бұрын
C will always be my first love. These new languages like Rust and Zig are interesting and fun to use for the learning purposes, but C is where I feel at home and always go back to, warts and all. Luckily everything relies upon C at some points in its execution, so it is going anywhere, as much as many people might wish it would.
@farpurple
@farpurple 8 ай бұрын
Okay, I ~~know and can program on python And i tryied C, but C is some mess for me, C++ slightly better. But still can't understand how to divide properly...
@Exodius1999
@Exodius1999 8 ай бұрын
Divide? The mathematical operation? Or am I missing something?
@simonfoden1684
@simonfoden1684 Ай бұрын
Life is too short to use C++. It is tedious and verbose. This video claims C++ is high performance and low latency but then cites Adobe. Photoshop takes an hour to download and 15 seconds to launch. C++ creates bloated slugs.
@wouterdecoster4020
@wouterdecoster4020 8 ай бұрын
Most of that sounds like Stockholm Syndrome to me though :)
@dreamsofcode
@dreamsofcode 8 ай бұрын
😭😭 🤣
@waltermunoz7124
@waltermunoz7124 8 ай бұрын
Should you use a hammer in 2023? If you need it, of course!!!
@RedJoker9000
@RedJoker9000 8 ай бұрын
I learned it getting my degree. My computer languages are Python, C, C++, HTML, Assembly, SQL and obviously binary. You should learn it but not as your opening programming language.
@lazergenix
@lazergenix 8 ай бұрын
yeah binary, obviously, well looks like I'm stupid because C++ was the first programming language I've learned
@igortroy
@igortroy 8 ай бұрын
Saying C++ helps you later learn other languages and programming concepts, is like saying "if you start every game in ultra hard mode, you will learn the concepts of gaming".
@spacechannelfiver
@spacechannelfiver 8 ай бұрын
C is a terrible choice for first programming language to learn, and C++ is like 100 times worse. Back in the Triassic period when I was a CS undergraduate things like pointers pretty much broke almost everyone other than myself and one other student. He had no trouble as he'd already released a game on the Amiga for Team 17, and I was okay as I had come in via Electronic Engineering and done a bunch of work building a memory paging controller for Z80 and programmed it in ASM. You absolutely need to understand how computers work in detail to be halfway decent with C/C++
@K9Megahertz
@K9Megahertz 8 ай бұрын
I learned c/c++ when I was 16-20 from books almost 30 years ago. No Google, no stack exchange, no leet code, no youtube. Did have IRC so could chat with other devs but that was about it. It's really not that difficult... I figured out pointers to pointers because I was writing a menu system for a 2d level editor I was working on. Yes some rudimentary knowledge of how computers work is required to do programming.
@joaovmlsilva3509
@joaovmlsilva3509 8 ай бұрын
The class syllabus was horrible, the problems was not the language.
@Temulgeh
@Temulgeh 8 ай бұрын
at my uni they taught us both c++ and python simultaneously during our first year, most students preferred the better type system in c++
@DBGabriele
@DBGabriele 8 ай бұрын
"C is a terrible choice", that sentence is so stupid... The worst thing saw in my life are programmers who just know Java, Javascript, or Python, trying to write something in C, Fortran, C++, or even Rust.
@shimadabr
@shimadabr 8 ай бұрын
I started with Python and 6 months later i started learning C. The learning experience was much better for me, i actually felt i was learning something, not just how to invoke functions to do something. I think it greatly depends of the goals of the person. If you want to understand not only basic programming, but how programs work, you should learn a more low-level language. But if your goal is much more practical, maybe sticking to these scripting languages is ok. That's why i believe it's laughable that some universities use Python for Computer Science classes. I mean, come on man! That's the people that are supposed to have a deep understanding of how this stuff works!
@redcrafterlppa303
@redcrafterlppa303 8 ай бұрын
4:55 I don't think cpp is a forward facing language. It has a long history and a lot of lagacy code. But cpp is being phased out by many companies as to unstable, complex and error prone. Ideally learning cpp today should be for a lagacy maintenance reason such as Fortran.
@errantwashere
@errantwashere 8 ай бұрын
Errant was here
@TheodorosKosmidis
@TheodorosKosmidis 3 ай бұрын
No. Next
@marketsmoto3180
@marketsmoto3180 6 ай бұрын
C++ is still goat and I learned it balls deep first before then learning webdev shit with dotnet, javascript and all the other web shit.......... but that said, I fukin love Rust the deeper I get with it!
@sharokhkeshawarz2122
@sharokhkeshawarz2122 8 ай бұрын
Oh boy oh boy i just like C :)
@aa898246
@aa898246 8 ай бұрын
now do rust >:)
@giorgos-4515
@giorgos-4515 8 ай бұрын
you can't just drop this iceberg and not make a video about it
@dreamsofcode
@dreamsofcode 8 ай бұрын
That is fair. Request granted.
@vanvothe4817
@vanvothe4817 8 ай бұрын
My choice is golang
@fabricehategekimana5350
@fabricehategekimana5350 8 ай бұрын
It was built as a C++ replacement but especially for a better code base management if I remember correctly
@vitalyl1327
@vitalyl1327 8 ай бұрын
Golang is in no way a replacement for C++, their use cases do not even overlap.
@vanvothe4817
@vanvothe4817 8 ай бұрын
@@vitalyl1327 Yup, I agree. But popular cases, go is the best.
@fabricehategekimana5350
@fabricehategekimana5350 8 ай бұрын
@@vitalyl1327 True story. According to this blog post (commandcenter.blogspot.com/2012/06/less-is-exponentially-more.html ) of the Go team, their goal was to replace the use of C++ at google and convert the c++ users. But they completely missed
@dreamsofcode
@dreamsofcode 8 ай бұрын
I have a video about learning Go in 2023 that touches on this! Although my quality wasn't as good back then so I apologize
@krkngd-wn6xj
@krkngd-wn6xj 8 ай бұрын
If you would only learn C++ to learn low level stuff, stick with C.
@theaveasso
@theaveasso 8 ай бұрын
Should you learn Haskell in 2023
@arsenbabaev1022
@arsenbabaev1022 8 ай бұрын
The "new features" add more and more bloat so noone knows the language to its full potential.
@nameless4014
@nameless4014 8 ай бұрын
No
@kebbil
@kebbil 8 ай бұрын
great point, but, rust is better
@dickheadrecs
@dickheadrecs 8 ай бұрын
well, not if being employed is important to you
@dreamsofcode
@dreamsofcode 8 ай бұрын
Rust is great... but I don't believe it to be as versatile when it comes to some more low level concepts, but this is by design.
@kebbil
@kebbil 8 ай бұрын
​@@dreamsofcodeIt is as versatile, it's just.. um.. a pain in the ass to work with cos either you're purely in pointer territory or purely in reference territory anything in between is pain
@RyanBreaker
@RyanBreaker 8 ай бұрын
But C++ is just unsafe Rust with classes.
@germanhoyos4422
@germanhoyos4422 Ай бұрын
simple answer is NO. as a sw eng who uses c++ every day, no dont do it
@DavidDiaz-zr2hv
@DavidDiaz-zr2hv Ай бұрын
Im currently studying a degree on sw eng and the main laguage we use is c++. Why dont you recommend to program in this language?
@germanhoyos4422
@germanhoyos4422 Ай бұрын
@@DavidDiaz-zr2hv stress mainly. i care not just about user experience but DEVELOPER experience. its a memory unsafe language that syntacticly makes no logical sense and is extremely verbose.. i make 6 figures literally fixing c++ code written ages ago in my company
@qscuio
@qscuio 8 ай бұрын
No one should learn c++ any more.😂
@dreamsofcode
@dreamsofcode 8 ай бұрын
But who will maintain all the C++ out there. 😭
@parker7721
@parker7721 8 ай бұрын
No. Learn Rust.
@jacoboneill3735
@jacoboneill3735 8 ай бұрын
AI generated tl;dr: The video discusses whether learning C++ in 2023 is a good idea. C++ is a versatile programming language with a wide range of applications, including game development, web APIs, mobile apps, data science, embedded systems, and more. It offers high performance due to its low-level nature and is used in mission-critical applications like finance. Learning C++ provides a deep understanding of programming concepts like memory management, pointers, and threading, which can benefit other languages. It's in demand in various industries, and its constant improvement through new standardized versions keeps it relevant. However, C++ has drawbacks: tooling can be challenging, and the language's complexity might lead to mistakes while learning. Ultimately, learning C++ can provide valuable insights into software engineering concepts.
@haltsmaul.
@haltsmaul. 8 ай бұрын
C++ was the second biggest mistake after JavaScript.
@dickheadrecs
@dickheadrecs 8 ай бұрын
JavaScript is often implemented in C++ 🌀
@tawanakombora_19
@tawanakombora_19 8 ай бұрын
​@@dickheadrecs😂😂😂
@cplusplussizeddick1430
@cplusplussizeddick1430 8 ай бұрын
No. Learn Rust. Maybe C
@daemoncluster
@daemoncluster 8 ай бұрын
Yes.
Should you learn C++?? | Prime Reacts
20:29
ThePrimeTime
Рет қаралды 291 М.
Faster than Rust and C++: the PERFECT hash table
33:52
strager
Рет қаралды 491 М.
[실시간] 전철에서 찍힌 기생생물 감염 장면 | 기생수: 더 그레이
00:15
Netflix Korea 넷플릭스 코리아
Рет қаралды 38 МЛН
Who enjoyed seeing the solar eclipse
00:13
Zach King
Рет қаралды 76 МЛН
"Hello, World" in 5 CURSED languages that no one should use
13:08
Dreams of Code
Рет қаралды 525 М.
You Should Learn C++ (for hacking games)
6:11
cazz
Рет қаралды 446 М.
Best Programming Languages Tier List
33:02
Serif Sundown
Рет қаралды 3,4 М.
how Google writes gorgeous C++
7:40
Low Level Learning
Рет қаралды 714 М.
Adding a cache is not as simple as it may seem...
13:29
Dreams of Code
Рет қаралды 100 М.
Why i think C++ is better than rust
32:48
ThePrimeTime
Рет қаралды 253 М.
Every Programming Language Ever Explained in 15 Minutes
15:29
Flash Bytes
Рет қаралды 211 М.
The purest coding style, where bugs are near impossible
10:25
Coderized
Рет қаралды 800 М.
Should You Learn C++? (Will Rust Kill C++?)
11:22
Caleb Curry
Рет қаралды 16 М.
Why I'm no longer using Copilot
7:07
Dreams of Code
Рет қаралды 154 М.
Распаковка айфона в воде😱 #shorts
0:25
Mevaza
Рет қаралды 1,1 МЛН
All New Atlas | Boston Dynamics
0:40
Boston Dynamics
Рет қаралды 5 МЛН
Samsung mobile phone waterproof display. samsung mobile phone digital s23ultra  #shorts
0:15
iPhone - телефон для нищебродов?!
0:53
ÉЖИ АКСЁНОВ
Рет қаралды 3,5 МЛН
Vortex Cannon vs Drone
20:44
Mark Rober
Рет қаралды 12 МЛН
План хакера 🤯 #shorts #фильмы
0:59
BruuHub
Рет қаралды 989 М.
The PA042 SAMSUNG S24 Ultra phone cage turns your phone into a pro camera!
0:24