Jump to content
  • Advertisement
Sign in to follow this  
johnmarinelli

How can I gain a deeper understanding of C/C++?

This topic is 1668 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Advertisement

This is probably a little extreme, but in addition to just programming a lot and learning from other programmers, you really should try to learn about issues in programming language design and compilers, and should at least build a compiler.  It provides huge insight into why programming languages are the way they are, and that's a huge advantage.

Share this post


Link to post
Share on other sites

Do a lot of programming, and make it bigger and bigger too see how repetitive your code could become that you finally learn how to make stuff generic (generic programming). If you finally end up wanting to read about patterns and architecture books, that's when you realize you're getting deep. It won't be about C++ anymore, it's about the concepts, and only comes up when you face real problems every day based on your requirements.

 

Learning from other programmers make it quick as everyone always have opinion on the way they code, as coding doesn't always about right or wrong when it comes to patterns or architecture, it's what's fit on your current problem.

Edited by mychii

Share this post


Link to post
Share on other sites

Some of the advices might be true here. But if you really want to understand how programming and computers really work together, you should learn Assembly language, at first you might be scared of it, because a lot people think it's the holy grail of programming languages, and they think that only best of the best can learn it.

 

While it might have some some truth to it, but even knowing a little bit of Assembly will help you A LOT! I was learning assembly for a month or so (I just really wanted to try it out), and I already understand better how linker works, how everything is compiled, how exactly stack works, where passed arguments go, memory management, and all that stuff. I can even write my own simple x86 kernel!

 

So if you want to get started, download or buy a book called "Assembly Language Step by Step". It is meant for total newbies who want to learn Assembly as a first language, and he has some good points on why one should learn Assembly as first language, and not Python or Java as other people tell you.

I promise, you will gain a better understanding of programming langues and deep C. 

Afterwards you might even want to disassemble your C code and read it in Assembly to  better understand how things work inside.

 

Also, I checked out those slides, I saw few parts where it talked about registers, data segment, and other stuff I wouldn't probably have known before reading book on assembly.

 

So go learn some Assembly and good luck with your learning! smile.png

Edited by Edvinas Kilbauskas

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!