Edwin has brought us a one-hour-long talk by Jonathan Blow, a world's top coder (currently working on a new programming language), given in Russia in May 2019:



the programming is moving to too abstract, higher levels, which increase the complexity and "ways how things make break down" due to all these levels, and that is also getting harder to fully master by the coders

the coders are actually encouraged to be superficial and ignorant about how the things work inside – but this knowledge is important, especially when things start to break down

people are fooled by the apparently improving software but most of the improvements are actually due to the amazing hardware improvements in recent decades – decades ago, software makers could have probably made similar things as today very quickly if they got the fast microprocessors and big RAMs to work with!

I've watched it and it's amazing. Also, I agreed with every sentence he presented – including quoted sentences from the CEO of SpaceX whom I otherwise dislike. Blow has talked about the decline of the civilizations – such as the Roman civilization and, maybe, the current one. Our civilization may be in the process of the decline also because the technology will be increasingly breaking as software is increasingly complex and unfixable by increasingly incompetent people. In the Roman civilization, they could do quite some things. A Roman glass cage cup from the 4th century is capable of changing colors – different colors from different directions – thanks to some nanoparticles in the glass that can only be seen in the electron microscope. You won't create such things by chance, Blow argues, and I agree: there had to be a whole "discipline of science", a whole culture where these things were gradually developed. And they were largely forgotten. The know-how was stored in the heads of the people and in the cups – and there wasn't enough space for the cups at some moments.To sustain such a craft, they just needed manuscripts describing the know-how as well as societal mechanisms that lead some people in the new generations to learn the content of these manuscripts. At some moment, that disappeared – and so did the civilization. It was replaced by a disorganized bunch of savages (a savage is defined as a member of homo sapiens who can't apply principles of nanotechnology to the production of interesting variations of glass) – despite the fact that many of them were descendants of the gloriously sophisticated ancient Roman nanotechnology atomic and molecular quantum physicists. ;-) The Antikythera mechanism was a Greek analog computer (with lots and lots of gears and wheels) predicting the positions of planets, among many other things, and created a century or so before Christ. It's just amazing what the Greeks could do 2100 years ago. Even when people look at the Prague astronomical clock (Orloj), they are often amazed what the Bohemian engineers could construct over 600 years ago. But the Greek analog computer was additional 1500 years older!People stopped playing with it and they just collectively lost the technological expertise. Something similar has unquestionably happened recently to the spaceflight know-how, Blow says. Fifty years ago, America could land on the Moon – twelve years after it knew almost nothing about the space research. We're not certain whether we could replicate the success in a few years even if we wanted and spent all of our money.Blow is a programmer so his main interest is the apparent decline of the software industry. The problems are thatThe transition to higher-level languages is connected with the transfer of the people from hardware; to the machine code; the assembler; low-level languages like BASIC; C and C++; C#; JavaScript; doing games on Unity etc. I would say that the character of the programmers' work is increasingly humanities-like or bureaucracy-like. Blow said that they increasingly know "trivia" that are increasingly disconnected from some solid foundations – and that get obsolete increasingly quickly.We might say that these days, coders are encouraged to use the highest-level programming language – namely English in Facebook chat. In that programming language, they just tell someone else to create a piece of a game. That may represent most of the coders' working hours today! ;-)People make a living for knowing that "if some NPC breaks down in some way, you add something into a code" etc. There is clearly nothing "fundamental" in that kind of knowledge and once the industry switches to somewhat different methods of doing things, this knowledge becomes utterly useless. "Very practical and commercial things" may also be the extremely short-lived ones whose value evaporates soon. And this is how the people became incapable of replicate the Greek analog computers or the Roman cage cups with nanoparticles. The path from the foundations to the capability of making things was lost – because there were no people who knew "everything that was needed" anymore and, to make things work, there was even no continuous "environment of the people" who could collectively cover this whole interval of know-how.This negative progress has occurred in many other situations. He mentioned the lunar missions as well as some new regressions of the computer chips (caused by the magnetic field, unknown to the newer generation of chip designers). But we could add many more. Some Czech bridges built during Austria-Hungary were serving flawlessly for more than a century. Recently, they were "upgraded" to the newest technology and "reconstructed". The Woodrow Wilson Bridge in Pilsen only survived for a year after that. It needed another fix. And it broke again: another fix had to arrive five years after the previous one. Are we really better at building bridges than the engineers in Austria-Hungary? It surely doesn't look so! ;-) The Franz Joseph I Bridge in Pilsen was built in 1912-1913, after preparations since 1894. To remind us of the diverse and multicultural ;-) celebrated politicians of various times, let me tell you that it was renamed to the Wilson Bridge in 1918 and in 1989 and to the Stalin Bridge in 1948. ;-) If you're unimpressed by the number of names, I must tell you that it sits on the American Avenue which has been called The Barn Avenue, Jungmann Avenue, The Emperor Franz Joseph I Avenue, Wilson Avenue, Charles IV Avenue, Stalin Avenue, Moscow Avenue, Ludvík Svoboda (general, president) Avenue, Moscow Avenue again [my childhood], and American Avenue – meanwhile, the Parisian counterpart was called the Avenue des Champs-Élysées at all times (since 1709). This diversity should help you to understand why Czechs shouldn't be expected to be impressed with some "really new idea" in politics, like multiculturalism the fight against climate change – we have seen many regimes and their flavors, indeed! ;-)When the Wilson Bridge breaks, we may find another route. But something more essential may break down, too. Maybe when China bans the export of chips, the West will be screwed because we're just incapable of producing some important ones. And so on.Blow has shown the negative side of the trends that are considered "progress", especially the transition towards the higher-level, humanities-like or bureaucracy-like programming languages. You know, most machines use the same microprocessor but the systems are incompatible. You can't just transfer a program (a sequence of microprocessor instructions) from a PC to a Mac even if both use the same Intel microprocessors. Why not? Well, there's the whole infrastructure of the OS and similar things around it. So programs have to be made compatible – and it actually makes things (compatibility etc.) worse and harder although this infrastructure was (also) designed with a simpler life in mind.It's not just different OS's. Even on two Windows machines, it's usually impossible to simply copy the folder with the software from one PC to another. You need to install the program with installers. I actually hate them maximally and I always did. On my PCs and laptops, I have always had a folder with "decent software" that didn't need installers and that managed to work when I copied them to a new Windows computer. But most of the software isn't like that. This is clearly a bug. If a program needs some extra things outside the folder, it should take care of it once you start it. These potential problems shouldn't be fixed too preemptively – by the installation process. So the extra hassle may be blamed on "precaution", like many evil things in the world.No programmers of games are writing commands to change the colors of pixels anymore – it's just too low-level an approach today and no usable systems to do software in this way exist. Again, we see a shift towards some bureaucratization of the programming. You are no longer supposed to do things. You are mainly supposed to fill bureaucratic documents that order someone or some services to do things for you and you must primarily learn how to communicate with these services and other people. You increasingly lose the control over these services – as well as understanding how they work and what happens when they break.Sometimes this shift really saves work and reduces the required expertise of those who use it. It's basically a good thing – probably in most cases, it is. But it's also a bad thing because it effectively encourages people to be lazy, ignorant about the foundations – not only about the hardware and the machine code but even about many other layers that used to be considered higher-level in the past but they already became too low-level for too many contemporary coders.And if the trends towards comfort really encourage people to be increasingly stupid and increasingly lazy, are they really good things? While in the short run, there are gains from such solutions, they contribute to the long-term risks that the system will break down and there will be no one who knows how to fix it. Like in the Idiocracy movie where mankind became incapable of dealing with trash, with plants that apparently didn't have enough water but no one could really figure that out, and many other things. Maybe it's a good thing when some important activities require some work by the workers and require the operator to be somewhat knowledgeable, smart, and hard-working!The transition to the higher-level languages is analogous to the increasing role of bureaucracy and increasingly complex systems of laws, tax code, and many similar things. Even those things are marketed as progress by those who introduce them but the progress really is negative in most cases, when all the costs and hidden costs are properly taken into account. Almost no one understands the full tax code of his country, let alone all the other laws. Is that a good thing? I don't think so. Could a better life exist in a system where over 90% of the regulations and exceptions are non-existent? I surely do think so.I can't resist to mention some comments about Feynman and these problems. In Is Electricity Fire? , a section of his funny bestselling book, he talked about an interdisciplinary conference. It was a Jesuit priest who blamed all evils with the society on the "fragmentation of knowledge". Feynman was really upset about that priest (partially because the priest was a far left aßhole who wanted to solve all problems by the redistribution and assumed that the economy was a zero-sum game in which the rich ones have robbed the poor ones, like leftists often do assume) but the problem of "fragmentation of knowledge" looks like a core problem that Blow has pointed out – and Edwin and I agree with that. People are moving too far from the ideal of a "renaissance man", their expertise is extremely localized if any.Feynman said that it was natural because the overall amount of knowledge keeps on increasing and it just doesn't allow any real "renaissance men and polymaths" today. Indeed, the process is unavoidable to some extent and it's a symptom of some changes that we consider positive. But sometimes we shouldn't consider them positive because they are really the causes of some negative things we see around – and reasons for some risks that may turn into a societal collapse in the future.Note that the priest has combined the fragmentation of knowledge with the "ethics of equality" which has nothing to do with it, as Feynman correctly pointed out, so I am in no way saying that the priest was a reasonable man which he almost certainly wasn't.In the Caltech commencement speech, Cargo Cult Science , another section of that book, Feynman also described the experimenter Mr Young who figured out the conditions that were actually important for experiments with rats in mazes to be scientific and controllable. Mr Young was a stellar scientist but the lousy field of "rats in mazes" experimenters has never appreciated Mr Young's findings. They just continued to run rats – and then people – sloppily through the mazes. They just wanted practical results as soon as possible – so they shouldn't waste their time with some theoretical findings and quality control according to a Mr Young.But Mr Young was really the top person of that field who discovered what the rats actually use to get their information. Basically all of his colleagues were just crackpots. But they had completely overwhelmed the field which became a field of crackpots.Needless to say, Mr Young was analogous to the designers of chips who still know that the currents induce magnetic fields which may be bad for the chips (another collapse of an industry that Blow has mentioned); or the coders who know some machine code, PEEKs, and POKEs. He was ignored by most of the field because most of the field was similar to the programmers who just know how to send a command "make a soldier appear on the screen" to some Unity gaming software platform. It's extremely risky for the industries or whole societies to lose a sufficient number of the people who really know how the things work. It's extremely counterproductive when companies or whole societies discourage the people from knowing the theoretical foundations and to focus everybody on the "speedy practical results".I couldn't avoid thinking about these matters when Bob wrote that he was unimpressed about the "twisted graphene" breakthrough . It still required very low temperatures for superconductivity so it wasn't interesting enough for him. But this thinking of Bob's is totally wrong and pathological. Science – even science that is underlying some very applied, practical activities – depends on having the quality control and on learning things for their own sake. If and when you suppress such things, you send the industries or whole societies towards the collapse. In effect, what Bob wrote reminded me of the scientifically illiterate demagogues who suggest that mankind shouldn't build colliders and maybe not even pay hundreds of people on Earth for doing the string theory research. Sorry, this is not how advanced civilization may survive for a long time.As I wrote in April, excessively immediate-results-oriented scientific activity is just a resuscitation of alchemy . If you required all or almost all superconductivity researchers to think about ways to produce a room temperature superconductor during 99% of their working days, you would create a similarly useless and unscientific field as the field of alchemy that was looking for ways to create gold (or the elixir of youth). They just combined and recombined things all the time, pretty much randomly, but they weren't getting anywhere because they didn't build any theoretical foundation that was actually getting clearer. So their new attempts had no reasons to be considered "better" than the attempts that took place 50 years earlier. That's exactly why it wasn't a fully scientific activity and why it didn't work (and why the contemporary critics of colliders and other standards experiments have nothing to do with the scientific research, either). Alchemy was a predecessor of chemistry when it came to its interests but it wasn't quite chemistry because it didn't really respect some basic principles – and incentives (curiosity) – of the scientific method.Needless to say, the haters of particle physics and theoretical physics want to abolish the whole field – or at least reshape it into another copy of alchemy where people do random stupid things (that are marketed as "hopes for some practical breakthrough") with no reasons to expect genuine progress. That's completely wrong, that's how communities never get anywhere, at least not systematically. Even the Greek and Roman folks who built their analog computers and cage cups had some "theoretical know-how" that had to be mastered by the professionals and that was gradually expanding. They had to do, study, and learn lots of things that weren't immediately useful for practical applications of the kinds that the low-level watchers or "final consumers" such as Bob are capable of understanding. In any working scientific discipline, and even in an applied research that is sufficiently fundamental or game-changing, the directly practical things unavoidably represent just a tiny percentage of the researchers' work.It's terrible when an increasing number of people is becoming ignorant about these fundamental values and prerequisites for a working civilization. And it's horrifying when these people who actually don't understand and don't respect – and sometimes even explicitly and loudly attack – the important values and prerequisites are gaining an increasing power over the society. If this trend continues, the collapse of our civilization is a matter of "when", not "if".So please, people must understand that pure science – learning for the sake of learning, to satisfy people's curiosity – is essential for healthy science but even for technology. Some expertise is needed for real experts and it's just dangerous to lower the standards and requirements indefinitely. Higher-level programming, extra encapsulation, conditions, restrictions – just like the new pages of the tax code and other laws – are always marketed as progress by their proponents (who want to be paid for them) but in reality, the net contribution of many (and probably almost all) of these things is negative and many people responsible for the growing tax code and similar pathologies should be executed instead of paid.The increasing complexity and the number of layers is "generally" connected with the progress but it's still true that most of these complexity increases could be and should be avoided!People must generally be led to understand that some if not most of bureaucratic complications – in the world of legislation and regulations but also in the Academia, software, and elsewhere – are actually hurtful. Their proponents always sell them as salvation – they have egotist reasons for this interpretation – but most people should be capable of critical thinking and they just shouldn't buy these self-described saviors.Civilizations don't collapse because of climate change or similar nonsense that some extreme leftists talk about. Civilizations collapse because they get overwhelmed by the people who are no longer good enough to maintain the complex mechanism that has been created. Sometimes people get bad because too many savages arrive from abroad, sometimes people get bad because the the new generations of the domestic population are served too softening knowledge, and sometimes – e.g. now – both harmful processes are taking place simultaneously. The number of people who are qualified enough to sustain some important "engines" underlying the civilization – and who respect the values of those "engines" – sometimes drops beneath the critical mass and fatal consequences follow. If some people tell you that to save the world, you should skip the classes, they are people doing their best to liquidate the civilization and they must also be treated as the sickly pests that they are, otherwise mankind will be in real trouble in a foreseeable future.And that's the memo.