首页 › programming › 十分钟编程课里的计算机七十年

两百万人看过:十分钟真的能学会编程吗?

概述

一、视频基本信息

透明性说明:本文素材管道只提供标题、频道与播放量,无法逐帧转写原片。因此下文对视频内容的处理方式是:把“十分钟编程基础”这个品类的标准知识结构完整重构出来——这类视频的知识骨架高度一致(几乎所有同类作品都围绕变量、条件、循环、函数四大构建块展开),凡属本文的延伸分析与数据验证均单独标注,不做虚构的原话引用。这个处理方式本身就是本文论点的一部分:十分钟格式之所以可行,恰恰因为它承载的不是某位讲师的独家洞见,而是整个学科最稳定的公共骨架。

二、先看数据:编程入门内容的时间光谱

视频 时长量级 播放量(2026-09-03快照)
Python for Beginners(Programming with Mosh) 约1小时 25,149,091
How to Start Coding(Intellipaat) 数小时长课 11,581,926
How To Learn Programming for BEGINNERS!(CroatCode) 短片 8,101,373
Programming vs Coding(Aaron Jack) 短片 2,389,338
basics of CODING in 10 minutes(本文主角) 10分钟 1,973,981
Coding for Kids Explained(CodeMonkey) 短片 1,059,947

注意头部数据:播放量最高的不是“最短最好消化”的十分钟视频,而是一小时以上的完整长课。这说明编程入门是一个罕见的“长内容碾压短内容”的品类——因为它的观众是高意图观众:他们带着“我要解决一个焦虑”的目标来搜索,愿意为一小时课付出一小时,因为时长本身带来“完整感”。而十分钟格式服务的是漏斗顶部低意图的好奇人群:“编程到底是什么?”——看完就走,满足于获得一张概念地图。两种内容形态并不竞争,而是服务于决策链的两个阶段。理解这一点,你就知道该怎么用这条视频:它是试吃装,不是正餐——这恰恰是视频标题里"basics"(复数的基础,而非“精通”)这个词诚实的边界。

三、核心主张拆解:十分钟的标准骨架

按此类视频的叙事顺序,十分钟内容通常依次展开为五个环节。

环节一:开场定义——代码是“意图与机器之间的翻译层”

开场几乎必然回答“什么是编程”:编程不是和机器对话的神秘仪式,而是把人类的意图翻译成机器能逐步执行的明确指令。这个定义的关键词是“明确”:机器不猜你的言外之意,你说的每一步它都照做,包括你写错的那一步。这个开场看似废话,实际上是整个学科世界观的入口——模糊性是人类语言的红利,却是程序语言的毒药。后面所有积木都是围绕“如何消灭模糊”搭建的。

环节二:积木一——变量,给记忆起个名字

第一个积木通常是变量(variable):一个有名字的盒子,往里放一个值,之后随时用名字取用或替换。视频会演示 score = 10 这类语句,并强调“变量之所以叫变量,是因为它能变”。多数十分钟视频在这里还会顺手区分数字、字符串、布尔值几种基本类型。这一段最容易让新手产生“就这?”的轻松感——而这种轻松感正是后文要审查的对象。

环节三:积木二——条件,程序第一次有了“选择”

第二个积木是条件分支(if/else):如果成绩大于等于60就显示“及格”,否则显示“重修”。程序由此第一次脱离“从头到尾一条道走到底”的呆板,获得了根据数据走不同路径的能力。视频在这里通常会强调一个新手通病:条件写反、边界值漏判(恰好等于60算不算及格?)。

环节四:积木三——循环,把重复交给机器

第三个积木是循环(loop):打印一百行"Hello World"不需要写一百行代码,一个 for 循环三行搞定。这是十分钟视频里最能制造“啊哈时刻”的段落——观众第一次直观看到“机器的价值在于替人做重复劳动”这个计算机革命的原始承诺。循环通常还会配一个警告:小心死循环(infinite loop),条件永远不满足时程序会卡死在里面。

环节五:积木四与收尾——函数,以及“组合起来什么都能做”

最后一个积木是函数(function):把一段常用逻辑打包命名,随时调用。收尾几乎必然落在同一个结论上:世界上所有庞大的软件——从操作系统到游戏——都是这四块积木的排列组合。这句话是十分钟格式的理论支点,也是它最有争议的地方:它技术上是对的,但容易让听者推出一个错误的推论——“积木简单,所以造房子简单”。

四、知识与理论溯源:四块积木背后的七十年

这是本文的核心增量。这四块“入门积木”,每一块背后都站着一位真实的工程师、一篇真实的论文或一段真实的工程史——它们不是教学法的发明,而是七十年来计算机体系层层沉淀后的“化石层”。

