世界上最流行的编程语言,用户数超过Python,Java,JavaScript,C的总和!

news2025/1/13 7:36:31

世界上最流行的编程语言是什么? 

Python? Java? JavaScript? C?

都不是,是Excel!

外媒估计,全球有12亿人使用微软的Office套件,其中估计有7.5亿人使用Excel!

可是Excel不就是能写点儿公式,做点儿计算吗, 这也是编程语言?

之前的Excel不是图灵完备的,2021年微软通过引入LAMBDA,让Excel 具备了图灵完备性,Excel 转变成一种全面的编程语言。

c10d1822ccfeedc63196763297be02be.png

当然,普通用户很少用Lambda,主要是组织数据,用公式分析,做可视化,提供决策依据,这才是Excel的舞台。

别看Excel现在呼风唤雨,它也是从尸山血海中一路冲杀出来,差点儿就被人干掉。

今天我们来聊聊Excel发展的故事。 

1

神奇纸张

我在外企的时候,有个国外同事,从来不说PPT,而是说Slides, 也从来Excel,而是说SpreadSheet。

刚开始我还不习惯,后来看看Excel的发展历史,才知道他是对的,Excel不过是SpreadSheet的一种。

电子表格(SpreadSheet)不是微软的发明,是哈佛学生丹尼尔·布里克林灵机一动想出来的。

1b21d05be50366fb4f1880f625cc6240.png

1977年,丹尼尔·布里克林哈佛商学院读MBA,教授让这些MBA学生去填一些分类账目表格,用来预测公司收购的财务状况。这些淡绿色的表格填起来很烦人,表格之间的数据有依赖关系,有一处填错了,后面的都得重新计算。 

曾经设计过字处理软件的布里克林立刻想到:为什么写一个电子表格程序,自动地去计算呢?

布里克林的老师则认为他是在浪费时间:你没搞错吧,现在市面上的PC都是玩具,再说了,这些填表的工作将来都是会计,秘书的活儿,你们MBA的主要工作是建模!

老师说的一点都没错,这是1977年,Apple II 才刚刚出现,上面没啥商业软件,确实是发烧友们的大玩具。

但是布里克林不信邪,他从麻省理工找了一个会编程的朋友,两人合作,用汇编写了世界上第一个电子表格软件:VisiCalc,意思是Visible Computing。 

这个软件的界面是绿色的,我估计是参考了当时分类账目表格的颜色:

4cd86a4066a61c425256bc2b99738e57.png

让所有人都没有想到的是,VisiCalc迅速成为了Apple II上的“杀手软件”,人们购买Apple II的唯一理由就是:想使用上面的VisiCalc。

7284d76e0c092d836470bc8354e0e87e.png

VisiCalc给世界带来的变化,不亚于复式记账簿。

有了电子表格之后,商人们只需要将数字输入,就能看到输出是什么。并且在PC上运行的电子表格打破了大公司的层级结构,将权利下放给更多人,甚至不需要依赖于数据部门,自己就能搞定。

VisiCalc 这个“可以执行计算和重新计算的神奇纸张”开启了一场革命,促使PC从狂热爱好者的玩具成为了严肃的商业工具。

2

异军突起

电子表格的市场一旦开启,激烈的竞争就如约而至 。

1980年,VisCalc仅仅问世一年以后,Sorcim公司发布了SuperCalc,解决了单元格之间循环引用的问题。

1982年,微软正式出手,推出了自家的电子表格程序Multiplan,提供了“更大的工作表”以及其他改进。

但它们都无法撼动先行者VisiCalc的地位,因为“一个人的命运啊,当然要靠自我奋斗,但是也要考虑到历史的进程!”

Mitchell Kapor(卡普尔)本来基于VisiCalc开发插件的程序员,他开发过两个图形插件,可以从VisiCalc的文件中生成图形。

0c870f099c0b9f7afdd6f38e3be6774f.png

VisiPlot

832f2c54734c5f9f9a73c0885a91031a.png

VisiTrend

