Thread: Starting young.

  1. #1
    Registered User
    Join Date
    Nov 2007
    Posts
    40

    Starting young.

    First of all, hi, this is my first post.

    Made evident by the title, I'm planning on starting programming as early as I can, because I know for sure that it will be my career. What I've yet to decide though, is whether to take start off with Java or C++. Considering where I'm posting, I fully expect a biased response, but I really need opinions.

    My long-term goal is to write games/software, but I'm not just looking at the end product. I know that it will take a lot of learning and devotion to get there, and I'm perfectly willing to go through that.

    I've been through the first handful of tutorials on C++ provided here, and though I've barely scratched upon its surface, and don't completely understand it all, I can already tell that learning it will pay off.

    I've also poked around some Java tutorials (which were a lot harder to understand than Cprogramming's C++ tutorials), and it seems that Java is a better language to use for interactive games (correct me if I'm wrong), which is what I hope to get into soon.

    Basically what I'm asking for are some simple projects in both C++ and Java, to see which I prefer, and then online lessons or book references to get me started.

    Thanks for your time.

    - Paragon

  2. #2
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    Yeah, asking at a C++ forum.... you're bound to get positive C++ answers.

  3. #3
    Registered User
    Join Date
    Nov 2007
    Posts
    40
    Heh, yeah, that's what I figured.

    Really, I don't even want to do Java, but it seems to fit my goals better.

  4. #4
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Java has a better safetynet than C++, so when you make mistakes, it will catch you with a reasonable error message, rather than just crashing badly.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  5. #5
    and the hat of int overfl Salem's Avatar
    Join Date
    Aug 2001
    Location
    The edge of the known universe
    Posts
    39,660
    You're going to end up using multiple languages in your career anyway, so which order you learn them doesn't matter. After the first couple, it gets a lot easier.

    The real skill you need to be working on at the moment is how to program (think how to drive vs. the car you choose).

    Python seems like a good bet. It has all the elements necessary to learn about structured programming, and it isn't heavy on the declarations, and won't hang you out to dry because of some trivial mistake in your program.
    If you dance barefoot on the broken glass of undefined behaviour, you've got to expect the occasional cut.
    If at first you don't succeed, try writing your phone number on the exam paper.

  6. #6
    Lurking whiteflags's Avatar
    Join Date
    Apr 2006
    Location
    United States
    Posts
    9,613
    >My long-term goal is to write games
    You and most people your age. I'm not saying don't do it, but work on a good back up plan.

  7. #7
    Registered User
    Join Date
    Nov 2007
    Posts
    40
    Lol citizen, I know exactly what you mean, and I'm not just another 15 year old kid giddy about the thought of making a game. Thanks though.

    Salem, thanks, and good analogy :P.

    EDIT: I don't get Python at all lol...
    Last edited by PAragonxd; 11-27-2007 at 04:56 AM.

  8. #8
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    I like C instead.

  9. #9
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    C++ is master of the hills
    I might also say it depends on what you like. Programming is an art, whatever anyone might say. If you like it easy, rapid dev, then consider languages like VB. If you like heavy, powerful languages which contains a lot of powerful tools for you to use, then consider C++.

  10. #10
    Registered User
    Join Date
    Aug 2005
    Posts
    266
    C is easier to jump into to, i think.

    but then again i am not an experienced programmer

  11. #11
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Well, C is a large portion of C++ as well, as learning C will help in understanding some of the constructs in C++ - even if they are also, on a different level, completely different languages.

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  12. #12
    C++まいる!Cをこわせ!
    Join Date
    Oct 2007
    Location
    Inside my computer
    Posts
    24,654
    C++ can be all C if you want, and it also catches some silly and plain stupid things like
    Code:
    *ptr = "my string";
    Unless you have a very special reason to go C, I suggest C++. C++ doesn't necessarily mean you need to use the "++" of the language - you can code all C if you want.

  13. #13
    Kernel hacker
    Join Date
    Jul 2007
    Location
    Farncombe, Surrey, England
    Posts
    15,677
    Quote Originally Posted by Elysia View Post
    Unless you have a very special reason to go C, I suggest C++. C++ doesn't necessarily mean you need to use the "++" of the language - you can code all C if you want.
    Yes, you can use a C++ compiler to compile C [particularly if the code was written to this end], but there's a big difference in "How people expect to be using C++ vs C" - and it's important to understand the difference between object orient design and "classical function-based design". This is a much bigger difference between C and C++ than the syntactical differences in themselves [which I'm sure Elysia is aware of, I'm stating this more for anyone else getting the idea that the two languages "are almost the same"].

    --
    Mats
    Compilers can produce warnings - make the compiler programmers happy: Use them!
    Please don't PM me for help - and no, I don't do help over instant messengers.

  14. #14
    Deathray Engineer MacGyver's Avatar
    Join Date
    Mar 2007
    Posts
    3,210
    Because C++ started out as an extention to C, it retains a lot of C's items. However, it soon became more than just a simple extension and became its own language. A lot of the underlying C mechanisms are therefore considered -- shall we say "less correct" -- than their C++ counterparts. In C, however, a lot of those mechanisms are not only considered correct, but very valuable.

    Slight example... Strings. In C, you use char arrays and it requires you to have a very good handle on pointers, arrays, and how it all works together. In C++, you use std::string, which takes a lot of the complexity of char arrays away from you.

    I understand the C++ way is to limit your usage of pointers and various C mechanisms so you write safer code in a shorter period of time, and I think it's a very good goal, but I can't help but feel I would not be at the same level I am now with pointers and such if I only knew C++ and stuck with only the C++ way of doing things.

    This is likely to end up with a debate of C vs C++, but either way, the OP should look at the benefits and downsides of whatever languages he is willing to learn, and eventually pick a language. Once you got that language selected, go for it, and learn it the proper way. Write safe, standard-compliant code, and get good at it. Then move on to the next language or project, etc. etc..

  15. #15
    Hardware Engineer
    Join Date
    Sep 2001
    Posts
    1,398
    I've also poked around some Java tutorials (which were a lot harder to understand than Cprogramming's C++ tutorials), and it seems that Java is a better language to use for interactive games (correct me if I'm wrong), which is what I hope to get into soon.
    I wonder if the Java tutorials are starting-out with graphic/GUI examples. That adds lots of complexity. Or, it could just be that a different person wrote the tutorials. I don't know Java, but from what I've seen, it looks very similar to C++. And, if a task takes 100 lines of Java code, it's probably going to take about 100 lines of C++.

    There are no graphics or GUI capability in Standard ANSI/ISO C++. You can do all of this stuff with C++, but it takes additional libraries (included with most compilers). This allows you to learn programming concepts and the underlying C++ language without getting bogged-down in the GUI overhead. The downside is that you don't get to write any GUI programs until you've studied C++ for several months. ( Even without graphics & GUI, C++ is a very complex language, and there is a lot to learn!)

    Really, I don't even want to do Java, but it seems to fit my goals better.
    I think most games are written in a combination of C/C++ and Assembly... I don't know Java, and I've never worked for a game company. But, like Salem said, the choice of your first programming language isn't that important.


    ...and I'm not just another 15 year old kid giddy about the thought of making a game.
    I can tell from your well thought-out, well written, post that you have an excellent chance of success!

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Starting programs
    By Molokai in forum C Programming
    Replies: 1
    Last Post: 04-16-2009, 10:10 AM
  2. Interpreter.c
    By moussa in forum C Programming
    Replies: 4
    Last Post: 05-28-2008, 05:59 PM
  3. i am not able to figure ot the starting point of this
    By youngashish in forum C++ Programming
    Replies: 7
    Last Post: 10-07-2004, 02:41 AM
  4. question about reading inputs starting with 0
    By jibbles in forum C Programming
    Replies: 8
    Last Post: 08-09-2004, 03:27 AM
  5. we of the cage
    By mithrandir in forum A Brief History of Cprogramming.com
    Replies: 8
    Last Post: 08-21-2002, 10:14 AM