I remember a chat I had with Jim Waldo a long, long time ago (to my best knowledge, Jim is the father of checked exceptions in Java). I’ll skip over the whole chat, but basically what it came down to was that Java was a language for, let’s call it “the unwashed masses” and that a lot of safety features were required to keep them from shooting themselves in the foot. I retorted that if that’s your staff, you’ve lost already regardless of the language ;-).
In any case, when I say “developer productivity”, I mean overall developer productivity. No matter how smart I think I am, I cannot “win” from 100 colleagues in typing faster or better code. I can help 100 colleagues by removing obstacles, help increase code readability, use libraries that comes with DSLs like Phoenix, etcetera. An extensible language provides that leverage, and I’ve seen that all the way back to when I was in my 2nd or 3rd job and we maintained a suite of ODBC drivers where all OSes supported (which were pretty much “all”) could run as client or server - the possibile leverage here was marginal but present in the C preprocessor, and a lot of the heavy lifting got done by the then smartest cookie on the block; we just used it and it made all the difference in having a single codebase compile across all Unixes, VMS, MacOS, Win32, etcetera. Not everybody needs to be able to use the bells’n’whistles, but if a couple do and can, in a smart way, that makes a huge difference. Coding is a social activity, and therefore there is potential for leverage. That’s why I want a “smart” language that helps humans instead of machines.
Google is the worst example on the planet for most of us. They share traits with maybe three or four other companies, and it seems like the usual equations around software development are reverted - they’re run-time scale is so massive that it’s worth throwing lots of bodies at problems and make sure that they cannot shoot themselves in the foot while keeping CPU usage maxed out; whether they’re productive or not is secondary and therefore, a “dumb but fast” language like Go makes sense for them. Not for my employer, past or present – we have a limited number of minds and they need to work as smartly as possible. My hunch is that it’s mostly been the Google fandom that saw such a rapid adoption - fashion over technology, as is the norm in our industry.
To me, stuff coming out of Google is only interesting anecdotically and maybe for the wow factor; it’s like me grabbing a rod to catch some brook trout in a local stream and watching “Deadliest Catch” in the evening. Both activities are called “fishing”, but whatever I pick up while watching that show on Discovery is not gonna make me better at catching trout for dinner. Same label, entirely different activities.