Sign in to follow this  

New to Programming

This topic is 4305 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone, I've recently decided to take up programming, specifically game programming. I had a few classes a couple years ago in highschool and decided I'd like to get back into it. I have a few questions first. I've decided to start with C++ since it seems to be the most popular for game programming. (Worked with Java and Visual Basic in highschool) Is this a language to seriously start with? If so, I've been looking at a few books to start with but I'd like some of your thoughts. Should I start with books specifically for game design or should I start with a book such as say C++ Primer and go from there? If not, what language would you suggest? Thanks -Mike

Share this post


Link to post
Share on other sites
If you are just learning the language don't start with a game programming book. Most of those books think that you will know C++ well enough to just jump right in. I would get a primer or beginner book that covers the basics of the whole language set. That way you can have a good understanding of everything before moving onto graphics. Python and Java are pretty good languages too for beginners. You could always try them all and see what one you think is the best. Most of the basic programming concepts carry over to each language.

Share this post


Link to post
Share on other sites
Hey bud,

I would start with C to begin with. There is a good beginners book by Tony Royce and also the ANSI C Second edition by Brian Kernighan and Dennis Ritchie, it's the C bible.

Once you have gotten strong at C i recommend picking up any 1 of a number of Sams C++ books.

Hope that helps,

Dave

Share this post


Link to post
Share on other sites
Welcome to the forums!!! I am a fairly new game programmer and I have asked basically the same question as you. The most popular answer is a c-type language. I am going to be learning C# or C++ (probably C#, It is supposed to be easier) Another thing you need to consider is whether or not you will be trying to get a job in game programming. If you are going to try for that you will basically need to learn C/C++. Otherwise whatever is easiest for you. Though most ppl onm this forum use C++. C++ also has a bunch of good libraries.
I don't agree with Dave you should learn C++ from the beginning to get good OOP habits.

On the topic of books get a primer or absolute biginner type book I made the mistake of buying a game programming book, it was way too advanced even though it said beginner.

Good Luck!

--BlackViper91--

Share this post


Link to post
Share on other sites
If you are going to be a successful programmer you are going to have to be able to pick up absolutley any language at any time.

Dave

Share this post


Link to post
Share on other sites
Awesome guys, thanks for the fast replys.

A couple years ago it was my dream job to work in the gaming industry, however those dreams were crushed because I sucked so bad at math. I recently learned how much easier math was if I learned it myself rather than being taught it, strangely enough the concepts seem much easier. For now though, i'll just program on the side, as a hobby. If I end up sticking with it long enough then I may get a degree in computer science. I tend to have a habit of giving up on things too quickly, this is usually because I try to tackle too many things at once, ie: learning say C++, Photoshop, 3DS Max all at once.

I'm a big fan of art, but I can't draw at all, or maybe I just havn't put enough time into it. Eventually I want to learn 3D modeling as well but I'm guessing you guys would not recommend trying to learning both than and programming at once?

Also I have Microsoft Visual Studio and Borland C++ is either one better or does it not matter?

-Mike

Share this post


Link to post
Share on other sites
Quote:
Original post by Dave
If you are going to be a successful programmer you are going to have to be able to pick up absolutley any language at any time.


Yes, but why C? Half the threads here are the result of C's lack of type safety and it's relience on low-level pointer ho-ha. He's already use VB and Java whihc are OO, why would you suggest a out-dated procedural language?

Quote:
Original post by Zex903
I'm a big fan of art, but I can't draw at all, or maybe I just havn't put enough time into it. Eventually I want to learn 3D modeling as well but I'm guessing you guys would not recommend trying to learning both than and programming at once?


Sadly jumping into the 3D deep end, drowns most newbies. Stick to making console apps and learning the language at first. Then when you feel you've "mastered" that go on the 2D. After that if you want, go on to 3D. Although 3D modeling and 3D programming are two very different things. Just because you can model, doesn't mean a 3D game is just going to appear out of nowhere. Also remember that just being 3D doesn't make a good game, there are plenty of fun 2D games.

Quote:
Original post by Zex903
Also I have Microsoft Visual Studio and Borland C++ is either one better or does it not matter?


I've never been a really big fan of Borland so I'd go with VC. Plus any windows C++ library is basically guaranteed to work with VC.

