The elementary project prefers to use Vala for all apps. We choose this because it's a simple, fast, and beautiful language. And that just so happens to match our vision.
It's also great that Vala is really easy to learn! You can learn more about Vala at the official Vala website.
While we prefer to use Vala, apps (and especially backends) written in other languages are also acceptable. It really depends on the use case. If it's a new app and you're in doubt, it's best to stick with Vala.