Generating HTML on the server is more or less outdated.
So a "web language" on the server doesn't make sense, the way it used to do (like perl cgi, ASP, JSP, PHP and decendents)
What you do now is write the frontend in one of the new JS/HTML frameworks that run exclusivly on the client.
AngularJS is popular and will likely stick around in one form or another. But pick any you like.
For the backend you want to expose REST services, that serves the content in a way that is easy to digest for the frontend (so you don't end up with too much logic out there).
For that I'd recommend taking a look at Scala (10 years old, and not going away) and the Play Framework (http://www.playframework.com/)
What is nice about the Play framework is that it not only makes it easy to expose REST services. It also makes it easier to deploy the client side framework.
Also take a look at using microservices. Using that architecture enables you to write the REST services in smaller components, rather than one big server. That way you can more easily replace each service, when you want to migrate to the next backend technology.