为什么中国没有互联网企业

Two styles of swords

Posted by Zeusro on December 30, 2025
👈🏻 Select language

在垃圾回收站学计算机是一件非常蛋疼的事情,基本上我只学习了HTML和数据库这门课,而其他人学的是HTML那门课——我还记得有一天,我在图书馆里面找书,然后从夹缝里面冒出来一张便利店的纸条,上面写满了爱~

在国内从事计算机其实非常累,网络问题不说,教材又厚又脱离实际。而等到从业,又是漫长的工作/学习曲线,等到刚入门(10年经验),又会被经济周期,家庭琐事,年龄歧视等困扰。这导致大部分人在30岁左右,都以转行告终。

在我个人看来,过于急功近利,是国内没有两家互联网企业的根本原因。

业务开发&框架设计

在我看来,国内所谓的“互联网企业”,只是把业务的场景从线下搬到线上。以银行来说,早期的国内银行是以人工记账为主,银行可以说是最早吃到计算机红利的企业,但它的业务模式本身并没有太多变化,除了招商银行做得比较好之外,其余银行的移动端APP做得非常臃肿,响应缓慢,这二十年的变化无非是去IOE(IBM、Oracle(甲骨文)、EMC)比较成功而已。

但熟悉计算机架构的我知道,假设真让我去接手这些历史遗留项目,我也是不敢去IOE的,因为天知道里面有什么硬件限定坑(比如用特定的选择编译/编程技巧绕过特定硬件架构缺陷,但当你移植程序到Linux时,发现反而成为了bug)。

image

就业务开发而言,我们的互联网改造无疑是非常成功的。早上可以直接扫码支付买个早餐,出门直接滴滴打车,上班用AI辅助编造废话,中午点个外卖,下午可以刷脸支付要点零食,晚上直接到预约的娱乐场所接着happy。

只要有钱,一部手机可以通行全国。但编程用的框架基本跟我们没啥关系。虽然现在很多顶级的项目开始由中国人牵头,但编程框架本身就是一个不挣钱的买卖。 很多人从事这个行业纯粹为了脱贫,更何况大部分人(包括我在内)对知识产权缺乏敬畏,毫无付费习惯。 大家只是一味地享受别人的免费劳动,不把别人的时间当一回事儿。

开源开发&语言设计

技术框架,本质是一种提供便利的工具集。因为编程语言本身只做基本的标准实现,所以需要开源的技术框架去构建语言本身的生态。

编程语言就像是一支“毛笔”,而开源的技术框架,则是这支毛笔画出来的“书法作品”。两者是一种相辅相成的关系。 以Python这种低性能的弱类型语言来说,语言设计本身其实没有太多让我喜欢的地方,但架不住人工学习框架TensorFlow,PyTorch都是Python写的。

而Python的性能优化方向,竟然是绕过GIL限制和使用C语言。这让我觉得有点顾此失彼的感觉。

image

就好像我拿着一张美女宣传单去按摩,结果迎接我的是一个七尺壮汉,他告诉我美女休息了,他更有力量,更适合按摩这种工作。对此,我的身心都是拒绝的。因为这跟我的初衷完全相反。

AI得道,Python升天。

语言设计&操作系统开发

编程语言是一种很深的学问。那些控制流和机器码的翻译,抽象语法树,GC,线程,编译原理啥的,关是算1+1我都整不出来。

image

计算机又是一种很让人挫败的行业。天赋型选手在四五年级就会HTML,开始机器人编程造火箭了;而四五年级的我,当时还只会在亲戚的电脑上注册个QQ,然后被同学们虐爆泡泡堂。

更别提国内这B环境,大学叫兽们努力上岸了,只记得拿着十年前的教程在课堂上吹水,然后告诉你,“其实学C#2005就够了,即便现在有.net core了,都一个样~”

我真是服了,一个是平台限定语言,一个是跨平台甚至跨语言编译的次时代语言,这能一样吗?学习编程,最重要的第一步是参与开源项目设计。理解工业设计的流程,而不是待在泰坦尼克号上求援。

编程语言依托于操作系统,操作系统相当于编程语言的载体。操作系统,是连接硬件和软件的纽带。也是软件开发最高的山。

软件开发&集成电路

其实业务开发,开源框架设计,编程语言设计,操作系统开发,这些都能归集为“软件开发”。如果从这个角度上看,实际上我们的互联网行业还有很大的一部分空白。