当IBM PC这个划时代意义的产品推出时,VisiCalc却没有采取什么行动,卡普尔意识到机会来了。

b22ccb122738e5348cb33ca5029bd06d.png

他将自己的软件版权以170万美元的价格卖出,然后又拉了130万的风投,铤而走险,押注IBM PC,开发了新的电子表格软件Lotus1-2-3。

1-2-3指的是该产品的使用方式,即电子表格,图形包和数据库管理器。

ce2fcd6b09eeb53e1052953917360cf1.png

正如VisiCalc是Apple II的Killer application一样, Lotus 1-2-3成为了IBM兼容机和MS-DOS上的杀手级应用,IBM兼容机比Apple电脑便宜很多,市场巨大。

卡普尔顺势掀起了营销的狂潮,研发费用100万美元,发布产品就花费了250美元,Lotus 1-2-3销量扶摇直上,在最初的18个月就卖出了85万套,迅速成为电子表格领域的新霸主。

Lotus公司也超越微软,成为世界上最大的独立软件公司。

Lotus 1-2-3有多流行呢?很多人在买计算机的时候,不是说要买IBM PC兼容机,也不是说要买MS-DOS兼容机,而是要买能运行Lotus 1-2-3的计算机!

3

王者归来

眼瞅着Lotus1-2-3在自家的MS-DOS上称王称霸,赚钱赚到手软,而Multiplan又如同扶不起的阿斗,微软难道就此偃旗息鼓?

这绝不可能!

1984年秋天,微软一行四人秘密入驻西雅图的红狮酒店。

179f885f544d5f0ec960b4dc24d57d81.png

这四个人从左到右分别是:Bill Gates, Doug Klunder, Jabe Blumenthal 和 Charles Simonyi

他们要在这里进行为期三天的头脑风暴,讨论如何干掉Lotus1-2-3。

Bill Gates先是阐述了当前的严峻形势,Lotus公司第二年的销售额将要达到1.5亿美元,已经超越微软了!

大家纷纷表决心,一定要做出更加强大的电子表格软件Excel,把Lotus1-2-3 干翻在地。 

四人就Excel的用户界面和关键功能进行了充分的讨论,最后做出了两个重要决定:

1. 智能的重新计算

现在的SpreadSheet都有一个缺陷,一个单元格的数值变化,所有的单元格都得重新计算,这在PC那可怜巴巴的16K内存中,运行速度太慢了。新软件Excel一定要只计算相关受影响的单元格,这样在性能上将会有巨大的优势,用户将会后神奇的体验!

Doug Klunder甚至提出了一个口号:Recalc or die !  意思是,实现不了智能的重新计算,就去死。

d705337c52468da5aa4f9171c20d65b6.png

2. 放弃DOS平台,让Excel运行在GUI上。

Lotus 1-2-3已经成为基于文本的DOS平台的霸主,不要和它正面竞争,而是专注于下一代GUI平台。

悲催的是Windows 1.0要在一年以后才能完成开发,市面上支持GUI的操作系统只有苹果的Macintosh。

Bill Gates还是决定先开发Excel的Macintosh版本,这是个在外人看来难以理解的决定:让别人的孩子在自己院子(MS-DOS)里撒野,而把自己的孩子寄居别人的家里(Macintosh)

不得不说,Bill Gates不但懂技术,还非常有商业头脑,他从Macintosh身上,已经意识到GUI才是未来,将来Excel对Lotus将会带来降维打击。 

1985年,Excel的Macintosh版本正式推出,这是第一款图形化人机交互电子表格系统,有着漂亮的外观,下拉菜单,并且能够用鼠标操作!比基于文本的Lotus 1-2-3好太多了。

Excel开始蚕食Lotus 1-2-3的领地。

bc6482868266b63ff7609279d5b1bb48.png

1987年11月,第一款适用于Windows系统的Excel也产生了。

Lotus1-2-3 行动迟缓,迟迟不能用于Windows系统,到了1988年,Excel的销量超过了Lotus !

这是一件标志性的事件,意味着新的软件霸主诞生了!