But what version of VC do you have? If you have version 6 or older, you should consider upgrading since it's not standards compliant or compatible with the more recent libraries. Should you need to upgrade, just Google "Visual C++ Express".

Share this post


Link to post
Share on other sites
Quote:
Original post by Scet
Quote:
Original post by Dave
If you are going to be a successful programmer you are going to have to be able to pick up absolutley any language at any time.


Yes, but why C? Half the threads here are the result of C's lack of type safety and it's relience on low-level pointer ho-ha. He's already use VB and Java whihc are OO, why would you suggest a out-dated procedural language?


Unfortunately C is still widely used in the industry, which is probably what he was getting at.

Share this post


Link to post
Share on other sites
As far as game programming, there's not alot of languages that you can't program in games in; you can even do it in Lisp, Delphi, or Python. So pick up a book or tutorial on game programming and just do it [smile]

C++ is the industry's most used language for game programming, but since you'll be doing some CS or SE soon, you might as well tinker with 4 or 5 languages just to get a feel of what's out there and increase your skill. Most likely, you'll not only be using C++ in your programming career.

Share this post


Link to post
Share on other sites
Quote:
Original post by Scet
He's already use VB and Java whihc are OO, why would you suggest a out-dated procedural language?


C is good for learning the workings of the hardware. C (and C++) is and will be the basis for many important, successful software products:

  • Embedded devices are often programmed in C/C++
  • Drivers are mostly written in C/C++/Assembler
  • Medical, (aero)nautical, and military software has been written in C/C++
  • Hard real-time application are often written in C
  • ...

    C won't be obsolete for the near future, though it's been partly replaced by C++ and other languages.

    Share this post


    Link to post
    Share on other sites
    C is a foundation language.

    Many people have told me how hard the step up is from C to C++, so being inexperienced at writing with the C-like syntax of C++ is just a hinderance when it comes to learning the C++ language and it's Object Oriented nature.

    It would be like trying to paint like Van Gogh without knowing how to paint at all. You need to take it easy and learn, in steps, what it takes to become good at C++. A good first step is to learn C.

    There is no rush to aim for this 'glory status' of being a C++ and DirectX game programmer. You would gain respect from me and certainly other language-experience programmers if you take the time to learn the foundations and more low level nature of C before you rush into much more high-level language. It is important to understand what goes on underneath the C++ code. For example, what goes into the STL library, rather than just blast onwards using the high-level mechanics of the language while completely oblivious to it's workings.

    That's why i think you should learn C first. I didn't and i paid for it.

    I'm saying 'you' in general terms.

    Dave

    Share this post


    Link to post
    Share on other sites
    Quote:
    Original post by Kylotan
    Quote:
    Original post by Scet
    Quote:
    Original post by Dave
    If you are going to be a successful programmer you are going to have to be able to pick up absolutley any language at any time.


    Yes, but why C? Half the threads here are the result of C's lack of type safety and it's relience on low-level pointer ho-ha. He's already use VB and Java whihc are OO, why would you suggest a out-dated procedural language?


    Unfortunately C is still widely used in the industry, which is probably what he was getting at.


    C is still widely used in Embedded systems and you may be too naive (not @ Kylotan) to realise that in fact it can be better to use than C++ for alot of applications.

    A good example of this is that the Linux kernels are written entirely in C.

    Share this post


    Link to post
    Share on other sites
    Zex,
    I entered the industry as an artist with a year or so of programming under my belt. Today, I work extensively with Maya and Photoshop, and it's a beautiful thing to know how to script with MEL. It's not "programming" for some purists, but it's very handy to know. And, well, I'm trying to learn more "pure" programming.

    From my side, then, I'd encourage at least a mild understanding of how the 3D programs work, and if you're still interested in the art side, draw. A lot.

    It really enhances your ability to work in a team if you understand both sides of the system, even if you specialize in one. For example, I write some of my own scripts that I can do faster than asking an engineer to do it and get lost in the translation. Programmers benefit from understanding the basics of what the artists are looking for.

    As far as learning all at once, you're really only limited by what you can handle. I learned Illustrator, Maya and Java within the same two years, mostly at the same time. I had worked with Photoshop for a few years before that, but I kept learning with it as well at the same time. If you have the interest, means and discipline, there's no reason you can't learn them at the same time.

    Share this post


    Link to post
    Share on other sites
    Sign in to follow this