把人当成耗材,就要接受工作交接期间网站的流量波动与不稳定。更别提平台用户是可以发起“重定向攻击”的——抛弃那些苛刻对待员工的“互联网平台企业”。

image

国内所谓的敏捷开发不过是人力推车(而且还是让3个人推一辆四轮新能源车)。在《人月神话》中提到这种“孕妇生孩子”把戏——1个孕妇怀胎生娃要40周,但不可能安排10个孕妇在4周内完成生产。我见过那些所谓通宵赶工的项目,后面无一不是烂尾,要么就是重做。

急功近利浪费的时间精力跟“节约的时间”完全不值一提,如果造成技术漏洞,反而更得不偿失。

软件开发的上游是集成电路。其实我们有一个很好的基金在支持这些高新技术的集成电路产业。只不过资源一再错配,钱没有流入真正为国为民的企业和人手中。

软件开发和集成电路,本该是厚积薄发,重积累和理论联系实际的行业。结果大学科研几乎以骗经费为荣(比如把导师称为老板); 而私营企业以年轻化为由,各种割中年人韭菜,让工程经验丰富的高级开发工程师失业,还美其名曰“为社会输送人才”。

剑气之争

这就好像是华山派的剑宗与气宗之争。剑宗(年轻一派)掌权之后把学气宗的人(资深开发人员)踢出公司。因为学剑宗见效快,都是确定能盈利的项目,而且人力便宜。

