解法
在20世纪50年代初,为UNIVAC电脑编写任何新程序,都意味着每次都要用原始机器级二进制从头手动编码相同的常见子程序,因为当时计算机科学家和工程师的主流共识是:电脑本质上是算术机器——能计算,但不能自主遵循或翻译更高级的符号指令。这个假设不是需要捍卫的明文规定,而是被当作关于电脑能做什么、不能做什么的显而易见的常识。
格蕾丝·赫柏在雷明顿·兰德公司的UNIVAC部门工作,她认为这个领域里的假设是错误的,并造出了一个能工作的翻译器——A-0系统,它让程序员用简短的代码来引用可复用的、之前写好的子程序,而不用每次重新输入完整的二进制代码——这在技术上证明了电脑确实能够翻译并执行更高级的指令。
取得了什么结果
赫柏连续多年反复进行同样的演示,直接针对这一固有信念,直到足够多的人转变观念,使采纳成为可能。
为什么有效
一次演示无法推翻一个类别性的信念;人们会将其合理化。
反复曝光给了怀疑者多次更新心智模型的机会。
说服针对的是底层信念,而不仅仅是技术的功能。
一旦足够多的信念转变,编译器作为标准做法就变得可接受了。
可以借鉴什么
当解决方案有效却与领域内的假设相悖时,不要只证明一次——要不断重复证明,直到假设转变。
后续
赫柏持续的努力最终获得了成功,她开创的编译器概念直接引出了后来的FLOW-MATIC工作以及最终COBOL的发展,COBOL成为商业计算史上最广泛使用的编程语言之一——这使编译器和高级编程语言成为标准做法,而不是被拒绝的奇思妙想。
从这里,追溯依据
参考来源
- A-0 System Wikipedia · en.wikipedia.org
- Milestone-Proposal: Grace Hopper's Compiler and Programming Language Work, 1952-1959 IEEE Milestones Wiki · ieeemilestones.ethw.org
- The Woman Who Taught Computers English Missed History · missedhistory.com