• Forum
  • Lounge
  • What programming language should I learn

 
What programming language should I learn after C++?

Hey guys I've learned the basics of C++ and I'm currently working with SDL
right now. I plan to learn STL pretty soon too. But after that I have no idea of where I should go. I'm not really into web development, but my goal is to a be a well rounded programmer who has a lot of tools under his belt. I'd like to stay away from web development for as long as possible since it doesn't really generate my interest. Currently I'm into software, games, and mobile development. I also aspire to be a software developer. So what programming language would be most beneficial for me to learn next? (for my interest, and be attractive to employers)

Here were my considerations and why

Assembly - mainly to reverse engineer, create game hacks for fun
Java - really popular, cross platform, and android development
Python - was recommended to me don't know what I'd use it for though

Objective C/swift - to develop Iphone apps

HTML & CSS - for web development
PHP - for web development
JavaScript - Really popular, make things cooler, and interactive on webpages
MySQL - to know a database language


helios103 wrote:
I plan to learn STL pretty soon too.
You're not done with C++. Don't try to learn multiple things at once if you haven't learned at least one or two languages deeply yet.

The C++ Standard Library is a major part of C++ and you really can't call yourself a C++ programmer without knowing it well. (I guess you could call yourself an embedded device C++ programmer...) Take the time to learn it and check out Boost along the way,
Last edited on
My experience with tools under my belt is I don't buy them until I undertake a project that needs them. Let your next project be your guide.
My experience with tools under my belt is I don't buy them until I undertake a project that needs them. Let your next project be your guide.

Exactly! Choose what you want to make and then go on to create that and pick up anything along the way you may need. Lets say you want to make a 2D game then I would suggest going with SFML or SDL2. You may go with Unity or Unreal Engine if you would like to make a 3D game. Maybe you want to make a cross platform GUI application, then you may consider Qt.

Think of what you want to do next and google around the place and ask us any questions you have.
Last edited on
awesome! so learn whatever I want to make. I'm going to look into Qt for crossplatform. I didn't know you can make C++ programs cross platform..

I'm going to look up STL,boost, and Qt now and probably learn anotherlanguage after

Thanks! everyone
When you learn multiple languages and see their differences, you learn the subtleties of both languages, so I say go for it. I'd consider Python or Perl for this purpose.
I'd advice learning Java after C++. If you're familiar with C++, a lot of the concepts used in Java will seem very familiar to you. The syntax is will be vary familiar to you. Java is used both on mobile platforms (Android) as in software development. It's cross platform too, allowing you to easily develop and test code for it anywhere.

Python is another good language to know. It's commonly the first language learned, since it contains a lot of different features that new programmers should get familiar with, but it never actually forces you to use all of them. Personally I find the syntax rules a bit too strict, this is mostly due to the indentation rules it has. This rule does make the code a lot more readable though, so there is a good reason for it.

Since you're considering game programming. I would advice taking a look at OpenGL too. It's commonly used for 3D graphics programming in C++. It takes a while to get used to it, but once you get the hang of it, you can create nice 3D scenes quite easily with it. I would recommend the tutorial at http://www.learnopengl.com/, since it explains the concepts of OpenGL well and comes with a lot of good examples that help you get familiar with it.
Last edited on
closed account (E0p9LyTq)
If you are leaning to being a Windows developer you might want to consider learning C# as your next language. Microsoft is trying to make the language the standard in creating modern Windows-based apps.

MS is also using an XML variant, XAML, for app development.
https://en.wikipedia.org/wiki/Extensible_Application_Markup_Language
Topic archived. No new replies allowed.