Hey, I just found this forum so I'm pretty new here.

First at all, let me introduce myself real quick.

I'm not a beginner. I'm a relatively experienced game programmer.

I've started programming games around 6 years ago, spending 5 years with Unity & C#.

I just hope to get some advice from some Guru's.

Just to have it mentioned, I don't plan to compete with engines like Unity, Unreal or CryEngine, I just want to start writing my own engine for fun & learning purpose.

In fact, I already made a few early experiences with DirectX & some basic drawing based on WindowsForms using C#.

But, I'm just not sure which language I want to use.

I love C#, but I worked for 5 years with it, so learning something new seems to be a good idea to me.



Here are some Languages I took a few looks at:

-> C++ (of course)

I messed around a little in C++, mostly writing Console Applications, but also trying some stuff in the CryEngine & I'm not going to argue the facts, C++ is for a reason one of the most used languages for game programming, but, coming from C# & just looking at the style of the language, C++ seems to be a little outdated to me. Just all the combinations of operators & keywords like "const" make me feel like "Do I really want to use this language ?", it doesn't seem to be that much of fun for me.

-> F# (a little surprising, I guess :D)

Same as C++, just a few hours of tutorials, throwing basic stuff in consoles. But, I kinda like F#. It's just a completly different thing & a completly new style of programming (it's pretty difficult to understand though, for someone who has no experience in using functional programming languages) & I like the fact that F# is managed land (Though, I don't mind managing memory by myself, that C++ is native land is no real downside for me)

-> Rust

Rust is the language I have the least experience with. I just had a little talk about it with a friend (who is also a quite experienced programmer & to mention, also more experienced than I am.) & he seems to be pretty convinced of the language. Rust looks like it is pretty close to C++, but also combines functional programming in it (reminding me a little of F#) which seems pretty cool to me.

-> Java

I know Java a little more than the other languages listed here, because I used to help a friend who studied Informatics & had to write some simple applications in Java. But Java is no option for me, it's a kind of Half-hearted OOP Language & I just don't like it's style.

Based on my few experiences with these languages, is there some advice you would like to give me ?

Or even a completly new language I haven't mentioned ?