Thread: what do i learn next?

  1. #1
    Registered User
    Join Date
    Jan 2011
    Posts
    87

    what do i learn next?

    i have been learning c++ for a while now, i know how to use arrays and basic functions pretty well but i need to know what is best to learn next.
    here are the things i have seen:

    overloading(already know this, just havent used it yet)
    maps
    enumerations
    vectors
    classes
    pointers
    passing by reference
    passing pointers

    i would like to know the best order to learn these and if there is anything else i should consider
    any input is appreciated
    any book suggestions are great!
    Last edited by bobknows; 03-05-2011 at 08:32 PM. Reason: added to list

  2. #2
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    O_o

    Okay. Seriously, knock that crap right out of your head.

    You should not learn one bit as separate and distinct from some other bit. You may not even be trying to say that, if you aren't that's great. If you are, just stop now. Different aspects of C++ do not always play well together and can combine with unexpected results. And even then, "classes" are just syntax, you could probably learn all of that in a few weeks. Using them well with different paradigms in mind could take you years.

    That said, flip a coin. If you are going to be programming long term, as a hobby or a profession, you are going to want to know a lot more than just that.

    *shrug*

    Figure out something you'd enjoy doing and learn the fiddly bits necessary to implement it, the figure out how other people would implement it, then work to improve on that, and then rewrite it in different ways and figure out why it worked better. Make it object oriented, use a factory, break it down and try the same things with templates.




    Basically, just keep coding until all of that and much else besides is second nature.

    Soma

  3. #3
    Registered User
    Join Date
    Jan 2011
    Posts
    87
    ummm.... ok, i dont understand all of what you said but i get the idea.
    i didnt mean that i am going learn them each as a seperate and distinct, i know that there are similarities between them and that many can be used for the same purposes.
    i am just trying to get an idea of the best way to learn them so i dont run into a situation where i know the easy way to do it, but not the right way, and so i know which one fits each situation, instead of getting stuck using one all the time.

    i will keep learning after i work on these, but i seem to have hit a jump in difficulty (for me) and was asking for some advice.

    also, i cant really know what "fiddly bits" to use and implement it if i dont know how to use them/ what they do.
    however, i have been doing a lot of reading and probably could figure it out.

  4. #4
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    i cant really know what "fiddly bits" to use and implement it if i dont know how to use them/ what they do
    A crazy lot of programmers do it every day.

    Here, take this example: a tool to visual your movie catalog with references such as actors, year it was released, and so forth.

    You don't need to know how Andrei Alexandrescu would do it. You don't need to know how Linus Torvalds would do it either. You just get started doing it.

    You say you need a class with a bunch of variables to hold that stuff and an array to stick instances of that class. Great.

    Okay. Now that you've got it working, you figure out how you could improve it. You say finding all the movies staring "Bob Awesome Actor" is a slow process? Okay. Now, you need to figure out how to improve that process.

    You say you searched around and found out that tree based map structures may offer better performance? Awesome. Have you made a version that uses maps yet?

    Great. Did it improve performance? Why (not)? Does it use way more memory than it did? Do you need to try to use less? What other tree based maps are available? Do you think any of those would work better?




    Yea. If you just blindly reach for whatever tool an "expert" suggests, you are going to fail. Eventually. If I tell you to start with a variation of a B+ Tree with some a little special behavior on inserts to allow for "sparse matrix behavior" you will not know what I'm talking about. Sure, you could read a lot; you could get it done eventually. But hell, I might be wrong. You may have wasted all your time learning what that tool is, how it works, how it is implemented, and most importantly how it should be used. If you explore, really explore, on your own, you'll eventually develop a "taste" for the common data structures and algorithms. You'll acquire the capacity to implement those "fiddly bits" without needing a brochure.

    Soma

    List of data structures - Wikipedia, the free encyclopedia

  5. #5
    Registered User
    Join Date
    Jan 2011
    Posts
    87
    i dont know how to reply.
    part of me agrees with you but i still have some doubts.
    i will think on what you said, and wait for more input.
    thank you for your advice, you seem to be an "expert" ;P
    but really, thanks. you have shown me a new way of thinking about programming, getting help, and learning
    Last edited by bobknows; 03-05-2011 at 09:01 PM.

  6. #6
    Registered User \007's Avatar
    Join Date
    Dec 2010
    Posts
    179
    Learning the basics of a language and keep learning advanced features of the language. The focus of your study isn't on the language itself-- it's with HOW to solve problems with what you know. That means the most important part of your studying is the coding itself-- so get coding.

    Other than that, I think you should read a few books on algorithm design and data structures....

  7. #7
    Registered User
    Join Date
    Jan 2011
    Posts
    87
    thanks, i will look into that

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. You have to learn C in order to learn C++
    By gandalf_bar in forum A Brief History of Cprogramming.com
    Replies: 20
    Last Post: 07-16-2004, 10:33 AM
  2. Quickly learn C# for a C++ expert
    By BigDaddyDrew in forum C# Programming
    Replies: 9
    Last Post: 06-06-2004, 04:38 PM
  3. The best place to learn
    By CougarElite in forum C Programming
    Replies: 15
    Last Post: 04-25-2004, 04:07 PM
  4. Novice trying to learn C++
    By dead in forum C++ Programming
    Replies: 10
    Last Post: 12-01-2003, 09:25 PM
  5. Wanna learn Assembly?
    By Garfield in forum A Brief History of Cprogramming.com
    Replies: 137
    Last Post: 06-29-2002, 01:49 AM