linux爱好者2021-02-06 09:51:38
程序员都知道,美帝在计算机领域非常厉害,我们和美帝的差距很大,但是到底有多大呢?
我们平时忙于写代码,没有精力对技术做追根溯源, 所以也就没有直观的、切身的体会。
最近画了几篇计算机技术溯源的漫画,接触到了细节以后,真是越来越心惊:
美帝在这个领域的积累实在是太深厚了,我们和美帝的差距实在是太大了。
1
比如平时经常用的关系数据库,大家可能都知道的是这些:
关系理论是美国人科德1970年提出来的。
SQL也是美国人张伯伦和博伊斯在IBM发明的。
事务处理技术是美国人Jim Gray开创的,他提出了原子性(A),一致性(C)和持久性(D)。
但是很多人不知道的是:
B Tree是美国人Edward M. McCreight和德国人Rudolf Bayer 在美国波音工作时发明的,它的变体B+ Tree是数据库索引的基础,率先被应用到IBM 的VSAM 中。
IBM的System R最早在数据库查询优化中使用了动态规划(这也是美国人Richard Bellman在50年代发明的算法)
关系数据库在刚兴起的时候受到网状数据库“无情”地打压,网状数据库的掌门巴赫曼和科德还有一场著名的论战。
后来IBM通过System R, 加州大学伯克利分校通过Ingres才证明了关系数据库的能力,Oracle 通过和美国政府的项目才让SQL成为标准,然后在八九十年代,各个产品Oracle ,Sybase, Db2, SQL Server, Informix,MySQL等百花齐放。
很可惜,这些精彩的故事发生的时候,我们还在折腾,还在缓慢回血中。
2
再比如编程语言, JavaScript 是前端的王者,布兰登在设计它的时候,借鉴了很多语言:
基本语法借鉴了C (贝尔实验室) 和 Java(Sun公司);
函数借鉴了Scheme (MIT);
原型继承借鉴了Self (施乐PARC);
正则表达式借鉴了Perl (美国人Larry Wall)
字符串和数组处理借鉴了Python (荷兰人Guido van Rossum)
除此之外,我们耳熟能详的语言还有 :
Smalltalk(施乐PARC)
C++(贝尔实验室)
C#(微软)
VB(微软)
Go(Google)
Lisp(约翰·麦卡锡)
甚至连让儿童学习编程的LOGO (MIT), Scratch (MIT)也都诞生在美国。
从过程性语言到面向对象,从命令式到函数式,从编译到解释,再到虚拟机,美帝玩得风生水起。
3
在操作系统这个大冰山上,程序员日常看到的是浮在上面的Windows (微软), Linux(开源), Mac (苹果),Andorid (Google), iOS (苹果)
冰山之下,是大型机,小型机,PC长达几十年的争斗和“累累白骨”。
OS/360 (IBM的世纪豪赌)
CTSS (MIT实现的第一个分时共享系统)
Multics (通用电气和贝尔实验室)
VAX/VMS (DEC)
Unix (贝尔实验室)
BSD (加州大学伯克利分校开发的Unix 分支)
CP/M (Gary Kildall 开发的PC 操作系统 )
DOS(微软)
OS/2 (IBM)
NeXTSTEP (乔布斯的NeXT公司开发的操作系统)
在计算机体系机构领域,美国诞生了存储程序,RISC等原创思想,爆发过RISC和CISC之间的激烈战争。
Sun公司的SPARC处理器,DEC 的Alpha,SGI 的MIPS,Intel 的RISC处理器 i860, i960,IBM 的Power都曾参战。
在网络和通讯领域,有香农的信息论,分组交换思想,以太网,路由器,TCP/IP......
虚拟化,编译器,快速排序,RSA算法, 鼠标,GUI, MVC,RPC.....
这个列表还不包括应用层的软件(Apache, Tomcat,Hadoop, Docker, k8s.....), 如果继续罗列下去,这个列表会很长很长, 我不再列了。
4
看到这里,你可能会理解任正非所说的话了:美国仍然是世界的科技灯塔,我们仍然要一切向先进的人学习。
计算机这座大厦几乎是美国人构建起来的,这句话毫不为过。
我经常在想,中国的IT业起步虽晚, 但这二十多年也发展得很快,诞生了几个世界级的互联网巨头,
为什么一直没有诞生原创性的、有世界级影响力的发明和创造呢?
可能有人会反对,中国也有很多开源的优秀软件嘛,没错,是有很多,但是这些软件在原创性上还远远不够。
比如Dubbo,这是个很优秀的、高性能的分布式服务框架,但是它的本质是什么呢?RPC !Dubbo在RPC的基础上加上了服务的调度、发现、监控、治理,相当于扩展。
而RPC是在1981年,卡耐基梅隆的计算机博士Bruce J. Nelson发明的技术。从那以后相继出现了CORBA, Java RMI, XML-RPC, SOA等各种技术,Dubbo和他们一脉相承。
相比而已,Rayan Dahl发明的Node.js原创性更高,因为它成功地把JavaScript、异步IO、Http Server等技术组合起来,达成了把JavaScript搬到了服务器端的革命。
5
有人可能要说,你对中国的期待太高了,在计算机领域,除了美国以外,别的国家都不怎么样嘛。
这句话也不准确, 芬兰诞生了Linux , MySQL , 瑞典的爱立信发明了Erlang ,英国有ARM , 瑞士有Pascal。
以色列能发明ICQ,防火墙,荷兰人能发明Python, 日本能发明Ruby, 巴西能发明Lua 。
再说了,我们中国是个大国,我们的理想可不仅仅是那些小国能比拟的, 我们可不仅仅想在几个领域突破,而是要在各个领域,大范围地碾压。
我相信在中国应该有一位这样的天才程序员, 他也遇到了Rayan Dahl类似的业务场景,甚至想到了使用V8在服务器端运行JavaScrpt的方法,但是他整天被需求压得喘不过气来,业余时间被996榨干,回到家中,累得根本没有时间和精力去鼓捣的Node.js......
我也相信中国有很多天才的小孩,他们的脑海中充满着奇思妙想,就像信息论之父香农那样,特别擅长把两个不相干的领域拉扯到一起,激起思维的火花,只不过他们很难有机会去施展,因为从小学开始,他们的时间就要被大量重复的作业和各种培训班所占据,要想让他们自由发展,不走寻常路,家长将会背上很大的风险。
大学毕业,工作以后,这些天才又会被房子问题、医疗问题、孩子教育问题绊住,他们很难像Rayan Dahl那样自由生活,追随兴趣,不能去Think Different ,自然也很难做出原创性的发明和创造。
这种状况会持续多久呢,什么时候会改变呢
中国搞计算机语言肯定不成问题。关键是搞出来能不能引起关注,得到广泛应用。
JavaScrip 据说是某人花了一周时间写出来的。往好里说,作者是个牛人;往坏处说,就是个粗制滥造的东西。
每一个语言出来前就知道有人会用?你不搞出来咋知道没人用?好东西,难道人家不识货?西朝鲜这么大市场,那个高铁事件就很说明问题。
西朝鲜有能人,这个也不用否认。但是在这个大酱缸里面再多的能人都会泯然于众。计算机领域是个开放度很高的领域。如果真的有啥不错产品必然会被大家接受,这个不存在啥见不得人的壁垒。如果说这个语言是应用那个框架是应用的话那啥东西不是应用呢?科技难道不是在应用中才能体现出开发者的价值?或者,说这话的也可以出来介绍一下西朝鲜在非应用领域傲视全球的理论。
嘴炮和价值观就是西朝鲜(人)最大的症结所在!
对软件这个行业很多人都非常熟悉。从东京, 上海到这里,得出的结论就是西朝鲜的这些能人也就是纠结于那些细节,自己一亩三分地了。
全球化之前,各国工作人员用的是本国自己的技术,美国的技术世界第一,吊打全世界。
全球化以后呢,各国工作人员用的是全世界最好的技术,不一定非是本国的。突然之间,各国的竞争,从发明工具的能力,变成了大规模使用工具的能力。中国从此扶摇直上。
全球化可逆吗?资本主义国家,政客厉害,还是资本家厉害?很显然不可逆的。
所以土共可以笑到最后了。中国的运气来了,谁也挡不住。中国就是郭靖,傻不愣登,没人教武功啥都不行。突然之间武林秘籍交到手里了,练出来居然打遍天下。
不要说老美了,很多中国人都没意识到,美帝根本斗不过中国了。美国就是顶尖人才发明工具的人厉害,下面干活的人根本不行,如今干活全靠移民撑着呢。你以为波音把自控软件给三哥做图省钱嘛?它就是给美国公司做也得转包到印度去的。美国人干活的已经没几个了。比发明中国不行,比干活那可就是老大了。有了同样的工具,土共稳赢。 要想逆转全球化,使中国失去获得西方各种先进工具的渠道,那估计要再来一次世界大战才有可能。到那时中国被西方集体制裁,只好闭门造车,不知不觉又会回到六七十年代的老样子。那种可能性不大。土共不傻,自己说的,跟美国斗要“斗而不破”。只要还在全球化的体系内,还能得到美国的先进工具,超越美国是迟早的事。
新中國七十年,三十年河東,四十年河西,這十年胡來。
科學技術上,中國無原創。黨管一切,對中國的知識分子火烤水煮。把人的上三路全弄壞了。
所以在特定的场景或许可以做的很好,但是出不来新技术。比如阿里很骄傲的双11的数据处理能力,也只是把已有的技术结合在一起做了一些改进,并没有创造出任何革命性的东西。相反看美国人,搞虚拟机,然后再搞CONTAINER,在建立PaaS 技术,每一步都和扎实。因为很多人去创作这些思想。
美国在这方面,整个是空白
中国系统软件,首先要解决版权问题,否则没戏。要让有能力做的赚到钱,才可能升级换代加维护。
阿里当然是中国最牛的云服务公司,这是无容置疑的。但是依然没有创新。
这厮说的没错,但这是黄历了。你写的是什么代码?你又知道这个世界已不是从前了。
linux爱好者2021-02-06 09:51:38
程序员都知道,美帝在计算机领域非常厉害,我们和美帝的差距很大,但是到底有多大呢?
我们平时忙于写代码,没有精力对技术做追根溯源, 所以也就没有直观的、切身的体会。
最近画了几篇计算机技术溯源的漫画,接触到了细节以后,真是越来越心惊:
美帝在这个领域的积累实在是太深厚了,我们和美帝的差距实在是太大了。
1
比如平时经常用的关系数据库,大家可能都知道的是这些:
关系理论是美国人科德1970年提出来的。
SQL也是美国人张伯伦和博伊斯在IBM发明的。
事务处理技术是美国人Jim Gray开创的,他提出了原子性(A),一致性(C)和持久性(D)。
但是很多人不知道的是:
B Tree是美国人Edward M. McCreight和德国人Rudolf Bayer 在美国波音工作时发明的,它的变体B+ Tree是数据库索引的基础,率先被应用到IBM 的VSAM 中。
IBM的System R最早在数据库查询优化中使用了动态规划(这也是美国人Richard Bellman在50年代发明的算法)
关系数据库在刚兴起的时候受到网状数据库“无情”地打压,网状数据库的掌门巴赫曼和科德还有一场著名的论战。
后来IBM通过System R, 加州大学伯克利分校通过Ingres才证明了关系数据库的能力,Oracle 通过和美国政府的项目才让SQL成为标准,然后在八九十年代,各个产品Oracle ,Sybase, Db2, SQL Server, Informix,MySQL等百花齐放。
很可惜,这些精彩的故事发生的时候,我们还在折腾,还在缓慢回血中。
2
再比如编程语言, JavaScript 是前端的王者,布兰登在设计它的时候,借鉴了很多语言:
基本语法借鉴了C (贝尔实验室) 和 Java(Sun公司);
函数借鉴了Scheme (MIT);
原型继承借鉴了Self (施乐PARC);
正则表达式借鉴了Perl (美国人Larry Wall)
字符串和数组处理借鉴了Python (荷兰人Guido van Rossum)
除此之外,我们耳熟能详的语言还有 :
Smalltalk(施乐PARC)
C++(贝尔实验室)
C#(微软)
VB(微软)
Go(Google)
Lisp(约翰·麦卡锡)
甚至连让儿童学习编程的LOGO (MIT), Scratch (MIT)也都诞生在美国。
从过程性语言到面向对象,从命令式到函数式,从编译到解释,再到虚拟机,美帝玩得风生水起。
3
在操作系统这个大冰山上,程序员日常看到的是浮在上面的Windows (微软), Linux(开源), Mac (苹果),Andorid (Google), iOS (苹果)
冰山之下,是大型机,小型机,PC长达几十年的争斗和“累累白骨”。
OS/360 (IBM的世纪豪赌)
CTSS (MIT实现的第一个分时共享系统)
Multics (通用电气和贝尔实验室)
VAX/VMS (DEC)
Unix (贝尔实验室)
BSD (加州大学伯克利分校开发的Unix 分支)
CP/M (Gary Kildall 开发的PC 操作系统 )
DOS(微软)
OS/2 (IBM)
NeXTSTEP (乔布斯的NeXT公司开发的操作系统)
在计算机体系机构领域,美国诞生了存储程序,RISC等原创思想,爆发过RISC和CISC之间的激烈战争。
Sun公司的SPARC处理器,DEC 的Alpha,SGI 的MIPS,Intel 的RISC处理器 i860, i960,IBM 的Power都曾参战。
在网络和通讯领域,有香农的信息论,分组交换思想,以太网,路由器,TCP/IP......
虚拟化,编译器,快速排序,RSA算法, 鼠标,GUI, MVC,RPC.....
这个列表还不包括应用层的软件(Apache, Tomcat,Hadoop, Docker, k8s.....), 如果继续罗列下去,这个列表会很长很长, 我不再列了。
4
看到这里,你可能会理解任正非所说的话了:美国仍然是世界的科技灯塔,我们仍然要一切向先进的人学习。
计算机这座大厦几乎是美国人构建起来的,这句话毫不为过。
我经常在想,中国的IT业起步虽晚, 但这二十多年也发展得很快,诞生了几个世界级的互联网巨头,
为什么一直没有诞生原创性的、有世界级影响力的发明和创造呢?
可能有人会反对,中国也有很多开源的优秀软件嘛,没错,是有很多,但是这些软件在原创性上还远远不够。
比如Dubbo,这是个很优秀的、高性能的分布式服务框架,但是它的本质是什么呢?RPC !Dubbo在RPC的基础上加上了服务的调度、发现、监控、治理,相当于扩展。
而RPC是在1981年,卡耐基梅隆的计算机博士Bruce J. Nelson发明的技术。从那以后相继出现了CORBA, Java RMI, XML-RPC, SOA等各种技术,Dubbo和他们一脉相承。
相比而已,Rayan Dahl发明的Node.js原创性更高,因为它成功地把JavaScript、异步IO、Http Server等技术组合起来,达成了把JavaScript搬到了服务器端的革命。
5
有人可能要说,你对中国的期待太高了,在计算机领域,除了美国以外,别的国家都不怎么样嘛。
这句话也不准确, 芬兰诞生了Linux , MySQL , 瑞典的爱立信发明了Erlang ,英国有ARM , 瑞士有Pascal。
以色列能发明ICQ,防火墙,荷兰人能发明Python, 日本能发明Ruby, 巴西能发明Lua 。
再说了,我们中国是个大国,我们的理想可不仅仅是那些小国能比拟的, 我们可不仅仅想在几个领域突破,而是要在各个领域,大范围地碾压。
我相信在中国应该有一位这样的天才程序员, 他也遇到了Rayan Dahl类似的业务场景,甚至想到了使用V8在服务器端运行JavaScrpt的方法,但是他整天被需求压得喘不过气来,业余时间被996榨干,回到家中,累得根本没有时间和精力去鼓捣的Node.js......
我也相信中国有很多天才的小孩,他们的脑海中充满着奇思妙想,就像信息论之父香农那样,特别擅长把两个不相干的领域拉扯到一起,激起思维的火花,只不过他们很难有机会去施展,因为从小学开始,他们的时间就要被大量重复的作业和各种培训班所占据,要想让他们自由发展,不走寻常路,家长将会背上很大的风险。
大学毕业,工作以后,这些天才又会被房子问题、医疗问题、孩子教育问题绊住,他们很难像Rayan Dahl那样自由生活,追随兴趣,不能去Think Different ,自然也很难做出原创性的发明和创造。
这种状况会持续多久呢,什么时候会改变呢
中国搞计算机语言肯定不成问题。关键是搞出来能不能引起关注,得到广泛应用。
JavaScrip 据说是某人花了一周时间写出来的。往好里说,作者是个牛人;往坏处说,就是个粗制滥造的东西。
每一个语言出来前就知道有人会用?你不搞出来咋知道没人用?好东西,难道人家不识货?西朝鲜这么大市场,那个高铁事件就很说明问题。
西朝鲜有能人,这个也不用否认。但是在这个大酱缸里面再多的能人都会泯然于众。计算机领域是个开放度很高的领域。如果真的有啥不错产品必然会被大家接受,这个不存在啥见不得人的壁垒。如果说这个语言是应用那个框架是应用的话那啥东西不是应用呢?科技难道不是在应用中才能体现出开发者的价值?或者,说这话的也可以出来介绍一下西朝鲜在非应用领域傲视全球的理论。
嘴炮和价值观就是西朝鲜(人)最大的症结所在!
对软件这个行业很多人都非常熟悉。从东京, 上海到这里,得出的结论就是西朝鲜的这些能人也就是纠结于那些细节,自己一亩三分地了。
全球化之前,各国工作人员用的是本国自己的技术,美国的技术世界第一,吊打全世界。
全球化以后呢,各国工作人员用的是全世界最好的技术,不一定非是本国的。突然之间,各国的竞争,从发明工具的能力,变成了大规模使用工具的能力。中国从此扶摇直上。
全球化可逆吗?资本主义国家,政客厉害,还是资本家厉害?很显然不可逆的。
所以土共可以笑到最后了。中国的运气来了,谁也挡不住。中国就是郭靖,傻不愣登,没人教武功啥都不行。突然之间武林秘籍交到手里了,练出来居然打遍天下。
不要说老美了,很多中国人都没意识到,美帝根本斗不过中国了。美国就是顶尖人才发明工具的人厉害,下面干活的人根本不行,如今干活全靠移民撑着呢。你以为波音把自控软件给三哥做图省钱嘛?它就是给美国公司做也得转包到印度去的。美国人干活的已经没几个了。比发明中国不行,比干活那可就是老大了。有了同样的工具,土共稳赢。 要想逆转全球化,使中国失去获得西方各种先进工具的渠道,那估计要再来一次世界大战才有可能。到那时中国被西方集体制裁,只好闭门造车,不知不觉又会回到六七十年代的老样子。那种可能性不大。土共不傻,自己说的,跟美国斗要“斗而不破”。只要还在全球化的体系内,还能得到美国的先进工具,超越美国是迟早的事。
新中國七十年,三十年河東,四十年河西,這十年胡來。
科學技術上,中國無原創。黨管一切,對中國的知識分子火烤水煮。把人的上三路全弄壞了。
所以在特定的场景或许可以做的很好,但是出不来新技术。比如阿里很骄傲的双11的数据处理能力,也只是把已有的技术结合在一起做了一些改进,并没有创造出任何革命性的东西。相反看美国人,搞虚拟机,然后再搞CONTAINER,在建立PaaS 技术,每一步都和扎实。因为很多人去创作这些思想。
美国在这方面,整个是空白
中国系统软件,首先要解决版权问题,否则没戏。要让有能力做的赚到钱,才可能升级换代加维护。
阿里当然是中国最牛的云服务公司,这是无容置疑的。但是依然没有创新。
这厮说的没错,但这是黄历了。你写的是什么代码?你又知道这个世界已不是从前了。