Reflections on the Cognitive Revolution

Cognitive Revolution

Overview

I spent half a day quickly working through the Cognitive Revolution course. I can’t guarantee I understood every point Li Shanyou was making; I can only say that, within my existing knowledge framework, I digested and absorbed his theory.

He has several core points:

  1. First principles
  2. Ways of perceiving the world
  3. Scientific revolution
  4. Discontinuity

First Principles

First principles — I personally strongly agree with this idea. It is really just the philosophical notion of phenomenon versus essence, only presented from a different angle. Also, in Li Shanyou’s view, first principles must be built on the foundation of the deductive-inductive method within the ways of perceiving the world. The deductive method among those ways requires a hypothetical premise, and that premise is a self-evident consensus — and that consensus is the first principle. In my personal view, this is simply another way of stating the philosophical theory of phenomenon and essence.

In the history of human development to this day, all scientific progress has served one goal: how to make humans lazier and more comfortable. PayPal founder Peter Thiel once said something about innovation (I’ve forgotten his exact words, but the gist should be close): the first principle of any startup is to let people complete certain tasks more lazily. Likewise, Steve Jobs believed in the product philosophy of “less is more” (simplicity is beauty) — which is essentially about not making users spend time thinking about what is good. Today, why do we programmers modularize and layer our work? It’s to solidify each accomplishment so others can use it quickly. When we open-source a technology, it’s to spare others from having to reinvent the wheel, letting them work directly on the shoulders of others. Take the browser wars, for instance: today Google Chrome holds the top spot among browsers because it is the fastest browser (or at least claims to be). Among the many demands placed on a browser, none can compare with performance — people always pursue higher, faster, farther.

Compare this with today’s product design. If we are facing users, then in considering their needs we must ask which are the most core needs, which are secondary, and which are second-class citizens. Likewise, if our middleware launches products aimed at programmers to help them develop programs, then what is our first need? The first need is how to help programmers develop programs faster, helping them accomplish business goals at a lower cost. Looking at the evolution of programming languages — from early C to C++, then Java, then Python, Scala, Go — languages have grown ever higher-level, and the amount of code needed for a given requirement has grown ever smaller.

Ways of Perceiving the World

In Li Shanyou’s view, there are three ways of perceiving the world: (1) induction, (2) deduction, (3) induction with hypotheses. Induction abstracts the inner connections of a thing from a large number of results — it is a logic where proof comes first and hypothesis comes after, reasoning from effect to cause. This kind of thinking runs into a pitfall: theories derived by induction can only be falsified, not verified as true; they can only validate certain things and are not suitable as universal truths. Deduction, by contrast, starts from some hypotheses plus some known laws, deriving results step by step from the hypotheses — it is a view where hypothesis comes first and proof comes after, reasoning from cause to effect. This kind of thinking is actually more in line with logical thinking, matching the process by which the world derives causes from essence. However, this thinking runs into a paradox: deduction needs a starting point of proof, namely a self-evident principle — the first principle. When the first principle does not exist or cannot prove itself, the whole deduction cannot be completed. Because both theories have flaws, Li Shanyou proposed a supplement: induction with hypotheses.

In terms of perceiving the world, from a logical-thinking standpoint, deduction is more comprehensive and rigorous, while induction is more direct and faster. For us IT engineers, combining first principles and the principle of scientific revolution to think things through, many things require grasping the essence of a thing and being less swayed by distractions. When the current approach is to abstract a set of rules from a large number of results, we need to consider whether we should instead think from the customer’s most essential needs — how to address the customer’s biggest pain point step by step.

Scientific Revolution

Scientific revolution, in Li Shanyou’s terminology, involves something called a paradigm shift. It means a change of track: innovation is the emergence of a new paradigm, a disruptive rethinking of much of what came before, or considering things from a completely new track. It’s like Intel shifting from memory chips to the CPU field, or Apple launching the iPhone and “redefining the phone” — a completely fresh revolution against the feature phones of the past.

My view on this is that scientific revolution is a kind of disruptive innovation. Such innovation is actually very difficult, and very rare. But there are a few points worth noting:

  1. The courage for self-revolution. When you realize a new innovation is emerging, you must have the courage to revolutionize yourself. Tencent once said WeChat had to disrupt QQ. If you fear revolution, then when others complete their own transformation, you become the fish on the chopping block. Take Kodak: when digital arrived, it failed to abandon traditional film in time and was ultimately abandoned by the market.
  2. Major innovations are extremely difficult. You can only try to innovate from a few angles: from the way you perceive the world, from the user’s most essential needs, from interpreting a thing afresh on a different track — these will yield more ideas. Another personal view is to draw on the strengths of many fields, transplanting the successful experience of one field into another to bring entirely new change to it. It’s like the dimensional-reduction strike described in “The Three-Body Problem.”

Discontinuity

Li Shanyou’s view is that “the world is composed of discontinuous nodes, while human cognition runs through it via continuous nodes, threading continuous bridges between some of the discontinuous nodes — and these bridges are the various means by which humans solve problems.” I think this view may be correct, but it has no great value. For a programmer, regardless of whether the world is continuous or discontinuous, in the world of computers everything is discontinuous, and you need certain means to connect things together. Any curve is threaded together from a string of nodes.