变量 → 存储程序计算机(1945)。“给内存里的一个位置起名字,之后按名字读写”——这套机制的理论基础是冯·诺依曼1945年起草的《EDVAC报告书的第一份草案》(First Draft of a Report on the EDVAC),它确立了存储程序架构:程序和数据一样放在同一个内存里,都是数字,都可以被读写。你写的每一行代码在运行时就是内存里的一串数字,“变量”就是你对这块内存起的消费者友好别名。更早的先声是 Ada Lovelace:她在1843年为一篇分析机译文所写的注释(著名的Note G)里,已经出现了用符号代表可复用数值的操作——被广泛视为历史上第一个发表的计算机程序雏形。变量这个“最简单”的概念,其实是“代码即数据”这个计算机最深刻思想的用户界面。

条件与循环 → 结构化程序设计定理(1966)与“GOTO有害论”(1968)。为什么四块积木是“这四块”而不是别的组合?答案藏在一条真实的数学定理里:意大利学者 Corrado Böhm 与 Giuseppe Jacopini 在1966年发表于《ACM通讯》(CACM)的论文证明——只要有了顺序、选择、循环三种结构,就足以表达任何可计算的计算流程,其他控制结构都可以由这三者组合出来。两年后的1968年,Dijkstra 在同一本期刊上发表了他那封改变整个行业的著名信件《GOTO语句有害论》(Go To Statement Considered Harmful,据文献记载这个标题是时任编辑 Niklaus Wirth 建议的),主张程序员应该放弃不受约束的跳转,只用结构化的三种控制流写代码。此后以 Dijkstra、Hoare、Dahl 1972年合著的《Structured Programming》为标志,“结构化程序设计”成为行业共识。所以十分钟视频里的 if 和 loop 不是随手挑选的教学案例,而是一条定理加一场行业运动,共同筛出来的最小完备集。

