>> And natural languages are not similar. Knowing languages in which more books and articles are published is going to be more valuable than ones in which there aren't that many.

I'm not really sure this is true (barring edge cases like Esperanto: it's basically useless to know beyond intellectual exercise). For any language with a full country and culture (or many) attached to it there will be more books than you could ever read or translate on your own.[0]

It's similar to saying that if you want employment learn Java because there are so many Java jobs. You can only take one so what do you really care that there are 10 million others? Also you don't need to know a specific language to get hired to write it.

>> But in the not-so-distant future, perhaps effectively communicating with devices might turn out to be a far more valuable skill to have than doing so with humans.

I think today it already is depending on how you make your comparisons.

Arguably Stephen King or Beyoncé's job is "communicating with humans". There are also some app store lottery winners and algo traders taking home insane money and they're arguably paid to "communicate with devices". I just wanted to bring in these examples to preemptively call out outliers and generous definitions.

As a maybe useful comparison Google puts Translator as 45KUSD/yr and Programmer at 74KUSD/yr.

I think however, once you start examining the middle grounds it gets interesting. Lawyers, real estate agents, doctors and I'm sure many more professions are going to be increasingly more client facing than they've traditionally been as some mechanical burdens get absorbed by code. It wouldn't be the worst guess in the world to expect that communication skills will become increasingly valued as it becomes more relied upon.

I think the big distinction for employment is that almost no employer will hire you on the understanding that you'll pick up a human language if knowing it was core to your performance (barring some extreme cases like military/state dept), while most good programming shops wouldn't automatically reject a candidate who had no experience in their particular language. This is pretty rational.

If you already know how to program then you can learn new languages in general much faster than learning new human languages.

You can also be useful (or dangerous) much earlier in the competency curve in code than human language if you already know how to program. No one will ever feel satisfied having paid you to introduce yourself and explain where you studied Spanish. They could be happy having paid you to cargo-cult your way through updating some API endpoints while you're figuring out the new language's nuances.

There are also happily moments where knowing other human languages helps with code. I once found the answer to a DenverCoder9 [1] type problem because I speak Russian and the only link that google returned for the error was some Russian dude's blog where he had the answer.

Sorry for rambling. I vote for more of both!

[0] I'm ignoring dead and dying languages, non-naturally evolving languages, and occupational pidgins like Runglish on the ISS because the people who learn those are inherently special cases or not relevant for the discussion.

[1] https://xkcd.com/979/

Edit because I can never remember the formatting.