Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie
Hi there,
There is an issue with role permissions that is being worked on at the moment.
If you are having trouble with access or permissions on regional forums please post here to get access: https://www.boards.ie/discussion/2058365403/you-do-not-have-permission-for-that#latest

Learning C++

  • 21-02-2011 8:19pm
    #1
    Registered Users, Registered Users 2 Posts: 8,593 ✭✭✭


    Hi all,
    I've been working in sw for a few years now and i want to learn some C++.

    However, I need something structured to provide me with motivation.

    Are there any courses for C++ similar to the Sun Certified Java courses?

    I appreciate that the Java course has it's downfalls but for me the pluses outweigh them.


    Thanks.


Comments

  • Registered Users, Registered Users 2 Posts: 3,945 ✭✭✭Anima


    If you know objected orientated theory well, you'll have no problem learning C++. You'll just need to learn the syntax which you can do on loads of various sites.

    In particular I use http://www.cprogramming.com and http://cplusplus.com/.

    Dunno of anything like the Java Courses for C++ really.


  • Registered Users, Registered Users 2 Posts: 8,593 ✭✭✭funkey_monkey


    Thanks - it's no the learnign which is the problem, but lack of motivation. That is why I'm loking for a course.


    Cheers for the links.


  • Closed Accounts Posts: 5,482 ✭✭✭Kidchameleon


    Motivation?

    Perhaps convert one of your favorite projects into C++? You'll pick it all up then... Or perhaps make something fun like a game...


  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    http://cplusplus.com gets my vote too, but I also just came across http://learncpp.com which goes into a lot more detail about some topics like vtables that are important but don't really get coverage in many other tutorials.


  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    Vtables and hungarian notation? You think these are good things to learn? Cannot take that site seriously. This is 2011 btw.


  • Advertisement
  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    Hungarian notation is a preference alright, and one that I don't go for. It has no bearing on the instructional value of that site.

    If you're coding for performance and don't know what a vtable is or how it works, you're in a lot of trouble. Yes, this is indeed 2011; the bottleneck on modern systems is now memory access and not instruction execution time, and has been for some time. It's more important than ever to understand what's affecting your instruction & data cache utilization. Which you obviously either don't understand, or don't care about. I'm guessing the former.


  • Registered Users, Registered Users 2 Posts: 240 ✭✭Axe Rake


    I use http://cplusplus.com/ whenever i need a quick reference or need to check out something i have forgotten.

    I just read the article about vtables on http://learncpp.com and it was a very clear and easy read!

    Thanks for the link ;)


  • Registered Users, Registered Users 2 Posts: 7,157 ✭✭✭srsly78


    satchmo wrote: »
    Hungarian notation is a preference alright, and one that I don't go for. It has no bearing on the instructional value of that site.

    If you're coding for performance and don't know what a vtable is or how it works, you're in a lot of trouble. Yes, this is indeed 2011; the bottleneck on modern systems is now memory access and not instruction execution time, and has been for some time. It's more important than ever to understand what's affecting your instruction & data cache utilization. Which you obviously either don't understand, or don't care about. I'm guessing the former.

    I do know, but it's not knowledge that I have used in years. You are one of those guys that thinks they know better than the compiler it would appear.


  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    No, I'm one of those guys who likes to know exactly what the compiler and processor is doing with my code. And no C++ compiler I know of can magic away the pointer dereferences and potential cache misses than virtual functions can cause.

    Just because you don't care about it doesn't make it unimportant. In my line of work, any coder that considers knowledge like this unimportant shouldn't be on my team.


  • Registered Users, Registered Users 2 Posts: 981 ✭✭✭fasty


    Satchmo's bang on here. I do gamedev as a hobby (for now) and I've learned so much from having to keep things at a desired frame rate. I always thought I knew C++ until I had realised I needed to think about how data is layed out and what the significance of a cache miss was when you've got 33ms to update and draw and entire scene.

    I've even been able to apply it to my professional work.

    Take a look at this Sony presentation about data oriented design. I had my "aha" moment reading it.


  • Advertisement
  • Closed Accounts Posts: 4,564 ✭✭✭Naikon


    satchmo wrote: »
    No, I'm one of those guys who likes to know exactly what the compiler and processor is doing with my code. And no C++ compiler I know of can magic away the pointer dereferences and potential cache misses than virtual functions can cause.

    Just because you don't care about it doesn't make it unimportant. In my line of work, any coder that considers knowledge like this unimportant shouldn't be on my team.

    Don't forget inline ASM!


  • Registered Users, Registered Users 2 Posts: 1,481 ✭✭✭satchmo


    fasty wrote: »
    Take a look at this Sony presentation about data oriented design. I had my "aha" moment reading it.
    That's a great overview of DOD, definitely worth a read.
    Naikon wrote: »
    Don't forget inline ASM!
    Actually, inline ASM most likely is a case of the coder thinking they know better than the compiler! Which they usually don't - the compiler is much better at interleaving instructions optimally for execution pipelines, avoiding load-hit-stores, not stalling on memory accesses etc. Inline ASM should only be used if you really know what you are doing, and the rest of the time intrinsics (eg. for SIMD) or plain code is almost always better.

    I agree though that knowing ASM is important - sometimes you have to be able to look at the disassembly to figure out what the compiler did and why.


  • Registered Users, Registered Users 2 Posts: 8,593 ✭✭✭funkey_monkey


    Thanks for all the replies - I've downloaded the IDE so now it's time to get started...

    Hello World!


Advertisement