函数 → 第一条子程序(1949)。“把代码打包复用”也不是现代发明。1949年,英国剑桥大学的 EDSAC 计算机(世界上第一台实用存储程序计算机之一)上,David Wheeler 发明了“闭合子程序”(closed subroutine)及其返回机制——工程史上干脆把这种跳转返回技术称为“Wheeler跳转”(Wheeler jump)。Wheeler 还参与写下了世界上第一本编程教材(Wilkes、Wheeler、Gill,1951)。你在任何语言里写的每一次函数调用,背后都是这条1949年的血脉。而“复用代码是美德”被提炼成著名的DRY原则(Don't Repeat Yourself),则要等到 Hunt 与 Thomas 1999年的《程序员修炼之道》(The Pragmatic Programmer)才完成大众化——从机器指令到工程哲学,函数这一块积木跨越了半个世纪。

“四块积木够用” → 图灵完备。视频收尾那句“所有软件都是这些积木的组合”,学理依据是可计算性理论:一个具备条件分支和(理论上无限的)存储的模型,就是图灵完备的——它能计算一切可计算的问题(Church–Turing论题的框架下)。换句话说,“十分钟讲完编程的全部原语”这句话在数学上居然是成立的。这就是十分钟格式敢于存在的底气,也是它最迷人的悖论:学科的公理层确实小到十分钟讲得完,学科的工程层却大到七十年都没讲完。

五、批判性审查:哪些站得住,哪些是体量决定的幻觉

站得住的部分。其一,“四大构建块”作为编程核心的最小集,有Böhm–Jacopini定理与图灵完备性双重背书,没有任何夸张成分。其二,十分钟讲清这些概念的定义与演示,在认知上是可行的——概念本身没有多深,深的是使用它们的能力。其三,这条视频的标题用词相当克制:"basics"(基础)而非“零基础到就业”,没有透支承诺。

被叙事放大的部分与真正的陷阱。其一,“认出积木”与“搭出房子”之间隔着一条峡谷。软件工程教育研究里有硬数据:McCracken等人2001年发起的跨国多校联合评估发现,相当比例修完第一门编程课的大学生,仍然写不出一个几十行的小程序;Qian与Lehman 2017年发表在《ACM计算机教育汇刊》的综述系统记录了新手的高频误区——比如把变量当成“贴标签的物体”而非“存值的容器”、以为循环体内的修改会自动同步到别处。看懂一个for循环的演示,和能预判它每一轮的内存状态,是两种能力,前者的流畅感会伪装成后者——教育心理学称之为流畅性错觉。其二,十分钟格式结构性缺失三样东西:状态推理(程序跑起来后,脑子里跟踪所有变量取值的能力)、调试(从报错和异常行为反推原因——职业程序员一半以上的真实工作时间)、以及抽象设计(决定该造哪些函数、边界画在哪——这是工程与脚本的分界线)。这三样没有一样能通过“看”获得,只能通过“写砸了再修”获得。其三,还有一个很少被点破的平台经济学:据YouTube公开的推荐机制说明,完播率是推荐系统的重要信号,十分钟天然是完播率友好型时长——这意味着“十分钟学会X”这个格式的流行,部分是推荐算法的选择压力,而非学习效果的最优解。它擅长被看完,不保证被学会。

一句话裁决:这条视频类型的正确用途是建立概念坐标系——让你之后读任何教程时知道“变量”“循环”这些词在说什么;它的错误用途是当作学会编程的证据。地图可以十分钟画完,领土不行。

六、认知提升与实用启示

  1. 用“四积木自检法”读任何代码。不管你之后学什么语言,拿到一段看不懂的代码,固定问四个问题:哪些是变量(状态存在哪)?哪里有分支(什么条件决定走哪条路)?哪里是循环(什么东西在重复、何时停止)?哪些逻辑被封装成了函数(边界在哪)?这四个问题就是Böhm–Jacopini定理的读代码版——任何流程必然能被拆解到这三种结构上。它让你在面对几万行的陌生项目时,永远有一个可以下手的解剖顺序。

  2. 执行“24小时提取协议”。看完这条(或任何一条)十分钟视频后的24小时内,关掉所有资料,手写一个四块积木都用上的小程序——经典测试题是FizzBuzz:打印1到100,逢3的倍数换"Fizz"、逢5的倍数换"Buzz"、兼为倍数换"FizzBuzz"。这道题2007年由开发者Imran Ghory提出后经Coding Horror博客传播而闻名,专门用来检验“自称会编程的人是否真的能把四块积木组装起来”。如果24小时内你写不出它,说明视频留给你的只是熟悉感,不是能力——这个测试的痛苦程度,就是真实学习发生的程度(心理学上所谓“必要难度”,Bjork学派的核心主张)。

  3. 看第二遍时切换“机器视角”。十分钟视频看第二遍的价值远大于第一遍,但前提是换一种看法:每行代码暂停一次,问“此刻内存里发生了什么——变量现在存的是什么值,程序计数器指向哪里”。这就是编程教育研究者du Boulay(1986)提出的“心智机器”(notional machine)训练:新手与高手的分水岭,不在于语法量,而在于脑中是否运行着一台与真实机器同构的模拟器。同一个十分钟,第一遍给人看,第二遍给机器看。

视频知识结构图

flowchart TD
    A["开场: 代码=意图与机器的翻译层<br/>消灭模糊性"] --> B["四大构建块"]
    B --> B1["变量<br/>给内存起名字"]
    B --> B2["条件分支<br/>程序学会选择"]
    B --> B3["循环<br/>重复交给机器"]
    B --> B4["函数<br/>逻辑打包复用"]
    B1 --> C1["理论根: 冯·诺依曼存储程序架构 1945<br/>先声: Ada Lovelace 1843"]
    B2 --> C2["理论根: Böhm–Jacopini定理 1966<br/>Dijkstra 'GOTO有害论' 1968"]
    B3 --> C2
    B4 --> C3["理论根: Wheeler子程序 EDSAC 1949<br/>DRY原则 1999"]
    C1 --> D["图灵完备: 四块积木=全部原语<br/>公理层: 十分钟讲得完"]
    C2 --> D
    C3 --> D
    D --> E{"但: 工程层七十年讲不完"}
    E --> F["缺失三件套<br/>状态推理/调试/抽象设计"]
    F --> G["正确用法: 概念坐标系<br/>24小时内FizzBuzz提取检验"]
    E -.->|"错误用法: 把看完当学会"| H["流畅性错觉"]
    G -.->|"规避"| H

延伸阅读

  1. Python for Beginners - Learn Coding with Python in 1 Hour | Programming with Mosh — 2514万播放的入门长课,“试吃装之后的正餐”首选:同一条知识骨架在真实语言里的完整展开。
  2. How To Learn Programming for BEGINNERS! (2022/2023) | CroatCode — 810万播放的路径类入门视频,与本文的“概念视角”互补,回答“学会之后往哪走”。

参考来源

  1. basics of CODING in 10 minutes | The StudyTube Project — 本文解读的核心视频;标题、频道与播放量(1,973,981次)来自素材管道2026-09-03抓取快照
  2. Python for Beginners - Learn Coding with Python in 1 Hour | Programming with Mosh — 同期编程分类播放量头部的入门长课(25,149,091次,同一快照)
  3. How To Learn Programming for BEGINNERS! (2022/2023) | CroatCode — 编程入门品类路径类高热度视频(8,101,373次,同一快照)
  4. Coding for Kids Explained | CodeMonkey — 同品类概念科普参照样本(1,059,947次,同一快照)

    本文由「51学通信」技术团队出品。51学通信由通信行业18年老兵爱卫生(微信ID: gprshome201101)维护,聚焦5G/6G核心网、3GPP标准解读、通信前沿技术深度分析。 出版作品有《5G核心网原理与实践》《IMS原理与实践》等4本通信专业书籍。知识星球「51学通信」提供深度技术答疑和行业洞察。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入