The OP was asking about which programming language is best to learn for a career, I was just sharing the programming languages I've found that made me write better programs and made me a better programmer.
If you follow this line of thinking through then all good programmers should be writing in machine code or C.
In software more money is spent on programmers than the machines that run their programs. As computing power doubles every year it doesn't make sense to optimize for the thing that's improving year on year, programmers brains will remain the same mush as they are now. In fact, most time and money is spent reading programs, making it all the more valuable to have the most legible programs as possible.
I do agree that within a program you should make it as efficient as possible but there's not orders of magnitude between the different programming languages these days - as you can say they can all be used to achieve the same task. I value much more highly the quality of the program than the speed of execution.
If there's a specific task the Java would achieve 1000 x faster sure I'd use it, but for the reality of web development the other options are better for me.
Maybe? I haven't used shared hosting for 5 years or so now, it's getting easier all the time to setup a server which can run multiple small sites more efficiently than shared hosting.
Absolutely, a lot of small sites don't require a backend - maybe a static site generator like jekyll or middleman will do the task.
If it does need to be dynamic there's simple packages like sinatra which will do the job.