BEST WAY to read and understand code

Поділитися
Вставка
  • Опубліковано 2 лют 2025

КОМЕНТАРІ • 311

  • @TheCherno
    @TheCherno  Рік тому +52

    Thanks for watching, hope this helped! ❤
    Don’t forget that Brilliant has that 30 day free trial so you can try everything they have to offer-free-for a full 30 days! Visit brilliant.org/TheCherno - the first 200 of you will get 20% off Brilliant’s annual premium subscription!

    • @bits_for_bytes
      @bits_for_bytes Рік тому +1

      Can you do a video of your vscode configuration? Plug-ins you have and their non-default changes you have 🙏

    • @dingoDogMan
      @dingoDogMan Рік тому

      How much code do you think you write in the average week compared to the average programmer who is currently spending 40+ hours per week writing code with current technology and is up to date with the latest coding practices?

    • @phusicus_404
      @phusicus_404 Рік тому

      Hey, you have 529,000 subs now)

    • @michelchaghoury9629
      @michelchaghoury9629 Рік тому +1

      Dear @TheCherno Thank you for your videos i was able to learn a lot can you please in the future make a series on CMake and Testing in C++ (Google Test, Google Mock)?

    • @simonfarre4907
      @simonfarre4907 Рік тому

      You could have also added: if you're on linux - you can record using RR, which gives you the added benefit of during debugging be able to reverse-continue and reverse-step. Fantastic tool, not only for finding hard non-deterministic bugs, but also for navigating a code base.

  • @Spongman
    @Spongman Рік тому +10

    YES! so much this. I worked on a debugger in an IDE back in the day, and I can't tell you how many customers we watched struggling to find issues even in their _own_ code while completely ignoring the debugger that was available to them. And to this day you can see very experienced and talented developers on youtube wasting so much time adding a few lines of printf code here, build, run, nope, need to add some more over here, churn churn. And now the debuggers are even more powerful.

  • @69thApostleOfShindoL
    @69thApostleOfShindoL Рік тому +83

    This is amazing. When you went into the unreal engine code, I too was like "How on earth do you read this, where do you even start from". But watching you break it down, good Lord!
    Now I feel a bit more motivated.

    • @CourierSix01
      @CourierSix01 Рік тому +3

      yeah actually.

    • @melihmete807
      @melihmete807 Рік тому +3

      How did he get Unreal Engine source code? It's not open source, right? Is it the source code or a project code?

    • @dark_lord98
      @dark_lord98 Рік тому +2

      @@melihmete807 it's open source

    • @williamclapp9694
      @williamclapp9694 Рік тому +1

      @@dark_lord98 It is source available, not open source.

    • @puffin_000
      @puffin_000 Рік тому +1

      ​@@williamclapp9694 It is open source for people whi agree the licence. But its not a Free Software.

  • @dougpark1025
    @dougpark1025 Рік тому +29

    Reading code is a skill that is learned through practice. I've been doing it for more than 30 years in C++. I also wrote a lot of FORTRAN code before learning C and C++. Code doesn't need to be hard to read. In fact if it is hard to read, it probably should be discarded, or refactored. Don't make excuses for the STL. It is hard to read, for reasons I don't fully grasp. Don't accept hard to read code as being normal. If you have to maintain hard to read code. Make it easier to read.

    • @marcusgutierrez
      @marcusgutierrez Рік тому

      any books/resources you recommend that helped you understand c++ & understanding code?

    • @ThingsIKnow101
      @ThingsIKnow101 7 місяців тому

      ​@marcusgutierrez honestly pick up code by bits, get a simple c++ textbook get the basics(2 months) then from there object oriented programming(1 months) then data structures (2 months), then from you will have to venture into the dark and learn that you have a bigger world ahead and should get on a project that allows you learn more

    • @Keithfert490
      @Keithfert490 Місяць тому

      Is it not that the standard template library is so general and full of so much templating (which a lot of C++ devs don't actually know in detail)? Idk if it's the devs' faults

  • @hawks3109
    @hawks3109 Рік тому +16

    I'm a relatively new engineer that graduated from a good school and got into a big game company thanks to that experience and I've been using a combination of your videos, several books (such as game engine architecture and modern c++) to "catch up" and learn how to work on a large software project.

  • @bersK00
    @bersK00 Рік тому +132

    Feel free to make more videos about debugging! This is full of cool stuff that I honestly didn't know about. That F10 trick is especially cool.

  • @icemojo
    @icemojo Рік тому +56

    Thank you. Schools might teach fresh programmers about "readability" and "maintainability" when writing codes. This shows that, in fact, the "debuggability" might even be more important in real life projects. Especially when things get really big and complex.

    • @Jenkkimie
      @Jenkkimie Рік тому

      In my school they taught both traceability and debugging of code. Yet I learnt still new things here, so valuable lessons! :)

    • @SoapSoapCrayon
      @SoapSoapCrayon Рік тому +2

      Yeah, I hear alot about "clean" code and SOLID principles, but I've never seen a large (>1 million lines) project that use clean or SOLID be debuggable or readable. I've seen inline ASM in projects from 20 years ago that are more readable than some of the insane class hierarchies that arise.

    • @soniablanche5672
      @soniablanche5672 Рік тому

      Readability is still important to understand the logic written. But no matter how good your code is written, if it has 1 million line of code there's no way to know where to read without the debugger.

    • @smorollcancel
      @smorollcancel 3 місяці тому

      You guys coded in school?

  • @IsaacC20
    @IsaacC20 Рік тому +13

    Step debugging is a great idea but reading code can potentially involve a lot of prep. The more complex its interaction is with other code or the more dependent it is on timing (i.e., step debugging introduces bugs that otherwise wouldn't occur if the program were allowed to run at normal speed).
    You may have to mock classes or basically apply test-writing techniques to it. You may have to write an application just to exercise the code and output what you want to observe.

  • @VioletGiraffe
    @VioletGiraffe Рік тому +82

    As my boss once said: you don't know what your program really does until you've stepped through it with a debugger. With MSVC, you can compile your code with /JMC flag, enable "Just my code" in the VS options - Debugger, and then F11 will not step into standard library functions, only into actual code of interest.

  • @Gredran
    @Gredran Рік тому +7

    You’re incredible! Thank you!
    And this is simple enough for anyone with code with breakpoints or something with a profiler, whether C++, Python, C#, even GDScript in Godot has ways of putting in breakpoints like this.
    I’m sure it varies based on the language how deep the call stack will give you, but it’s an excellent start.
    No wonder you have learned so much lol. You’re a treasure when it comes to C++, engine creating, and just programming in general! Thank you for all the time you put into all your stuff!
    I truly am gonna look into trying out Hazel but may wait until the next stable build to truly enjoy your new planned features 😊

  • @malstroemphi1096
    @malstroemphi1096 Рік тому +1

    This may sound basic to some but this may be the most precious piece of advice to grow. It took me too many years to fully grasp. Read, debug, and validate with small experiment that you execute.

  • @ghipsandrew
    @ghipsandrew Рік тому +15

    Coming from a corporate Java project, I"m quite amazed how hard to read I find C++. The different ethos of small to no indentation, lack of curly braces and empty lines makes these already abstract and hard to grasp functions harder still to read through. I used to love C++ in college, but now I'm glad I went with Java.
    Loved the multi threaded debug stuff!

    • @KyranFindlater
      @KyranFindlater Рік тому +13

      the C++ code presented here is.... very utilitarian - it makes me sad to see and read it as well. Coding style goes a long way to enhance readability - proper usage of indentation, braces for scoping (one-liner if statements are disgusting!), proper variable names ("L" is not acceptable.. "), are all very important in writing maintainable code in a team-effort development.

    • @ayoubbelatrous9914
      @ayoubbelatrous9914 Рік тому +1

      its just formatting style its possible to write java like code.

  • @Detriment44
    @Detriment44 Рік тому +2

    I just got my first job as a junior software engineer. This is really helpful, thanks as always for your great videos!

  • @MaJetiGizzle
    @MaJetiGizzle Рік тому

    When I first started programming, my brother who was working in industry told me about walking through the application to figure out how it works. This video finally gave me the appropriate context to truly understand what he meant when he said that.

  • @c.codyflick2210
    @c.codyflick2210 Рік тому +1

    Cherno has the best way of explaining things in such a way that I feel like i understand, imo

  • @Neolord12
    @Neolord12 Рік тому

    Not quite only other peoples code but mainly knowing the language and being able to implement and design the software using design pattern and software paradigms...so studying the field really is the only way to know what you're doing and beeing able to optimize..things like red black tree structures..search algorithm..understanding big O notation and such are essential to write 'good code'.

  • @Azurantine81
    @Azurantine81 Рік тому +5

    Imagine starting out coding by trying to read through Unreal's codebase, sure fire way to put off any beginner. Great video though, this kind of stuff is so overlooked in most youtube videos.

  • @Moda_Editz
    @Moda_Editz Рік тому +1

    it's coffee got me rolling on the floor

  • @killeraloo3247
    @killeraloo3247 Рік тому +5

    I subscribed for c++ series. These are the videos I stayed.

  • @Flad.
    @Flad. Рік тому +5

    14:50 absolutely perfect timing, I'm here waiting for UE5 to compile to try fixing the physics bugs present in their physics engine myself (at least for some temporary fixes/workarounds because it is REALLY broken) and I always struggled with fully grasping how the engine worked and somehow never really considered using the debugger this extensively for this

    • @tanujcherian3911
      @tanujcherian3911 Рік тому +2

      Damn And im here absoluely shitting the bed when it comes to diving into Hazel code

    • @tomebundalevski1872
      @tomebundalevski1872 Рік тому +1

      can confirm, there are some ps2 games that work better than ue's physics... :(, trying to fix it by teleporting them or nudging other NPCs around you by the forward vector of your character is not a solution, it needs a more lower level solution.

    • @tomebundalevski1872
      @tomebundalevski1872 Рік тому +1

      oh and I REALLY hate it when actors get stuck in each other and thus can't move because the game thinks it's always colliding with something... it makes ue feel unfinished

  • @archiesethtuo
    @archiesethtuo Рік тому +4

    Yan, listen. I owe you a bugfix at work now :D I was doing what I had always been doing for one particular quirk of the app where it just crashes when it can't find a certain 3rdparty lib, and you would usually just put the .dll files and a .jar file (don't ask me how an enterprise C++ app depends on a .jar, it's a long story) into a specific folder and it would work. And I was doing it the way I always do it, and it still crashed. Then I watched your video, thought "Well, why don't I try this out?". Ran the scenario in the VS debugger and it spits out "cannot find jvm.dll". Guess what, I put the path to the jvm dll into the PATH variable and it suddenly works now. I'm really annoyed at myself for not trying this out sooner :D
    Thanks man, you really saved me a few days of suffering just now :D

  • @426F6F
    @426F6F Рік тому +2

    I'm an absolute beginner programmer, but I want to be able to read code easier. I find with my own code, it can be difficult for me to get a sense for what's going on on both the macro and micro scale.
    A huge issue is probably that I'm not very experienced at breaking down the problem from the beginning in order to be able to create the right blocks of code or determine how it should run logically.
    I hope it gets a lot easier to visualize code on the fly with time and practice, cause when I have those moments of clarity while coding it's a fantastic feeling!
    Do you guys have any recommendations for the best way to practice?

  • @TheMassgames
    @TheMassgames Рік тому

    I was waiting for this video, honestly. You should do more videos about debugging

  • @tierasmith4860
    @tierasmith4860 Рік тому

    i finally learned how to use a debugger and my god it’s helped. very good video and i def learned from this ! thank you!!

  • @LeeLikesFrenchFries
    @LeeLikesFrenchFries Рік тому

    i know this is c++ specific. but one thing you can take advantage of is that generated c++ code can still have breakpoints set on them. so you don't need to manually add a destructor (or default constructor) in your source to be able to set breakpoints on them. i found this to be extremely helpful when trying to understand code in the field where i cannot easily just drop my custom coded version of a program in to a system.
    another tip that i found useful is to take advantage of breakpoint actions. they can be used as a printf substitute when you're analysing asynchronous timing behaviors and, again, are unable to drop in a custom build loaded with your own diagnostic printf statements. printf statements have a nasty habit of exhibiting Heisenberg uncertainty behaviors. the more you try to observe the state of your running program by adding printf/logging code, the more the timing/momentum of a program's asynchronous interactions changes, obscuring its true behavior. i found that using breakpoint actions go a long way in mitigating that uncertainty.
    the last tip has to do with using F10/F11 to jump into the "start"of your program. unfortunately, if your program has non trivial static or global variables, that technique is not quite enough to debug into the initialization of those global variables. what you can do is enable Show External Code, and go even lower on the call stack to set your breakpoint into the C runtime startup functions. this will allow you to see all your globals get initialized and help you understand why using non trivial globals in the first place is poor practice 😅

  • @nhanNguyen-wo8fy
    @nhanNguyen-wo8fy 7 місяців тому

    8:33 debug => Window => parallel stack

  • @akiyprum
    @akiyprum Рік тому

    Thank you so much for enlightening me! I didn't know the debugging was this much of important.

  • @abhishekmishra1267
    @abhishekmishra1267 Рік тому

    Love this... thanks for everything up till now. Hope you keep making these kind of videos.

  • @jayeshpatel9854
    @jayeshpatel9854 Рік тому

    At 7:27 there is an equal sign with a slash through it instead of != (i is not equal to object.end()). I've never seen that in code before. How would you even type that?

  • @KeinZantezuken
    @KeinZantezuken Рік тому +1

    15:05
    > UE
    > technical documentation
    > ever existing, in any useable or useful state
    LMAO, said Scorpion, LOL even.

  • @pako_powr
    @pako_powr Рік тому

    good video, love specific no-nonsense tips like this

  • @Icza
    @Icza Рік тому

    Man this was incredible. Your channel is such a great help. Thanks for doing this!

  • @tobaadesanya32
    @tobaadesanya32 Рік тому

    Really awesome video man! Just so you know, you're one of the reasons I write C++ and use Visual Studio!
    Thanks again and if you're ever in the UK, I'd be happy to meet up!
    Cheers.

  • @adityatiwari3646
    @adityatiwari3646 2 місяці тому

    Loveee thissss guyyyy , always helpfulll 💌🙌

  • @CourierSix01
    @CourierSix01 Рік тому +8

    i don't know why but i just love c++

  • @joshuam2263
    @joshuam2263 Рік тому

    This is so insightful, I need to do this!

  • @MrJdcirbo
    @MrJdcirbo Рік тому

    Composing music is similar in a way. Score reading is a vital part of learning to compose, and playing the music of others improves your performance.

  • @alec_almartson
    @alec_almartson Рік тому +6

    Debugging with breakpoints is a great way of really understanding what your code is doing. 👍🏻
    In my experience it also helps having good Documentation (Classes, Functions Comments), which I tend to read when the debugger passes over the related lines of Code. That, + and the Values of the variables help me make the 'Click' in my head and understand all that's happening there.
    Great videos & channel 👍🏻

  • @mr.m8539
    @mr.m8539 Рік тому

    I really wish your videos existed back in my undergrad days (99-03). It would have saved me from going to law school and staying with comp sci.

  • @bits_for_bytes
    @bits_for_bytes Рік тому

    Amazing, I was just looking gdb up! Thanks for posting.

  • @marcrindermann9482
    @marcrindermann9482 Рік тому

    I remember that story about the camp and reading code on paper. You talked about it in another video, made me laugh back then, made me laugh now again 😆

  • @samyaza5752
    @samyaza5752 Рік тому

    Thanks for this information. I'm new and don't have any idea how anything works lol. Found your videos when I was trying to learn C++ for UE5 but took a break because I'm learning Python for a college course (so much easier). Anyways, I knew debuggers were important to use in programming but this video really helped me. Literally just applied a breakpoint to something I am working on right now for a class so that I could get a better understanding of the arguments that I can pass into a function. Needless to say I think this is a game changer and I wish I knew about this earlier instead of just using print(somevariable) to check/troubleshoot everything.

  • @JJC2611
    @JJC2611 Рік тому

    Learnt a couple of new things. Thanks.

  • @satyamshivhare
    @satyamshivhare 11 місяців тому

    This is amazing quality content mate. I love the unreal engine example a lot.

  • @arkemal
    @arkemal Рік тому

    Excellent tips, thank you!

  • @SonuKhan-mp2yn
    @SonuKhan-mp2yn Рік тому +1

    Hey Cherno Thank you very much for the video it helped a lot, can you please tell whether you are planning to make complete course on Debugging or Design Patterns?

  • @viktoreidrien7110
    @viktoreidrien7110 Рік тому

    superb video man, thank you!

  • @sanctusanimus9156
    @sanctusanimus9156 Рік тому

    Does anybody knows the tool Cherno is using to draw on screen so seamlessly? Like on 8:28
    Windows built-in stuff takes screenshots first and doesn't look like that precisely
    thanks in advance

  • @bean5301
    @bean5301 Рік тому

    I literally started reading through UE5's code a few days ago and couldnt get breakpoints to work tysm

  • @scrpld7111
    @scrpld7111 Рік тому

    Thanks for the information it was really helpful

  • @yuriia5281
    @yuriia5281 Рік тому +1

    What about doing an overview video on Visual Studio? (cause I think it has so many useful tools but not a lot of beginner friendly documentation/tutorials)

  • @nambreadnam
    @nambreadnam Рік тому

    The parallel stacks feature is a game-changer. I constantly run into exactly the same issue and never knew about this tool.
    I just wish VS Code had the same thing.

  • @techdiyer5290
    @techdiyer5290 Рік тому +1

    Im confused. with the third one. I can't find anything that says debug at the top of my vs code. Is there something that i need to have clicked on? or i need to have the program Pre compiled?

    • @TheCherno
      @TheCherno  Рік тому

      You need to use Visual Studio, not Visual Studio Code. They’re different

  • @JustinLietz
    @JustinLietz 6 місяців тому

    Basically: use the debugger.
    This advice doesn’t work everywhere. For example if you’re an ETL developer using SQL server and your dev and test environments are available to everyone so if you run something you don’t understand to see what happens you could potentially ruin the environment for everyone else on that day / week or however long your refresh times are

  • @anon_y_mousse
    @anon_y_mousse Рік тому +1

    People like to call things by all kinds of different names. I tend to refer to () as either parentheses or individually as parens. ( left paren, ) right paren. For some reason a lot of people refer to {} as curly brackets, but the name I've always known them by is braces. { left brace, } right brace. It seems somewhat universal that people refer to [] as brackets, but I've seen some backwards people refer to them as braces. [ left bracket, ] right bracket. Anyone have any others?

  • @manucanedo8039
    @manucanedo8039 Рік тому +1

    Cherno, I've seen a few empty destructors in your classes. I haven't seen that they have defined move constructor and move assignment operators, meaning that they are disabled. Implicit moves happen way to often in the STL, which in your case will be pesimized to copies. Unless you know for sure your objects won't be copied or moved around, I think you should either:
    A) Define the move constructor and move assignment operator for every class you defined a destructor for.
    B) Do not define those empty destructors until you really need them (which will also reduce binary size).

    • @manucanedo8039
      @manucanedo8039 Рік тому

      My bad, this isn't your code.

    • @reductor_
      @reductor_ Рік тому

      Empty destructors also hinder some more ideal ABI situations, assuming it could be trivially destructible

  • @johnmanardiii3308
    @johnmanardiii3308 Рік тому

    I liked this video the moment I saw Debug->Window->Parallel Stacks! That blew my mind!

  • @MrHaggyy
    @MrHaggyy Рік тому

    😅 i printed out my code and others' code as well. It can help if you can pencil and paper in it, especially if it won't run unless you implemented it correctly in a main program.
    It`s also funny how you learn certain coding guidelines and how to write comments etc. at university. But nobody really reads code with you, because everything is trivial to them so it has to be trivial for you as well.
    As a beginner in a job with all the fancy things you know, do yourself a favor, and take an older colleague by side and read some code with him. He will show you what tools are used for what and why. Once you get the hang of coding, start messing around with everything when you can. If you have an architectural idea, refactor the code as you like, and make and break as many builds as you need. That really teaches you what works and what doesn`t.

  • @possumcode
    @possumcode Рік тому

    Those Brilliant math animations look great. They are identical to what I have seen in my imagination when I did study math in my education years)

  • @ex0stasis72
    @ex0stasis72 Рік тому

    lol that last part I can relate to. We had a yearly camp when I was a kid, and I took a thick book to read with me called "How to learn C++ in 21 days." Ya, that was a fruitless endeavor.

  • @АндрейБорисов-и4о

    Thank's! Great Video!

  • @xiranzhang5047
    @xiranzhang5047 Рік тому

    I learned a lot about how to use VS. This time, I even learned features about VS debugger. This could be potentially a good topic

  • @dotkoon
    @dotkoon Рік тому

    What drawing tool you are using?

  • @willian_z
    @willian_z Рік тому

    Amazing btw what lens did you use at the beginning of the video and did you do anything special to achieve that “come in focus range and track focus” effect?

  • @cprn.
    @cprn. Рік тому

    It might sound weird but it made me interested in how to set up a debugger without VSC now. I don't mean basic debugging, I have that in VIM, but that visual representation of threads - man, I want that.

  • @sammyfromsydney
    @sammyfromsydney Рік тому

    The frustration as a developer comes when the security team lock down environments so tight you can't even attach a debugger to see what's going on.

  • @timetravelingguy
    @timetravelingguy Рік тому

    I dedicate my c++ life to you
    You inspire me to be better at programmjnt and i thank you

  • @DaniPaunov
    @DaniPaunov 8 місяців тому

    wait, you can use step into to start the program?

  • @cap-advaith
    @cap-advaith Рік тому +1

    great video ...keep up the good work

  • @Tomyk9991
    @Tomyk9991 Рік тому

    Is there any way you take a look on the rust-lang in a video?

  • @nathanielfincham704
    @nathanielfincham704 Рік тому

    Does VSCode have these same sort of debug features or is it only in Visual Studio?

  • @timlind3129
    @timlind3129 Рік тому

    Great as always!

  • @shifureisaikyou2055
    @shifureisaikyou2055 Рік тому

    Trying to transition to c setting up all the tools is a pain this is Micosoft visual studio right?

  • @jduck31337
    @jduck31337 Рік тому

    Debugging is really fun! This is a really great recommendation for a code review strategy. Also TIL parallel stacks view. Awesome. -jduck

  • @the0neskater
    @the0neskater Рік тому

    Fantastic video, great work

  • @howardlucas1894
    @howardlucas1894 Рік тому

    Thanks, that's very useful! By the way, how to do that with mac?

  • @shahidullahmuffakir668
    @shahidullahmuffakir668 12 днів тому

    I wasted my whole time following todo app creator in utube.
    where have you been man?
    Maybe I was blind that couldn't find ur channel with 685K subscribers.
    so glad to find you.

  • @Godmil
    @Godmil 10 місяців тому

    Omg i thought you just had to read it all... I could never get anywhere, this was a revelation.

  • @박준수-z3d
    @박준수-z3d Рік тому

    This video was very helpful to me!!! wow.. Thank you very much.!!

  • @wyattrichardson6609
    @wyattrichardson6609 Рік тому

    Yet another banger from THE Cherno.

  • @milos5247
    @milos5247 Рік тому

    Visual Studio is an actual beast when it comes to debugging.

  • @nosharing-sf2mk
    @nosharing-sf2mk 28 днів тому

    I put all of that in my head

  • @hovikkevork3069
    @hovikkevork3069 Рік тому

    Thanks. How deep would you go into the call stack before stopping though

  • @aku_choi
    @aku_choi Рік тому

    Thanks for your video

  • @dawid-dyrcz
    @dawid-dyrcz Рік тому

    Amazing content. Thanks

  • @marcio603
    @marcio603 Рік тому

    Amazing! How would you do the same debug using linux?

  • @FadedInsight
    @FadedInsight Рік тому +1

    Coffee is the answer!
    I completely agree😂

  • @MultiMigh
    @MultiMigh Рік тому +5

    "mmm, slow down there, cowboy.. I'm gonna tell you when you can do the next thing.. and i'm going to watch you do it.. oh yeah, that's my good little program.. you listen to daddy"

    • @theRPGmaster
      @theRPGmaster Рік тому

      "No more access violations. You behave, or else I'll take another stick of your RAM away!"

  • @labionjiang
    @labionjiang Рік тому

    Hi Cherno, thanks for your great video and every time I learned a lot from that!
    BTW, speaking about learning C++ in UE5, would you like to make some video to talk about how you use it?😃

  • @Mohamed-Maghrebi
    @Mohamed-Maghrebi Рік тому

    Your videos are enlightening and filled with innovative ideas, particularly those related to open-source projects for complex systems like Operating Systems or Software Defined Networks (SDN), such as ONOS and RYU. In the VoIP realm, this includes platforms like FreeSWITCH and Kamailio.
    My question centers around the best way to comprehend the underlying code in these sophisticated projects. Unlike simple C or Python code, these require installation and intricate configuration. How does one begin to understand and engage with such complexity?
    I'm specifically interested in this topic because I need to grasp some aspects of the freeSWITCH code in order to modify and customize it. As a junior programmer, I find the insights in your videos incredibly valuable and would appreciate any guidance you can offer on this subject.

  • @manuntn08
    @manuntn08 Рік тому

    Thank you for all your videos inspiring me a lot. If possible, topics cover multithreads, Cuda-GPU, or how to design architecture system or when to use object or pointer to object for a data member in class wil be really appreciated. Thanksssssssss!

  • @RayanMADAO
    @RayanMADAO Рік тому +410

    step 1: copy paste the code into gpt-4 and ask for a detailed explanation

    • @playbyan1453
      @playbyan1453 Рік тому +27

      No

    • @ziggyharding5207
      @ziggyharding5207 Рік тому +78

      Step 2: realise chat gpt is actually not great

    • @notlekrut
      @notlekrut Рік тому

      @@ziggyharding5207 Step 3: realize chat gpt is still pretty much in its infancy and already doing some really cool shit
      Step 4: realize chat gpt is indeed great, just that people are hyping it more than what it is. They're great for writing and reading code, just don't expect it to understand an actual project. It can write tests, just don't expect it to write decent tests for an actual project. Doesn't mean it's not great
      Step 5: realize that even years from now it's not going to replace programmers, at all, but it will help us improve our workflow.
      I find it funny how people so easily hype up chat gpt, but also how quickly they dismiss it and call "actually not great". Calling Chat GPT not great to me is just so incredibly short-sighted, but that's just my 2 cents

    • @quant-prep2843
      @quant-prep2843 Рік тому +28

      how would you copy paste a library that has 60k lines of code or more ?

    • @jaaxc1036
      @jaaxc1036 Рік тому +12

      I tried to use gpt-4 to get me to write type safe generics and it couldn’t do it properly

  • @vignesh5618
    @vignesh5618 Рік тому

    will tools like source insight, understand help
    ?

  • @Phosphoenol_pyruvate_CK
    @Phosphoenol_pyruvate_CK Рік тому

    Please which IDE is that?

  • @JohnWasinger
    @JohnWasinger Рік тому

    11:20 don’t drink and code. Especially if you’re working on a pick and place gantry robot.

  • @wangfiox
    @wangfiox Рік тому

    however there is no msvs in linux or mac, so sad. I only have a m1 mac, when I study object model, I used lldb, I was nervous to open the disassembly, i Found that was arm asm, which is different from the x86 asm. so sad

  • @youssefgerges5724
    @youssefgerges5724 Рік тому

    What is the theme ?

  • @d3mo2
    @d3mo2 Рік тому

    It's quite funny, cause I found for me such way for reading and understanding code as incorrect, since sometimes it's takes time to run program over and over again, instead reading code as a book

    • @toby9999
      @toby9999 Рік тому

      Reading code as a book only works for simple cases. Good luck if you have a million lines of code spread across a thousand files.

    • @d3mo2
      @d3mo2 Рік тому

      @@toby9999 That's have you was taught at university) Proffesors always repeat "you should understand code, not type as a monkey and see - is it works or not"

  • @betterfly7398
    @betterfly7398 Рік тому

    Great video. Now I will try to learn how I can run and debug the Linux kernel.

    • @Spongman
      @Spongman Рік тому +1

      you can connect vscode to gdb debugging the linux kernel running inside qemu. it's a little fiddly but you can find guides on the web on how to do it.

    • @betterfly7398
      @betterfly7398 Рік тому

      @@Spongman oh thank you.

  • @SohailSiadat
    @SohailSiadat Рік тому

    Which IDE is that?