1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Development Learning C++

Discussion in 'Software' started by Archtronics, 21 Jan 2017.

  1. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Hey guys,

    No doubt lots of you here can code so I'm after some advice & recommendations.

    The place where I work is moving heavily into VR predominantly using unreal engine along with some custom front ends and apps. So I need to learn to code in C++, particularly focusing on 3D models/environments for VR.

    So I'm after some recommendations for books and videos to begin learning, can be paid or free.

    Cheers :thumb:
     
  2. theshadow2001

    theshadow2001 [DELETE] means [DELETE]

    Joined:
    3 May 2012
    Posts:
    5,284
    Likes Received:
    183
    I found C++ primer plus to be quite a decent and readable book. That's based around the general C++ programming language. You will need something Windows specific as well but I can't help you out there.

    Paul Programming on Youtube might prove interesting for you as well.
     
  3. RedFlames

    RedFlames ...is not a Belgian football team

    Joined:
    23 Apr 2009
    Posts:
    15,403
    Likes Received:
    2,997
  4. Ending Credits

    Ending Credits Bunned

    Joined:
    4 Jan 2008
    Posts:
    5,322
    Likes Received:
    245
    At the risk of sounding unhelpful, you're probably better off learning something like lua tbh.
     
  5. javaman

    javaman May irritate Eyes

    Joined:
    10 May 2009
    Posts:
    3,984
    Likes Received:
    186
    Depending on your preferred method of learning.

    Microsoft Virtual academy is a good place to start as is pluralsite and edx.
    Youtube has a few unity based playlists so likely will have some unreal based ones too. From experience YMMV on youtube.
    Depending on your programming skills jumping right into project Euler or another challenge based site and using a language to solve problems might be quicker or a better way of learning for yourself.
     
  6. Hawkest_83

    Hawkest_83 What's a Dremel?

    Joined:
    8 Jan 2016
    Posts:
    32
    Likes Received:
    0
    out of curiosity whats your language of choice?
     
  7. javaman

    javaman May irritate Eyes

    Joined:
    10 May 2009
    Posts:
    3,984
    Likes Received:
    186
    C# mostly because I use it in work so it is my strongest language in terms of syntax and development environment used.

    My background before was Visual Basic and Matlab before moving to C and Java (haven't used Java 8 yet). C is a great language tho can be frustrating and Java when I used it was becoming wordy to implement basic ideas. Work forced me to pick up C# which sits nicely in between both C and Java. Visual studio as an IDE is also a big bonus compared to netbeans, JCreator and Eclipse.

    Been trying to pick up basic syntax for Python and Powershell and from there will start to build things. The main aim is to try and automate some tasks. However there is an increasing need to pick up Javascript focusing on the React Framework so only last week I started trying to set up an environment for it. SQL is another language I enjoy and will need to invest more time in soon for work as I'm still not fully up to speed with it.

    Most of the last year I focused more in pulling the pieces I know and trying to focus more on paradigms such as Procedural and object orientated (you soon learn are pretty meaningless). Another big push in work is test first and refactoring (project I work on is over 10 years old now so needs a lot of time investment).

    I'm at the point were a language started to become a tool to complete a task. I could pick up Java again and develop in it and although development would be slightly slower as I relearn memory muscle in how to implement things and get use to a new Development environment. The latest project in work uses a mix of Java and Ruby for the back end tho it's more likely new developers on the project will be front end based working with HTML/CSS/Javascript/SQL.
     
  8. techniana

    techniana What's a Dremel?

    Joined:
    3 Jan 2017
    Posts:
    16
    Likes Received:
    0
    I think the most important thing is finding out which language actually suits you the best. I guess because the list of available options is unending. From C++ to python, Visual basic etc..plus the complexity of all this languages are all very different. I guess C++ is mainly for those interested in learning how to code for image editing programs, games or apps. It makes sense, because anyone who has dealt with C++ before, will learn Java easily. I think this is a great summary that also adds where you could get tutorials on what exactly you want.
     
  9. javaman

    javaman May irritate Eyes

    Joined:
    10 May 2009
    Posts:
    3,984
    Likes Received:
    186
    I would argue for a first language it doesn't matter with two the exception of a use specific language like SQL. C/C++ would fall under this as many features C# hasn't fully implemented yet and can't completely replace C++

    So many languages support each paradigm and despite the different strengths and weaknesses are pretty much interchangeable. C# and Java are in this position. Microsoft has pushed many Visual Basic and C/C++ developers to C# tho the likes of C/C++ still has it's place. Visual Basic however is a little pointless due to C# web forms.

    As such IDE choice is almost more important in comfort in programming than the language itself excluding the exceptions of a specific feature or use case. In work C# was used because the decision to use BizTalk for the ESB. Being a Microsoft product C#, .net and Visual Studio made the technology stack a logical choice at the time. Currently we built our own tool sets so can integrate and support applications developed in other languages with BizTalk.
    Yes some of Java's data structures are wordy and convoluted to implement at times and until Java 8 missed some features of C# but it was still an enjoyable and fairly easy language. The IDE's mentioned in the previous post ultimately what make me dislike it. However Jetbrains make excellent products so I would probably go that route for a Java IDE if I was to get back into the language.

    Going forward, we are moving off BizTalk and generally away from Microsoft products. However, these decisions are future orientated and based on a specific manager bias towards AWS over Azure (and Microsoft in general) rather than features or strengths of a language.

    EDIT: Useful link that Techniana. It sums up what I'm trying (and possibly failing) to say about specific uses. Since the OP has a goal and use in mind. C++ should be fine to start off with as a first language. It's certainly well documented enough.
     
  10. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Cheers for the suggestions folks!

    Unfortunately I don't get to choose which language its learn C++ to get the payrise. :rolleyes:
     
  11. Hawkest_83

    Hawkest_83 What's a Dremel?

    Joined:
    8 Jan 2016
    Posts:
    32
    Likes Received:
    0
    I'd be looking for a crossover book or guide as to how best to learn a new language to sit alongside your existing one.

    My mind works in a weird way that I like to understand how things work how they compare to other things, rather than simply accepting that that's just the way they are.
     
  12. theshadow2001

    theshadow2001 [DELETE] means [DELETE]

    Joined:
    3 May 2012
    Posts:
    5,284
    Likes Received:
    183
    Learn a new language/skill and get a pay rise. Seems like win win to me.
     
  13. rainbowbridge

    rainbowbridge Minimodder

    Joined:
    26 Apr 2009
    Posts:
    3,171
    Likes Received:
    69
    Add this into your tool case and have always available via the internet, stay back late after work, get into the office 2 or 3 hours early, log in and go.

    The Unreal Engine Developer Course - Learn C++ & Make Games
    Learn C++ from scratch. How to make your first video game in Unreal engine. Gain confidence in programming. 4.7 (7,054 ratings) 46,382 students enrolled
    Bestselling in Unreal

    https://www.udemy.com/unrealcourse/
     
  14. theshadow2001

    theshadow2001 [DELETE] means [DELETE]

    Joined:
    3 May 2012
    Posts:
    5,284
    Likes Received:
    183
    I think I recommended the wrong book. I should have said Object Oriented Programming in C++ by Robert Lafore
     
  15. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Just started that Unreal Engine course, heavily focused on games but I think a lot of it will translate and its quite good fun.

    Also dropped a few ££££s on books :geek:

    ta all! :thumb:
     
  16. GaryP

    GaryP RIP Tel

    Joined:
    31 Aug 2009
    Posts:
    5,295
    Likes Received:
    746

    Just started the same course ! Think my brain is gonna bleed but it looks like a decent way to learn.
     
  17. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Hah mines already out of blood. :waah:

    Learning about do while loops, could someone confirm my thinking below is correct?

    int main()
    {
    bool bPlayAgain = false;
    do
    {
    PrintIntro();
    Playgame();
    bPlayAgain = AskToPlayAgain();
    }
    while (bPlayAgain);
    return 0;
    }

    If AsktoPlayAgain returns 1 (true) then that changes the false (in bold above) to true.
     
  18. theshadow2001

    theshadow2001 [DELETE] means [DELETE]

    Joined:
    3 May 2012
    Posts:
    5,284
    Likes Received:
    183
    That is correct. But you should really focus on the difference between a while and do while loop. A do while loop will always execute the body at least once, where as a while loop will assess the condition before executing the main body. This means that a while loop might never execute what is in the body. So in this case if you replaced the do while loop with a while loop, it would not execute the print intro, play game, etc. methods because the bPlayAgain variable is initialised to false.

    replace the methods with std::cout<< "method name here" << endl; Then write the code using both a a while and do while to see the difference.
     
  19. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Thanks Shadow,

    Yeah the difference was covered at the start of the video, apparently its being saved for a later lesson which I haven't reached yet.:thumb:
     
  20. Archtronics

    Archtronics Minimodder

    Joined:
    27 Jun 2006
    Posts:
    2,555
    Likes Received:
    62
    Another on if someone can help me out.

    MHWChar - My Hidden Word Character.
    GChar - Guess Character.


    int32 HiddenWordLength = MyHiddenWord.length() Establishes the length of the word assigned

    for (int32 MHWChar = 0; MHWChar < HiddenWordLength; MHWChar++)
    {
    for (int32 GChar = 0; GChar < HiddenWordLength; GChar++)
    Processes for checking through the hidden word for letters
    -------------------------------------------------------------------------------------
    {
    if (Guess[GChar] == MyHiddenWord[MHWChar])
    {
    if (MHWChar == GChar)
    Bit unsure on this bit, I assume this looks to see if character written are in the hidden word. Struggling on how the code knows if its in the word and if its in the right place
    -----------------------------------------------------------------------------------------
    {
    BullCowCount.Bulls++;
    }
    else
    {
    BullCowCount.Cows++;
    }
    }
    }
    }

    return BullCowCount;
    }
    This bit returns a bull if the characters are there in the right place or (else) returns a cow if they are in the wrong place.
     

Share This Page