While it may be true that ESR is not a superstar programmer in the image of a John Carmack or a Bill Gates, he has been a working C developer for over 30 years, and has contributed to numerous open-source projects, including systems projects, over that period of time. The examples he lists in the article are some pieces of software which he is currently a maintainer for.
Actually I think the fact that he is not a superstar programmer with a signature project possibly makes him a bit more qualified to comment on language trends. After all, most of the developers in the industry are by definition about average, and if average (or even somewhat above average) developers are finding their productivity much higher in Python and Go than they do in C, then they will start doing more work in those languages and less in C. In fact, that transition is exactly what ESR is describing in the article.
Certainly it seems that Go is usable for certain classes of problems that would formerly have been C's domain.
I'd by productivity you count time to solution, a lot of applications written in python do not have performance requirements, which makes the comparison very unfair.
I cannot say for Golang.
Could you elaborate? Are you talking about e.g. numpy and scipy? Python is good at calling C libraries but that doesn't make it good for writing an IP stack or a device driver or an OS. Are you arguing against the "single-user" point or the "human speed" point?
It's hard to find programming language that will cover as much low level programming needs as C. If some aspiring hacker turns 14 today and wants to get into the low level systems programming/embedded programmer career learning C well is a must. They may use some other language more, but they need to know C unless they want to limit themselves.
Some processors have stack size just 2-8 and memory available can be something like 128B - 8KB. Any replacement must have programing model that is very low level. Any replacement for C must have very low level and simple programming model.
C++ may lose some ground to Rust but it may just end up saturated like Ruby, PHP did. Ruby is basically in steady state now. NodeJS jump in on a crowded market and got no where let alone it's crazy threadless model.
C++ btw have been pumping out new versions, C++17 was just completed by GCC and Clang is almost done. C++ is really trying to modernize.
Google whole backend is most likely C++... it ain't going no where.
Rust is a beautiful language but it still have a long way to go. And also resources such as books to help people jump on board not just general books either but books in different domain (scientific computing, data structure, web dev, etc.. whatever).
I haven't used it for very low level work, more for things like command line utilities (and with Lazarus for some light GUI app work). But the EXE/binary sizes are fairly small (without any optimization or stripping or compression). Also had used Turbo Pascal heavily much earlier. And I've read that Pascal at one time was used for systems programming; Apple may have been one company that used it (much earlier), and that their OS APIs were in Pascal. Windows API's (in Win32 at least) also may have had (not sure) some support for Pascal, viz. keywords like "long far pascal" in Win32 API code.
Side note: I wonder how many people use those abbreviations like viz. these days.
And there are still some companies selling Pascal compilers for the embedded space, like this one https://www.mikroe.com/
They also sell Basic compilers.
Of course C++ can just revert to being mostly C in these cases, and C is lightyears ahead in tooling and documentation here, but as a language I think Rust has a decent shot at that space.
One of the benefits of being a truly actively developed language, as opposed to fossilized Java.
And even then none of that solves the problems I mentioned in the comment you replied to.
Raymond is not in fact in a good vantage point to judge the suitability of Go or Rust as "systems languages". His claims to authority in this post are "NTPsec" and GPSD†, but Raymond neither designed nor implemented either of those programs: NTPsec is a hostile fork of ntpd, and GPSD --- which is probably not a good example of a program that makes particularly strenuous demands on its programming language runtime --- was maintained by Russell Nelson, after being written by a different team --- before Raymond claimed it for his resume.
In this middle of this article, Raymond claims that Python is suitable largely for single-user applications operating "at human speed". This is so far outside the reality of how Python is used in industry as to call pretty much everything else Raymond writes in the article into question.
Surely, somebody else has to have written something better on the trend towards next-generation systems languages.
† These are the examples he provides, in this article, by the way.