For example, the game engine I'm developing is designed to work on iOS mobile devices. Therefore, I had two choices for a programming language: Objective-C or C++. I opted for C++ for educational reasons.

I started development using OpenGL ES 2.x. Once OpenGL ES 3.x became available, I made the necessary changes to the engine to support OpenGL ES 3.x.

The game engine is also capable of rendering 3D characters modeled in Blender 3D, a Modeling Software used by game artists. Therefore, I used Python to develop a Digital Asset Exporter, a tool which retrieves character data in Blender. The Blender API is written in Python.

If I had designed the game engine to work on Android devices, then I would have used Java. If I wanted to use Cheetah 3D instead of Blender 3D, I would have developed the Digital Asset Exporter in Javascript. If I wanted to support PC games, then I could have used OpenGL 4.x (or even the new OpenGL generation, Vulkan).

So, before deciding if you want to develop your game engine in C++, Objective-C or Java, ask yourself what type of game engine you want to develop? Do you want it to support mobile games? PC games? What character modeling tools do you want it to interface? etc.

Remember, people don't care what language you used to develop an app. What they care is what the app can and can't do.