此后大约每两年,Microsoft就会推出新的版本来扩大自身的优势,把所有竞争对手都远远抛到了身后。 

3ea721894a8a0133e87bc0960f2ba413.png

4

尾声

Excel对于微软有着特殊的意义,Microsoft Excel 1.0 的首席开发人员 Doug Klunder 回忆说:“微软将未来押在了 Excel 和 Windows 两个程序上,如果两者都失败了,微软就不可能活到今天。”

据说微软在开发Excel的时候,偷学了Macintosh的GUI技术,转而用到自家的Windows上,这让乔布斯怒不可遏,指着Bill Gates大骂:我那么信任你,你却偷走我们的东西!

Bill Gates没有愤怒以对,也没有反唇相讥,而是平静地讲了一个故事:“史蒂夫,我理解你的愤怒,不过我们可以从另外一个角度来看问题,我们都有个有钱的邻居,叫施乐,我闯进他们家准备偷电视的时候,发现你已经把它……偷走了。”

(施乐的故事,参见这篇文章《为什么美国的创新这么厉害?》)

(完)

6000a0b0e022af69a57678192f94c5fb.png

a19301fec1a32bb23cb5e06fb6b782d5.png

e96232eff9165e1e8b7f132a34fb12e4.png

fd61aeab0ada178378770dd77200a3b3.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/379501.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为OD机试题【合并数组】用 C++ 进行编码 (2023.Q1)

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧文章目录 最近更新的博客使用说明合并数…

计算机组成原理4小时速成:五大组成部分:运算器,控制器,存储器,输入设备输出设备

计算机组成原理4小时速成:五大组成部分:运算器,控制器,存储器,输入设备输出设备 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发&am…

BOSHIDA AC-DC电源模块基本原理及常见问题

BOSHIDA三河博电科技 AC-DC电源模块基本原理及常见问题 AC/DC电源模块的基本原理是从交流源中获取电压,然后由整流器转换为直流电压,且输出能量比输入的电压高,从而达到电路输出直流电压、电流的目的。 交流交换器模块由负责控制的设备,整流器,电容器和变压器组成。负责控制的设…

恢复谷歌翻译的究极方法

谷歌翻译为什么会失效,我想各位在去年11月的时候就知道了。可是要怎么解决失效的问题呢?之前我们是通过手动Ping可以连接的ip各位可能觉得麻烦,心里觉得什么档次还要我手动ping就没有可以自动扫描的吗?还别说真的有我最近发现一个…

GVINS论文中关于GNSS的基础知识

1.GNSS发射信号的组成 卫星所发射的信号可分为三个层次:载波(Carrier signal)、伪码(PRN code伪码中的一种)和数据码(Navigation message)。在这三个层次中,伪码和数据码一起先通过调制依附在正弦波形式上的载波,然后卫星将调制后的载波信号…

外贸建站,为什么别人的询盘更多更精准?

大多企业进行外贸建站的目的就是想要获得更多的精准询盘,但是具体该如何做,大多企业都没有方向,要么就是在网上看各种不系统的文章学着操作,要么就找个建站公司做好网站就不管了,而最终结果都不甚理想。那么怎样才能让…

The KINGDOM Software 32-bit导入segy数据

说明 1、软件:The KINGDOM Software 32-bit 2、电脑系统:win10 3、操作:导入segy数据(如果读者没有数据,可使用下面会用到的示例数据) 步骤 1、打开kingdom软件,找到最上面菜单栏的“surve…

php学习笔记 安装XAMPP hbuilder配置

PHP7.0编程 基础配置 Download XAMPP (apachefriends.org) 下载XAMPP,修改端口如图 网站根目录的默认路径:xampp\htdocs。MySQL数据库默认路径:xampp\mysql\data。 XAMPP的默认密码如下。 ●MySQL。User:root;Pas…

项目管理工具dhtmlxGantt甘特图入门教程(十五):从MS项目导入/导出(中)

这篇文章给大家讲解利用dhtmlxGantt导入MS项目。 dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表,可满足应用程序的所有需求,是完善的甘特图图表库 DhtmlxGantt正版试用下载(qun:764148812)https…

