Thread: Just finished "jumping" not sure where to go next

  1. #1
    Registered User
    Join Date
    Nov 2014
    Posts
    32

    Just finished "jumping" not sure where to go next

    Hi, everybody! New to the forums, cheers!

    Well, the truth is I know little to nothing of programming, just first steps... I recently finished studying with the book and I'm not really sure how to move forward. My, inclination is to try some graphics stuff, opengl maybe, what do you think?

    Anyway, the question is, am I too "green" to dip into graphics? should I stick to c++ a little longer? or is just ok to do it with this level of knowledge. I'm currently starting with "Learning_Modern_3D_Graphics_Programming" and while I think I understand most of it, sometimes I fell kind of lost...

    What do you think?

    thanks!

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    If you're indeed new to programming in general, not just C++, then I think that it would be worthwhile to spend some time learning fundamental algorithms and data structures. These are things like sorting and searching, linked lists, various kinds of trees, hash tables, and the like. I believe Jumping Into C++ briefly covers some of these, but learning and experimenting more would help you build your foundation in problem solving by programming.

    One of the things that I like about the C++ standard library is the presence of components in <algorithm> and <numeric>. With a bit more grounding in algorithms and data structures, you can take a close look at these components, what they do and their associated time complexity, then attempt to come up with your own (simplified) implementations as learning exercises. Whether you succeed or fail, you will learn something from the journey that could prove useful later.

    If you would like to go further in depth into (standard) C++ itself, then one route is the Effective C++ series by Scott Meyers. Although many of the items described in those books are now dated with the advent of C++, they would still give you a grasp of how to program in modern C++ (and allow you to appreciate the changes of C++11). Another route would be The C++ Standard Library - A Tutorial and Reference by Nicolai Josuttis (but get the 2nd edition if you're getting it new).

    Of course, you can go ahead with graphics, but remember to experiment to solidify your learning, not just read from the book.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    Hi, laserlight! Thanks! I've been practicing as much as I could... but being that I don't have experience or some "real" problem to solve yet, I've been doing the exercises on the book, then again trying a different implementation... but it doesn't feel enough, does it?

    The thing with doing graphics is, as I don't really have any previous knowledge, I'm trying to experiment a little bit with everything before I specialize (or at least go deeper) on anything.

    by the way, do you have any expertise with opengl or graphics in general?

    Thanks again! Much appreciated.

  4. #4
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    A 'real' problem of project does help you gain experience very fast.
    If you plan to go ahead with graphics, raw OpenGL will be a little bit hardcore at this moment.
    Use a library like Qt's QPainter, SFML or SDL.
    Other than pure graphics, building something with a User Interface also helps you to get some perspective on useful stuff like callbacks or thing happpening asynchronously in general.

    And if you want to make something without the hassle of dealing with an external library now, a simple interpreter or a text adventure game may be a great idea.

  5. #5
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    Hi, manasij7479! Thanks!

    Quote Originally Posted by manasij7479 View Post
    If you plan to go ahead with graphics, raw OpenGL will be a little bit hardcore at this moment.
    Use a library like Qt's QPainter, SFML or SDL.
    The book I quoted above "Learning_Modern_3D_Graphics_Programming" uses freeglut, still, it feels like i'm missing something. Do know where should I begin? Meaning, how, or where, should I learn the basics to get me going... or should I just keep reading untill it makes sense?

    Quote Originally Posted by manasij7479 View Post
    Other than pure graphics, building something with a User Interface also helps you to get some perspective on useful stuff like callbacks or thing happening asynchronously in general.
    I'd very much like that! Could you give me some pointers on how can I learn, or where to look, to combine what I know of c++ and graphic interface?

    Thanks a lot!

    ps. how did you do it? (learn, I mean)

  6. #6
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    If you're going to do 3D graphics, then you should at least know linear algebra. It is the basics of basics of 3D math and mostly a separate topic from computing or understanding how to use a graphics API in general. 3D graphics is also very, very hard. You should probably start with 2D graphics first.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  7. #7
    [](){}(); manasij7479's Avatar
    Join Date
    Feb 2011
    Location
    *nullptr
    Posts
    2,657
    You could learn how to use the Qt library.
    That will give you some idea how classes and objects are used in the real world.
    Getting Started Programming with Qt Widgets | QtDoc 5.3 | Documentation | Qt Project

    If your book uses freeglut, it is likely teaching old OpenGL.
    Look for a glVertex* call in the examples ton confirm that.
    You can learn everything about graphics following that, but it is recommended to start with the newer api.
    Try this if you want a challenge:
    Learning Modern 3D Graphics Programming

    I am still in the process of learning.
    Still a student, so have lots of time to work on whatever project that strikes my fancy.
    Try everyting until you find what you really have fun coding.

  8. #8
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    Quote Originally Posted by manasij7479 View Post
    If your book uses freeglut, it is likely teaching old OpenGL.
    Look for a glVertex* call in the examples ton confirm that.
    You can learn everything about graphics following that, but it is recommended to start with the newer api.
    Try this if you want a challenge:
    Learning Modern 3D Graphics Programming
    if your answer is related to this:

    Quote Originally Posted by eloy203 View Post
    The book I quoted above "Learning_Modern_3D_Graphics_Programming" uses freeglut
    there clearly is something I don't get... and, yes, it uses that kind of sintaxis...

    Hi Elysia

    Quote Originally Posted by Elysia View Post
    3D graphics is also very, very hard. You should probably start with 2D graphics first.
    That's actually a very nice idea! Know any good book or tutorial? Not that I can't google, but I'd like some recomendations.

    Thanks everyone!

  9. #9
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    well... i've done a little googleing and came across this site:

    SDL Tutorial Basics

    "These tutorials will be heavily centered around SDL (Simple DirectMedia Layer), a 2D cross-platform graphics library." - at some point at the beginning o the tutorial...

    what do you make of it?

  10. #10
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    well, since that tutorial is a bit outdated and used SDL 1.2, I've changed to this:

    TwinklebearDev SDL 2.0 Tutorial Index

    which uses SDL 2.03... which is the latest

    So far, so good!

    Thank you all for your support!

    I'll come back when I know more!

    Cheers!

  11. #11
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    Quote Originally Posted by eloy203 View Post
    iThat's actually a very nice idea! Know any good book or tutorial? Not that I can't google, but I'd like some recomendations.
    Don't know of any.
    Quote Originally Posted by Adak View Post
    io.h certainly IS included in some modern compilers. It is no longer part of the standard for C, but it is nevertheless, included in the very latest Pelles C versions.
    Quote Originally Posted by Salem View Post
    You mean it's included as a crutch to help ancient programmers limp along without them having to relearn too much.

    Outside of your DOS world, your header file is meaningless.

  12. #12
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Know any good book or tutorial?
    O_o

    That would depend on your level.

    If you are a complete beginner, I'd say "The Manga Guide to Linear Algebra" because the book is silly.

    Of course, I like silly...

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  13. #13
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,413
    Quote Originally Posted by phantomotap
    If you are a complete beginner, I'd say "The Manga Guide to Linear Algebra" because the book is silly.
    Eh... how did you get to know of that book? I see that it is on Amazon, but is it for real?
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  14. #14
    Master Apprentice phantomotap's Avatar
    Join Date
    Jan 2008
    Posts
    5,108
    Eh... how did you get to know of that book? I see that it is on Amazon, but is it for real?
    O_o

    The publishers, No Starch Press, published a few technical books that I found to be of high quality. After a few direct purchases for family trying to navigate "*nix", I received a flier of some sort listing those manga books. (They have sales on their digital copies which don't have DRM to hinder my recommendation.) Being me, I had to try them on after seeing that they existed. I liked them enough that I put the others on my gift registry, and I now own them all.

    Yeah. The manga textbooks are real; they are actually quite good, though again silly, introductory texts. As I implied, you shouldn't try them on if you don't like silly. The silly fair would distract from the information if you don't enjoy that sort of thing making a multitude of other books a more suitable introduction.

    Soma
    “Salem Was Wrong!” -- Pedant Necromancer
    “Four isn't random!” -- Gibbering Mouther

  15. #15
    Registered User
    Join Date
    Nov 2014
    Posts
    32
    Thanks, phantomotap, I'm reading it right now and actually pretty good! I don't mind silly as long as it delivers, and it does!

    thank you very much!

    Anyway, I decided to go with 2D for now, which I don't know if it requires linear algebra, but, eventually, probably, I'll switch to 3d so...

    Quote Originally Posted by Elysia View Post
    Don't know of any.
    Thanks anyway!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. "Jumping into C++" Chapter 5 Practice Problem
    By Grae in forum C++ Programming
    Replies: 4
    Last Post: 09-04-2013, 01:46 PM
  2. Replies: 18
    Last Post: 03-07-2013, 06:55 AM
  3. Replies: 2
    Last Post: 08-19-2012, 06:15 AM
  4. "itoa"-"_itoa" , "inp"-"_inp", Why some functions have "
    By L.O.K. in forum Windows Programming
    Replies: 5
    Last Post: 12-08-2002, 08:25 AM
  5. "CWnd"-"HWnd","CBitmap"-"HBitmap"...., What is mean by "
    By L.O.K. in forum Windows Programming
    Replies: 2
    Last Post: 12-04-2002, 07:59 AM