For my hobby and self-employed work I write games, and as of now i've only targeted Windows.
I want to break the chains that bind me to windows (and also important: .NET) but I do not know which language I should use primarily for writing 3D games , I want to use DirectX on windows and OpenGL on linux so there should at least be a way to use those frameworks in the language, and it should be fast. (ie Java would not be suitable for a good looking pc first person shooter or MMO in my opinion) . Compatibility with existing rendering/game engines does not matter.
My background:
Main coding language: C#
I also have experience in Java (writing an android game) , Lua , and also some web languages but that's not important.
My personal criteria: - Run on Windows and Linux (directx,opengl support) - Have a Garbage Collector - I want to avoid using pointers - There should be a decent IDE for it in linux and preferably also in windows - Object Oriented - available libraries (first or third party) which include things like IO , XML , Networking (like .net).
I have seen the Mono project, but I want to move away from the .NET platfrom and propietary languages as much as possible.
I would greatly appreciate advice and stories based on your own experience..
Please refrain from turning this into a 'which programming language is better' discussion, it should ideally be a list of experiences which would allow me and others to make our own conclusions.