Lots of good replies. I use Java but came from a C++ background (mostly Visual C++).
Unix/Linux, with modified kernels, is used for the fastest HFT. You don't need this.
I have found that Linux is a pain for me. I upgrade to the latest version of IntelliJ/NetBeans, Gradle, Java (I'm currently on Java 16) about once a year. Inevitably, the latest versions will not work together, so have to downgrade to the lowest common denominator. Windows, fewer problems. I have several trading platforms that only work on Windows. So, I use Windows but IMHO, use the operating system that you are most comfortable with. Many Java programmers use MAC os.
C++, Java/Kotlin, C# have very little speed difference. They all have thoroughly modern versions. All are a great choice for high performance. Java and C# are slower to start up and use more memory but the pluses for me outway the minuses. You won't outgrow any of them. Unless you are already a C/C++ programmer you should probably use Java/Kotlin/C#. If you want to program for Android Java/Kotlin.
Unless you are looking at every tick of 1000+ symbols you can probably get by with Python. It is popular so lots of example code and many trading platforms support it. For a non-programmer, example trading code is very important.
Please feel free to correct any errors.
Unix/Linux, with modified kernels, is used for the fastest HFT. You don't need this.
I have found that Linux is a pain for me. I upgrade to the latest version of IntelliJ/NetBeans, Gradle, Java (I'm currently on Java 16) about once a year. Inevitably, the latest versions will not work together, so have to downgrade to the lowest common denominator. Windows, fewer problems. I have several trading platforms that only work on Windows. So, I use Windows but IMHO, use the operating system that you are most comfortable with. Many Java programmers use MAC os.
C++, Java/Kotlin, C# have very little speed difference. They all have thoroughly modern versions. All are a great choice for high performance. Java and C# are slower to start up and use more memory but the pluses for me outway the minuses. You won't outgrow any of them. Unless you are already a C/C++ programmer you should probably use Java/Kotlin/C#. If you want to program for Android Java/Kotlin.
Unless you are looking at every tick of 1000+ symbols you can probably get by with Python. It is popular so lots of example code and many trading platforms support it. For a non-programmer, example trading code is very important.
Please feel free to correct any errors.