Thread: Where to go once you've learned C++?

  1. #16
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >There are a few things it that I still don't know, but I've got a good handle on most of it.
    People call me an expert, and I wouldn't make that claim. Unless you're way better at C++ than me, you shouldn't either.

    >Where should I go next?
    What do you want to do?
    My best code is written with the delete key.

  2. #17
    Devil's Advocate SlyMaelstrom's Avatar
    Join Date
    May 2004
    Location
    Out of scope
    Posts
    4,079
    Quote Originally Posted by Prelude
    People call me an expert, and I wouldn't make that claim. Unless you're way better at C++ than me, you shouldn't either.
    You know what I love about you, Prelude? You're so modest, yet you consider yourself cocky and egotistical every chance you get. Whether or not you know almost everything about C++, you still know more than a lot of people, which in my book makes you an expert.
    Sent from my iPad®

  3. #18
    Registered User
    Join Date
    Aug 2005
    Posts
    204
    Quote Originally Posted by Mario F.
    Then check Tonto's reply.

    Programming languages are notoriously mischievous in that they give us a false sense of knowledge that crumbles like a deck of cards after the first 20 lines of code.

    You will have to apply that knowledge now. By developing some form of small project you would like to. Immediately after you start, you will know what you are missing in know-how. Trust me on this one.
    Yes, but I think it's mostly things that aren't directly related to the language. It's things such as platform specific GUI programming, interfacing with the hardware, or the header format for a BMP file.

  4. #19
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    You just read one book on C++. You aren't ready for advanced stuff.

    The simple general rule for C++ is... ok... sit down and brace yourself. This is going to hurt... the simple general rule for C++ is you need 2 years to feel comfortable around the programming language concepts, and 2 more to become fluent. The remaining years are spent becoming an expert. This generally happens 10 or more years after you first started.

    The GUI thing?... well, I would advise you to try this only after the first year. But I can see you are going to be one of those little speedy gonzales that think they can do it and a couple of weeks later give up cursing at C++ for being too complicated.... yeah.

    A windows programming tutorial:
    http://www.foosyerdoos.fsnet.co.uk/
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  5. #20
    Code Goddess Prelude's Avatar
    Join Date
    Sep 2001
    Posts
    9,897
    >It's things such as platform specific GUI programming, interfacing with the
    >hardware, or the header format for a BMP file.
    Those are more API stuff than programming skills. Before you jump head first into the grind of programming, you should have a strong foundation in the basics. That means 1) familiarity with at least three languages that have followed different evolutionary paths, 2) a good understanding of algorithms and data structures, and 3) experience with logic and problem solving. Each of those will make you a far better programmer than a little knowledge of an API or graphics formats.

    Once you're a good programmer, you can learn new things easier and more quickly.
    My best code is written with the delete key.

  6. #21
    Registered User
    Join Date
    Aug 2005
    Posts
    204
    Quote Originally Posted by Mario F.
    You just read one book on C++. You aren't ready for advanced stuff.

    The simple general rule for C++ is... ok... sit down and brace yourself. This is going to hurt... the simple general rule for C++ is you need 2 years to feel comfortable around the programming language concepts, and 2 more to become fluent. The remaining years are spent becoming an expert. This generally happens 10 or more years after you first started.

    The GUI thing?... well, I would advise you to try this only after the first year. But I can see you are going to be one of those little speedy gonzales that think they can do it and a couple of weeks later give up cursing at C++ for being too complicated.... yeah.

    A windows programming tutorial:
    http://www.foosyerdoos.fsnet.co.uk/
    I think I understand general programming concepts, though I'm not sure what you consider general programming concepts to be. I've done a GUI, and the program runs, although the GUI is not a very nice one.

  7. #22
    Registered User
    Join Date
    Aug 2005
    Posts
    204
    Quote Originally Posted by Prelude
    >It's things such as platform specific GUI programming, interfacing with the
    >hardware, or the header format for a BMP file.
    Those are more API stuff than programming skills. Before you jump head first into the grind of programming, you should have a strong foundation in the basics. That means 1) familiarity with at least three languages that have followed different evolutionary paths, 2) a good understanding of algorithms and data structures, and 3) experience with logic and problem solving. Each of those will make you a far better programmer than a little knowledge of an API or graphics formats.

    Once you're a good programmer, you can learn new things easier and more quickly.
    I've used about eight different languages (counting scripting languages), but I certainly do not know eight different languages. What is considered familiarity?

    Personally I think algorithms is such a broad area that one could never really know it. It includes everything from alphabetic sorting through edge detection in image processing. Data structures I don't think I know. Logic I think I do know.

  8. #23
    Insane Game Developer Nodtveidt's Avatar
    Join Date
    Nov 2006
    Location
    Isabela, PR
    Posts
    105
    What Mario F. stated is essentially true in terms of learning *everything*. If you don't need to "learn it all" (aka if you want to learn what you need to on the fly) then perhaps you can learn much quicker, only to be hindered slightly (or sometimes not so slightly) when you run into something you don't yet understand. Some people (like me) don't learn concept very well and only learn from implementation. I find it much more interesting to go to way of "dive right in" but of course, that's not for everyone.

  9. #24
    (?<!re)tired Mario F.'s Avatar
    Join Date
    May 2006
    Location
    Ireland
    Posts
    8,446
    I don't know anymore what you are asking, thetinman.

    All has been said. You should program in C++ for a while. Reading a book is not enough. If you think you know C++, you are wrong. You don't.
    Originally Posted by brewbuck:
    Reimplementing a large system in another language to get a 25% performance boost is nonsense. It would be cheaper to just get a computer which is 25% faster.

  10. #25
    Registered User VirtualAce's Avatar
    Join Date
    Aug 2001
    Posts
    9,607
    Build a game. If you think you really know C++ then build a simple console game or even a simple windows-based game.

    I've been coding in C++, BASIC, VB, and assembly for a very long time and I'll be the first to admit I'm not even close to having learned them all or mastered them. Some things still to this day keep me up at nights thumbing through tons of books and/or browsing the net for an answer to one of my obscure problems. Amazon is my best friend and fortunately I also think they sell bookcases...which I'm sorely in need of.

    Don't be fooled by a book. Start coding and you will really see how much you know. If your current projects are not challenging enough then start on some that are way out of your league. Since you are familiar with the language jumping into a difficult project probably won't deter you from the language - so I say jump in head first. I give you about an hour into a complex project before you will be reaching for a book.

    My programming exploits, fits and frustrations, misadventures, and moments of sheer rapture to this point could fill 10000 books and I haven't done 1/4 of what some of the people on this board have. Not to toot my own horn but to illustrate a point...I've read about 20 books or more in the past year or so on different topics in programming and yet there are about a million more to read. One book certainly does not make you an expert. Go write a report in school and cite one source and see what kind of grade you get.

    You certainly are making some outrageous claims in this thread.
    Last edited by VirtualAce; 12-06-2006 at 07:57 AM.

  11. #26
    Hurry Slowly vart's Avatar
    Join Date
    Oct 2006
    Location
    Rishon LeZion, Israel
    Posts
    6,788
    What is considered familiarity?
    Give your code to someone else to support, and count all the non-normative lexic he uses trying to figure out what is going on here and there.

    If your count is close to zero - you can say that you're programming good enough in the given language.
    All problems in computer science can be solved by another level of indirection,
    except for the problem of too many layers of indirection.
    – David J. Wheeler

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Learned the basics, SO ?
    By TuxPayne in forum C Programming
    Replies: 4
    Last Post: 09-11-2005, 12:32 PM
  2. Love - learned or inherent?
    By axon in forum A Brief History of Cprogramming.com
    Replies: 42
    Last Post: 01-24-2005, 12:09 PM
  3. Learned optimism
    By Terrance in forum A Brief History of Cprogramming.com
    Replies: 3
    Last Post: 09-25-2003, 03:06 PM
  4. Something I never learned?
    By CodeMonkey in forum C++ Programming
    Replies: 18
    Last Post: 02-23-2003, 08:16 PM
  5. What have you learned?
    By ygfperson in forum A Brief History of Cprogramming.com
    Replies: 2
    Last Post: 10-01-2002, 11:12 PM