Choice of programming language for the development of sound games. Should I use C++ or not?

Hello.
Dear moderators, I understand that this is a forum about C++, but my question is related to C++, for this reason I hope that questions will not come to me. Thank you.
At the age of 6, I lost sight due to Ukrainian doctors. I am blind.
I'm interested in programming as a hobby and a way to earn extra money.
I know the basics of C++, C#, Java, Python, PHP.
For work, I use Python + Django.
But for hobbies, not for work, I'm interested in applied programming. Most of all the development of games.
I can not see, for this reason, I'm not interested in developing video games. I'm interested in the development of sound games.
We have many such games. Different genres. Card games, racing, strategy, shooter!
Using 3D sound, I play games such as Call of Duty, Mafia 2, GTA.
I would like to develop a game in the likeness of these games.
I decided to choose the programming language that will help me with the implementation of not only this task, but also many other tasks. The solution of this problem will be the experience in the chosen language.
My problem is in my vision. Such engines as Unreal engine, Unity and CryEngine are not available to me. It has a graphical interface, and screen access programs are not voiced. I could use these engines if it were in the form of libraries.
I decided that 4 programming languages ​​can help me. C++, C#, Java, and Python.
What I need:
I want to use ready-made solutions. I do not want to develop my libraries and engines from scratch. I'm not very good at math, and I can not independently develop 3D and stuff. For this reason I want to use ready-made libraries, API and engines.
I need to open the game window, the ability to specify the title, size.
I need 3D sound support.
I need keyboard support.
I need network support.
The main operating system for me is Windows, but it is desirable that I can port the application to Linux and other systems. But this is optional.
Here is my opinion about the selected languages:
C++ is the ideal solution, but for those who are interested in low-level programming. On the one hand, I'm interested in how everything works, but on the other hand, I do not understand pointers, I do not like low-level programming and system programming. The author of Straustrup, in his book Programming: Principles and Practices Using C++, wrote that C++ is not for those who want to use ready-made solutions. I was told by many that all popular games are developed in C++. But in C++ developed game engines of these games. I do not want to develop my game engine, I want to use ready-made solutions. Because I'm not sure that C ++ suits me well. But C ++ has such wonderful things as sdl, sfml, bass, fmod, etc.
C# is a good solution for Windows. Good syntax, but C# is bound to NET. C# has ported libraries, such as SFML, but I'm not sure that it works in the same way in NET and in unmanaged code. C# has Unity, but as I said earlier, it's not available to me.
Java is a good language. Plus, it's a cross-platform language. I can develop under Windows, Linux, Android, etc. But I'm not sure if Java will cope with my task.
Python is a good language with simple syntax + OOP, but performance scares me. I do not know how 3rd version, but 2 version of Python has less speed than Java.
I understand that my choice, but I want to hear your opinion.
I would like to develop games like GTA, Call Of Duty, Mafia, but without graphics. I think for this reason I do not need high performance.
I understand that the best version of C++, but I'm not sure.
Thanks in advance!
but C# is bound to NET
Not anymore, you can run it on Linux using Mono.
Once I developed an ASP.NET website on Windows for a friend and she ran it on an Apache Server on Linux with Mono and everything worked fine.
You also can use C# with Xamarin and run it almost everywhere.

I need to open the game window, the ability to specify the title, size.
A breeze in C# and Java - in C++ you need you need external libraries.

I need 3D sound support
Neither C# nor Java nor C++ will support it directly - so you need external libraries.
I need network support.
No problem with C# or Java - in C++ you need external libraries.
Thomas1965: You are arguing two opposite points simultaneously. Don't you find that a bit confusing?

OP: You're putting the cart before the horse. When developing a game the language is not terribly important, unless you already have in your head a very clear design for the implementation. Much more important than the language is the engine you want to use, because that will condition the language you will need.

Also, your preconceptions are guiding your decision too much. Consider that the first few games will almost certainly be learning experiences. It's even likely that you will switch to a different engine because you find certain restrictions annoying.
So don't overthink it so much. You're not getting into a mortgage here, you're selecting technology. Just pick something that more or less does what you want and go with it. One way or another you'll likely pick wrong anyway, as we all do.
Thomas1965 wrote:
A breeze in C# and Java - in C++ you need you need external libraries.
Actually .Net, Mono, and something like Java Swing are external libraries.
The difference is that they are easier to integrate than in C++.
Thomas1965: You are arguing two opposite points simultaneously. Don't you find that a bit confusing?
Sorry I don't get you. What two opposite points do you mean?

Actually .Net, Mono, and something like Java Swing are external libraries.

I dont't consider .NET an external library since it's part of Windows. But true for Java or Mona
Thank you Jonikster for your post. I have never before considered games for the blind before and immediately had to google this subject. From the brief articles I read on how games for the blind work, it seems that you don't need powerful graphics engines at all. A simple game library like sfml should provide plenty to get you started. Best of luck to you.
Sorry I don't get you. What two opposite points do you mean?
"Language X doesn't need libraries." "Language X needs libraries."
If your point is that OP will need libraries one way or another you should say that.
closed account (E0p9LyTq)
Speaking as a non-expert, who is a Windows user/learning to program programmer:

I personally would lean towards C++ because of the number of libraries available to use. Windows or not.

Obviously you don't need any of the graphical libraries. DirectX is used for most Windows based games and has a sound/music subsection are part of the API.
Manga, I understand that libraries such as SFML suit me, but I can not decide on the programming language.
On the one hand, Java is a good choice, but on the other hand, I was told that I will not be able to implement my Java tasks.
In Python, I doubt about performance, C# is bound to NET, in C++ pointers.
Please Tell me If my choice is C++. Do I need to know a lot of things?
If I know the basics, variables, conditions, loops, arrays, OOP, can I develop games using libraries? Or is it C++ not for this?
closed account (E0p9LyTq)
If my choice is C++. Do I need to know a lot of things?

Every computer language requires a lot of knowledge to use it well.

The advantage for C/C++ is there are lots of resources to learn from. Books, forums, etc.

Have you not learned things here, asking questions?
I made my choice!
C ++ and Java!
I will study both.
Thanks to all.
Topic archived. No new replies allowed.