剑宗重剑的招式,而气宗(开源项目,语言设计,操作系统)注重内功修炼。 两者本无对错,在年幼时,假借剑谱(go,C#,Java语言)练剑没有任何问题,但大部分人不过是一种语言用上4/5年,就以资深开发自居,其实不过是50行代码复制了4/5年而已。

要么就是Java boy 那种,为了下一份工作方便,在不需要微服务的前提下强行微服务。

这不过是东施效颦,真正的内功(互联协议,编程规范,抽象建模能力)没有及时沉淀。最终当“剑”生锈(比如PHP不再流行,项目被竞争对手打压),就只能被迫转行,武学净废。

气宗的“气”并不是傲气,而是一种生存的底气。这种底气是一种十年如一日,久久为功,持之以恒的坚持。是这个世界上所有人都不看好你,你即便手中无剑,依旧偏向虎山行的勇气。

我们需要理想,因为在漫长的黑夜中,唯有希望能带我们远航。

Studying computer science at a garbage dump is a truly painful experience. I basically only learned the HTML and database courses, while others were learning just the HTML course—I still remember one day in the library when I found a convenience store receipt stuck in the cracks, filled with love~

Working in computer science in China is really exhausting. Aside from network issues, the textbooks are thick and detached from reality. When you finally enter the industry, there’s a long curve of work and learning. By the time you’re just getting started (with 10 years of experience), you’re already troubled by economic cycles, family issues, and age discrimination. This causes most people to switch careers around the age of 30.

In my personal view, the fundamental reason why China doesn’t have two internet giants is due to the excessive impatience for quick success.

Business Development & Framework Design

In my opinion, so-called “internet companies” in China merely move offline business scenarios online. Take banks, for example: early domestic banks primarily used manual accounting. Banks were among the first to benefit from computing, but their business models themselves didn’t change much. Except for China Merchants Bank doing relatively well, other banks’ mobile apps are bloated and slow to respond. The change over the past twenty years mostly boils down to successfully ditching IOE (IBM, Oracle, EMC).

But as someone familiar with computer architecture, I know that if I were to take over these legacy projects, I wouldn’t dare to ditch IOE either, because who knows what hardware-specific traps lie inside? (For example, using certain compilation or programming tricks to circumvent hardware architecture flaws, but when porting the program to Linux, these become bugs.)

image

From the standpoint of business development, our internet transformation has undoubtedly been very successful. In the morning, you can scan a QR code to buy breakfast; step outside and hail a Didi ride; at work, use AI to help fabricate nonsense; order takeout at noon; pay for snacks with face recognition in the afternoon; and in the evening, head straight to a booked entertainment venue to keep the party going.

As long as you have money, one smartphone lets you travel nationwide. But the programming frameworks used have basically nothing to do with us. Although many top projects are now led by Chinese people, programming frameworks themselves are a money-losing business.
Many people work in this field purely to escape poverty, and most people (myself included) have no respect for intellectual property and no habit of paying for it.
Everyone just enjoys others’ free labor without valuing their time.

Open Source Development & Language Design

Technical frameworks are essentially convenience toolkits. Because programming languages only implement basic standards, open source technical frameworks are needed to build the language’s ecosystem.

A programming language is like a “brush,” and open source technical frameworks are the “calligraphy works” painted by this brush. They complement each other.
Take Python, a low-performance, dynamically typed language. I don’t particularly like its language design, but I can’t deny that frameworks like TensorFlow and PyTorch are written in Python.

Python’s performance optimization direction surprisingly involves bypassing the GIL and using C. This feels somewhat like a case of missing the forest for the trees.

image

It’s like I brought a flyer advertising a beautiful masseuse, but was greeted by a burly man who told me the beauty was resting and that he was stronger and better suited for massage work. My mind and body rejected this because it completely contradicted my original intention.

AI has found its way, Python ascends.

Language Design & Operating System Development

Programming languages are a deep field of study. Control flow, machine code translation, abstract syntax trees, GC, threads, compiler theory—all these are so complex that I can barely solve 1+1.

image

Computing is also a frustrating industry. Gifted kids learn HTML in fourth or fifth grade and start programming robots and building rockets; meanwhile, I was just registering a QQ account on a relative’s computer and getting crushed in Bubble Trouble by classmates.

Not to mention the terrible environment in domestic universities: professors try hard to get tenure, only to be found teaching with decade-old tutorials and saying, “Actually, learning C# 2005 is enough. Even with .NET Core now, it’s basically the same~”

I’m truly amazed. One is a platform-specific language; the other is a next-generation language supporting cross-platform and even cross-language compilation. How can these be the same? The most important first step in learning programming is participating in open source project design. Understanding industrial design processes, rather than waiting for rescue on the Titanic.

Programming languages rely on operating systems, which serve as their carriers. Operating systems are the bridge between hardware and software. They are the highest mountain in software development.

Software Development & Integrated Circuits

In fact, business development, open source framework design, programming language design, and operating system development can all be categorized as “software development.” From this perspective, our internet industry still has a large blank space.

Treating people as consumables means accepting traffic fluctuations and instability during work handovers. Not to mention platform users can launch “redirect attacks”—abandoning those harsh “internet platform companies” that mistreat employees.

image

So-called agile development in China is just manpower pushing carts (and three people pushing a four-wheeled new energy vehicle at that). The Mythical Man-Month describes this “pregnant woman giving birth” trick—one woman takes 40 weeks to give birth, but you can’t schedule 10 women to deliver in 4 weeks. I have seen so many “all-nighter” projects, all ending in abandonment or rework.

The time and energy wasted chasing quick wins are negligible compared to the “time saved,” and if technical vulnerabilities result, the losses are even greater.

The upstream of software development is integrated circuits. We do have a good fund supporting high-tech integrated circuit industries. But resources are repeatedly misallocated, and money doesn’t flow to truly national and people-serving enterprises and individuals.

Software development and integrated circuits should be industries of steady accumulation and theory-practice integration. Instead, university research almost prides itself on scamming funds (e.g., calling advisors “bosses”);
private enterprises, under the guise of youthfulness, harvest middle-aged workers like crops, causing experienced senior developers to lose jobs, all while praising this as “delivering talent to society.”

The Sword and Qi Dispute

This is like the dispute between the Sword Sect and Qi Sect of Mount Hua. After the Sword Sect (the younger faction) took power, they kicked out Qi Sect practitioners (senior developers). Because Sword Sect practices yield fast results, are sure to profit, and have cheap labor.

The Sword Sect focuses on heavy sword techniques, while the Qi Sect (open source projects, language design, operating systems) emphasizes internal cultivation.
Neither is right or wrong. In youth, practicing sword techniques with borrowed manuals (Go, C#, Java) is fine. But most people just use one language for 4-5 years and then call themselves senior developers, which is basically copying 50 lines of code for 4-5 years.

Or they become Java boys who forcibly implement microservices without need, just to ease the next job hunt.

This is just a poor imitation. True internal skill (internet protocols, coding standards, abstract modeling ability) has not been properly accumulated. When the “sword” rusts (e.g., PHP falls out of favor, projects get crushed by competitors), they’re forced to switch careers, wasting their martial arts.

The “Qi” in Qi Sect is not arrogance but a kind of survival confidence. This confidence is a ten-year daily effort, persistent, and enduring. It is the courage to move toward the tiger’s den even when the whole world doubts you and you have no sword in hand.

We need ideals because, in the long dark night, only hope can carry us far.

Учиться компьютерным наукам на свалке — это очень неприятное занятие, по сути я изучал только HTML и базу данных, в то время как другие учились только HTML — я до сих пор помню, как однажды в библиотеке, когда я искал книгу, из щели выскользнула записка из магазина с надписью, полной любви~

Работать в сфере IT в Китае на самом деле очень тяжело: проблемы с сетью — это не говоря уже о толстых и оторванных от реальности учебниках. А когда начинаешь работать, тебя ждет долгий путь обучения и работы, и когда ты только входишь в профессию (после 10 лет опыта), тебя начинают беспокоить экономические циклы, семейные проблемы, возрастная дискриминация. В итоге большинство людей к 30 годам заканчивают сменой профессии.

На мой взгляд, чрезмерная погоня за быстрыми результатами — это основная причина отсутствия в Китае хотя бы двух крупных интернет-компаний.

Бизнес-разработка & проектирование фреймворков

С моей точки зрения, так называемые «интернет-компании» в Китае просто перенесли бизнес-сценарии из оффлайна в онлайн. Возьмем, например, банки: в ранние годы в Китае банки вели учет вручную, они были одними из первых, кто получил выгоду от компьютеров, но их бизнес-модель практически не изменилась. За исключением招商银行 (China Merchants Bank), остальные банки сделали свои мобильные приложения очень громоздкими и медленными. Изменения за последние двадцать лет свелись в основном к успешному отказу от IOE (IBM, Oracle, EMC).

Но как человек, знакомый с компьютерной архитектурой, я знаю, что если бы мне пришлось работать с такими наследственными проектами, я бы тоже не рискнул отказываться от IOE, потому что никто не знает, какие аппаратные ограничения там заложены (например, использование специфических техник компиляции/программирования, чтобы обойти аппаратные недостатки, но при переносе программы на Linux это превращается в баги).

image

Что касается бизнес-разработки, наша интернет-трансформация, безусловно, очень успешна. Утром можно просто отсканировать QR-код и купить завтрак, выйти из дома и вызвать такси через Didi, на работе использовать AI для составления бессмысленных текстов, заказать еду на обед, после обеда оплатить покупку с помощью распознавания лица, а вечером отправиться в забронированное развлекательное заведение и продолжать веселиться.

Если у тебя есть деньги, один телефон может обеспечить доступ по всей стране. Но фреймворки для программирования в этом почти не участвуют. Хотя сейчас многие топовые проекты возглавляют китайцы, сами фреймворки — это не прибыльный бизнес. Многие работают в этой сфере просто чтобы выбраться из бедности, тем более что большинство (включая меня) не испытывают уважения к интеллектуальной собственности и не привыкли платить за знания. Все просто наслаждаются чужим бесплатным трудом, не считая время других людей.

Открытая разработка & проектирование языков

Технические фреймворки по сути являются набором удобных инструментов. Поскольку языки программирования реализуют только базовые стандарты, для построения экосистемы языка необходимы открытые фреймворки.

Язык программирования — это как «кисть для каллиграфии», а открытые фреймворки — это «каллиграфические произведения», созданные этой кистью. Они взаимодополняют друг друга. В случае с Python, языком с низкой производительностью и слабой типизацией, сам язык не особо меня привлекает, но невозможно игнорировать тот факт, что такие фреймворки, как TensorFlow и PyTorch, написаны на Python.

Оптимизация производительности Python, как ни странно, заключается в обходе ограничения GIL и использовании C. Это вызывает у меня ощущение, что решается одна проблема за счет другой.

image

Это похоже на то, как если бы я пришел на массаж по объявлению с изображением красавицы, а меня встретил крупный мужчина ростом семь футов, который сказал, что красавица отдыхает, а он гораздо сильнее и лучше подходит для массажа. Мое тело и душа отказываются от такого. Потому что это противоречит моим первоначальным ожиданиям.

AI достиг вершины, Python взлетел.

Проектирование языков & разработка операционных систем

Языки программирования — это глубокая наука. Управляющие конструкции, перевод в машинный код, абстрактные синтаксические деревья, GC, потоки, принципы компиляции — даже простейшие вещи, вроде 1+1, для меня сложны.

image

Компьютерная индустрия — это очень разочаровывающая сфера. Талантливые дети уже в четвертом-пятом классе знают HTML и начинают заниматься робототехникой и создавать ракеты; а я в том же возрасте только регистрировался в QQ на компьютере родственников и меня безжалостно обыгрывали в Bubble Trouble одноклассники.

Не говоря уже о нашем ужасном окружении: профессора в университете стараются, чтобы сдать экзамены, но используют учебники десятилетней давности и говорят: «На самом деле, изучать C# 2005 достаточно, даже если сейчас есть .net core — они одинаковы~»

Я в шоке: один язык ограничен платформой, другой — это следующий уровень с кросс-платформенной и даже кросс-языковой компиляцией, как они могут быть одинаковыми? Первый шаг в изучении программирования — участие в разработке open source проектов. Понимание процесса промышленного дизайна, а не сидение на Титанике и просьба о помощи.

Языки программирования зависят от операционных систем, которые являются их платформой. Операционная система — связующее звено между аппаратным обеспечением и программным обеспечением. Это вершина программной разработки.

Разработка ПО & интегральные схемы

На самом деле, бизнес-разработка, проектирование open source фреймворков, разработка языков и операционных систем — все это можно объединить в «разработку программного обеспечения». Если смотреть с этой точки зрения, в нашей интернет-индустрии еще много пустого пространства.

Если рассматривать человека как расходный материал, придется мириться с колебаниями и нестабильностью трафика сайта во время передачи работы. Не говоря уже о том, что пользователи платформы могут инициировать «атаки перенаправления» — забудьте о тех интернет-компаниях, которые жестоко обращаются с сотрудниками.

image

Так называемая «гибкая разработка» в Китае — это просто люди, толкающие тележку (причем трое толкают одну четырехколесную электромашину). В книге «Миф о человеко-месяце» описывается трюк «беременной женщины» — одна беременная вынашивает ребенка 40 недель, но невозможно заставить 10 беременных родить за 4 недели. Я видел проекты, которые делались в режиме «ночных смен», и все они были провалами или переделками.

Погоня за быстрыми результатами тратит время и силы, которые не стоят сэкономленных минут, а если возникают технические ошибки — это еще хуже.

Верхняя ступень разработки ПО — это интегральные схемы. У нас есть хороший фонд, поддерживающий высокотехнологичную индустрию интегральных схем. Но ресурсы постоянно перераспределяются неправильно, деньги не доходят до настоящих национальных предприятий и специалистов.

Разработка ПО и интегральных схем должна быть фундаментальной, требующей накопления и тесной связи теории с практикой. Но университетские исследования почти гордятся тем, что обманывают финансирование (например, называют научного руководителя «боссом»); а частные компании под предлогом молодости режут «лук» с опытных разработчиков, увольняя старших инженеров и при этом красиво называя это «подготовкой кадров для общества».

Борьба меча и ци

Это похоже на борьбу между двумя школами на горе Хуашань — мечников (молодое поколение) и ци (ветераны-разработчики). Когда мечники приходят к власти, они выгоняют тех, кто учился у ци. Потому что мечники делают быстрые проекты, которые приносят прибыль, и работают дешевле.

Мечники делают акцент на мощных приемах меча, а ци (open source проекты, проектирование языков, операционные системы) сосредоточены на внутренней силе.

Оба подхода не являются ошибочными. В молодости, тренируясь по учебникам меча (go, C#, Java), это нормально. Но большинство людей просто используют один язык 4-5 лет и считают себя опытными, на самом деле они просто копировали 50 строк кода 4-5 лет подряд.

Или, как Java boy, который ради удобства следующей работы внедряет микросервисы там, где они не нужны.

Это всего лишь подражание, настоящая внутренняя сила (интернет-протоколы, стандарты программирования, способность к абстрактному моделированию) не успевает сформироваться. Когда «меч» ржавеет (например, PHP выходит из моды, проекты проигрывают конкурентам), остается только сменить профессию, и все усилия оказываются напрасными.

«Ци» — это не гордыня, а жизненная сила. Эта сила — это десятилетия упорства, постоянства и настойчивости. Это смелость идти в тигровую гору, даже когда весь мир против тебя и у тебя нет меча в руках.

Нам нужны идеалы, потому что в долгие темные ночи только надежда может привести нас к дальнему плаванию.