There are many good languages out there, "when used as directed". Alas, out here in the flyover country of Sacramento, there is really only demand for 3 kinds of jobs: Java, C#.NET (falling off), and some Javascript, ignoring the long tail of one-of-a-kind shops. Given those choices, I'll take the Javascript. Java 8 lambdas are clumsy to use to assemble much in the way of higher order functions.
I mean, cuz, who doesn't want to put this as a parameter into a function/method header:
(..., BiFunction<Map<String,Object>,Map<String,Object>,Map<String,Object>>, ...)
E.g. - for the sake of argument, say I needed a callback to merge two associative arrays. Oh, you needed a third input argument? Write your own interface type, so you can use it to declare the callback parameter.
No, I'll take the JS, thank you very much.
(as we discussed a month or two ago, Java is a [somewhat] new Business Oriented Language, and it's pretty Common)