My name is Chamantha and I am a teenager with aspirations to make something big (a game most likely). I have started coding when I was turning 10-years old. I started off with batch scripting, it was pretty easy. Then I moved into C++, Java, and Python. I also worked on applications in VB.NET and C#.

I seem to have a problem where a learn a lot of content about a language then I just drop it due to doubts. So in my mind I have a big bundle of random notes on coding which have no use. I have decided that I will clear my doubts first and then learn a single language all the way to the end.

I need the help of the community. I am planning to learn Java, mainly to develop a game that will eventually move on to the Android platform. But is this the right choice? I am only 15-years old so my knowledge in math is limited, is C++ a better choice? Now I don't want to start one of those long threads about which language is better because I have read so many of them but I can't come to a conclusion. I would prefer to use Python, it is very simple but I'm worried I can't make powerful games with Python (I haven't seen one popular game coded in Python).

============================================

Summary - Should I learn Java (or C++)? If so what resources should I use to learn them? Should I watch videos from thenewboston's channel or should I get a book?

Your goal, as a beginner programmer, is to learn to program. What language you choose really has very little meaning here, but there are some choices that are worse than others. Starting out with C++ is one of those bad choices. Java isn't a terrible idea to start with as a novice programmer, nor are C# w/XNA, Python with PyGame or PyGL, or even Unity.

The fact of the matter is: You will end up learning many languages and many tools over your lifetime as a programmer. Don't get fixed on what to start with, as it will rarely impact you in the long run.

In time the project grows, the ignorance of its devs it shows, with many a convoluted function, it plunges into deep compunction, the price of failure is high, Washu's mirth is nigh.ScapeCode - Blog | SlimDX

If you are serious about it you are most likely going to learn all of the above at some point in the future (maybe not VB). The important thing right now is that you learn one language and learn to make a game with it. If you know one language good (rather than knowing five poorly) it's easier to learn other languages later on.

Python is a good language so I see no reason why you should learn Java or C++ right now, if you would rather use Python. You can either use PyGame or Pyglet if you want faster graphics (I used Pyglet for two Pyweek games.. I like it). I don't know any good tutorials, but I'm pretty sure google can help you with that

If you insist on choosing between Java and C++ I would suggest Java since it has a lot of usefull libraries and great documentation. But don't rush towards Android before you have made a few games for pc first (the debugging process is rather cumbersome).

C++ is a good choice.. when you already know a few languages really well. At the age of 11 I started learning C++ for kicks and it didn't make any sense to me. When I got into college and had my first python class everything started to come together. By the end of my college days I had two Java class, 3 C++ classes and that was a good starter for C++. But I would recommended as everyone else has said, start with something small, like Python. Once you've made something with Python and you feel ready to move on to a different language move up into Java.

Note: When it comes to C++ in my opinion, C++ is like playing a really hard game once you hit the end on the highest difficulty you'll feel like a master. And even though I've had all those classes and done pretty well in the classes, it doesn't mean that I understand a lot about C++.

Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?

Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?

Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much.

Thank you very much for the help Washu, VildNinja, and Inuyashakagone16! I have decided to learn Python first. Then I will move on to Java and then finally C++. I will try to take it slow instead of jumping onto a big project that I cannot handle.

I also have Flash CS5, would learning AS3 be just as easy (or even easier) as learning Python?

Learn Python.

Leave the "and then"'s for later.

ActionScript is probably about equivalent in difficulty to Python, although such things are extremely subjective.

One major plus in AS's ( oops ) favour is the syntax is much closer to C++/Java/C#. Additionally, it is remarkably similar ( derived from ) to Javascript, which is a language that is (sadly) becoming increasingly relevant.

I suppose I should throw in my personal bias... I don't really like Python all that much.

Since I already have Flash CS5, I will start learning AS3 in order to make simple flash games. Thank you!

Does anyone have any experience with C#? I might learn that after AS3.

Yes, it is also a great language.

But as was suggested above, keep away from the line "and then I should learn...." It is a fast track to distraction and undirected growth.

Thank you for the advice, I started to doubt my choices again.

Quick question though. I haven't seen any high end games made in Python. Sure there are many 2D games but they aren't really professional. C# seems to have so much potential with XNA Studio and all of that. So in your personal opinion is C# better or more equipped for game development than Python?

Quick question though. I haven't seen any high end games made in Python. Sure there are many 2D games but they aren't really professional. C# seems to have so much potential with XNA Studio and all of that. So in your personal opinion is C# better or more equipped for game development than Python?

Python is great and high-level language, really, but the most times I've seen it used is as exterior libraries complimenting utils for other language-based applications. I might be wrong, but eh.

If you still take suggestions, I'm actually surprised nobody suggested plain C as a learning start, maybe there's a secret codemonkey curse around it? But anyway, I'd say it's an easy to learn low level language, so that's a good convo. Still used commercially, and is the basis for C++ and C#.

There are quite a bunch of tuts around the web. I could give you a few pointers myself every now and then if you prefer, too.

Only setback is that C is useful for core-y stuff, not really object-programming, graphic interfaces and stuff. Still, good to "learn how to program".

I started with VBA (making small applications in Excel etc) when I was 9. Then I moved on to C++, which seemed slightly confusing at first. However, I managaed to learn it by reading a couple of books. I am also learning Python, because it's supposed to be simple and can do some stuff quicker than C++ can.

Meanwhile, I am also making a game (you can track it's progress on my blog: ctrlaltdel314.blogspot.com) in C++ and a game developing library called SFML.
My friend though is making a game in C# and XNA for the Xbox.

So, to answer your questions, I think both C++ and Java are quite good languages to learn - however, java does require additional stuff to be already installed on your computer (most of it usually is anyway). Java can also run on the internet.
Secondly, if you are using C++ (or Java, or Python) then check out SFML- the SImple and Fast Multimedia Library and SDL - SImple Direct Media Layer. SFML is probably easier.

P.S. Don't try to learn more than one language at once. Doing this will confuse you and it will mean that you are not that good at either of them.
P.P.S Check out Nitrome - a company who make free web based games. I get all my inspiration from them.
P.P.S I haven't read all the posts on this thread in detail so I might have said something somebody has already said.

Lmao, then go with python. Go very slow through it and for the love of everything, READ. Too many people just go in and look at the code and what certain things mean and continue on. You're learning now, which means everything you learn now will make the way for the future.

Lmao, then go with python. Go very slow through it and for the love of everything, READ. Too many people just go in and look at the code and what certain things mean and continue on. You're learning now, which means everything you learn now will make the way for the future.

If I were to create a 2d small rpg, would python do the job? Is there any visual engine I can use (for c# or python)?

It is difficult to choose a language as there are so many choices I don't think anyone here can tell you what too learn, although we can allgive you our opinion on what we find useful.

Many teenagers start out with Python, it is easy to get started with and make something fairly quickly.

I would prefer to use Python

, it is very simple but I'm worried I can't make powerful games with Python (I haven't seen one popular game coded in Python).

Look up Panda3D, you can use Python to create your games

Heard of Severance: Blade of Darkness? although the engine was primarily coded in C++, Python was also used by the developers to create scripts for the game.

Most individuals will suggest that you just learn a language as it doesn't matter which you pick, well... In my experience, it does matter, if your going to spendyour time learning a language it is wise to choose a language that your going to enjoy using.

As they said, both PyGame and Panda3D will do what you want. Even though Python is a (sort-of) simple language doesn't mean it can't make games. I suggest you start with Python as I've stated before. Good luck