John Dewar, Co-Founder of Studio Transcendent, discusses the programming languages of Virtual Reality
The programming language you should choose to learn largely depends on your targeted platform.
While Unity offers three scripting language options, everyone has more or less switched to C# at this point. Since it’s the most popular, it's easy to find code samples to learn from.
Cryengine now has a C# layer to try to win over Unity devs. They also have Lua and C++ APIs.
Unreal uses Blueprints and C++. Blueprints are easy to get started in, but you'll need to get comfortable with some advanced OOP concepts to get the most out of them. As the scripts become more complicated, editing them becomes a hassle with a lot of pointing, clicking and dragging, so complex logic is better off in C++. While Epic has gone to great lengths to make C++ easier to use, it’s still a very challenging language to learn and prone to spitting out arcane error messages.
I wouldn't be surprised to see Swift enter the mix when Apple makes its move into VR, but it's a bit early to bank on that.
The bottom line is C# is your best bet and the overall easiest language to learn. But if you've never touched code before, Blueprints in Unreal are a great way to learn some basic concepts, since you can watch the program flow visually, and the skills you gain will transfer to any programming language.