【Java爬取赛事网站】命令行输出(仅供学习)

Java爬取赛事网站 参与社区的问题回答 问题回答这个作业属于哪个课程软件工程-23年春季学期这个作业要求在哪里软件工程实践第二次作业—文件读取这个作业的目标完成对澳大利亚网球公开赛相关数据的收集,并实现一个能够对赛事数据进行统计的控制台程序其他参考文献…

Kafka-Kraft 模式架构部署

Kafka-Kraft 模式架构部署 Kafka网址:https://kafka.apache.org/ PS:因环境原因此文档内端口都有修改! 1.去官网下载二进制包 PS:3.4.0是目前最新的版本!需要jdk1.8及以上版本启动。 [rootk8s-node1 ~]# wget https:/…

Linux下各种锁的理解和使用及总结解决epoll惊群问题(面试常考)

一.锁 锁出现的原因 临界资源是什么: 多线程执行流所共享的资源 锁的作用是什么, 可以做原子操作, 在多线程中针对临界资源的互斥访问... 保证一个时刻只有一个线程可以持有锁对于临界资源做修改操作... 任何一个线程如果需要修改,向临界资源做写入操作都必须持…

如何在 Primavera P6 中使用赢得值/挣值管理

目录 演示案例 如何在Primavera中绘制EVM图? 你是否想过如何在Primavera P6调度工具中应用挣值管理? 事实上,Primavera P6 能够使用挣值管理技术来控制项目进度和绩效,将项目成本与项目进度整合起来 演示案例 我们以一个简单…

JVM方法区详解有这篇就够了

1、方法区在哪里《Java虚拟机规范》中明确说明:“尽管所有的方法区在逻辑上是属于堆的一部分,但一些简单的实现可能不会选择去进行垃圾收集或者进行压缩。”但对于HotSpotJVM而言,方法区还有一个别名叫做Non-Heap(非堆&#xff09…

记录面试问题

以下问题不分先后,按照印象深浅排序,可能一次记录不完成,后面想起来会及时补充,如有不对,恳请各位围观大佬多多指教🙏 印象最深的是一道很简单很简单的题目,我结束面试之后赶紧代码敲敲发现答错…

简易计算器-课后程序(JAVA基础案例教程-黑马程序员编著-第十一章-课后作业)

【案例11-2】 简易计算器 【案例介绍】 1.案例描述 本案例要求利用Java Swing 图形组件开发一个可以进行简单的四则运算的图形化计算器。 2.运行结果 运行结果 【案例分析】 要制作一个计算器,首先要知道它由哪些部分组成,如下图所示: 一…

见山,见路,见天地:OpenHarmony的开源共建攀登

自诞生之日起,OpenHarmony就引起着各方的关注,可谓是盛况空前。但一款开源操作系统的成功,困难不在第一步,而是第一步后面的一万步。那么,踏出开源第一步之后的OpenHarmony,后面的故事如何发展了呢&#xf…

(五十三)大白话基于主键的索引是如何设计的,以及如何根据主键索引查询?

上回我们说了数据页分裂的过程,在你不停的往表里灌入数据的时候,会搞出来一个一个的数据页,如果你的主键不是自增的,他可能会有一个数据行的挪动过程,保证你下一个数据页的主键值都大于上一个数据页的主键值。 在这个…

开启MySQL慢查询以及慢查询日志使用

目录 要开启慢查询,需要关注这几个参数 打开慢查询日志 把日志文件存储在文件中 模拟慢查询 如何寻找并查看慢查询日志 把日志文件存储在表中: 其他关注参数 log_slow_admin_statements Slow_queries 在生产环境中:mysqldumpslow工具分…

问题与解决办法整理一

文章目录1. Linux报错:terminate called after throwing an instance of ‘std::regex_error‘ what(): regex_error;[regex报错,需要将G,GCC都要升级才可以](https://blog.csdn.net/qq_56101220/article/details/127371121)2. ctemplate时遇到连接库失败的问题,将l…