从CAP 到编程语言的猜想

简介: 版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/61912260 TIBOE 有如期的发布了最新的编程语言的排行榜,变化总是有的,这是今年3月的榜单:关于编程语言的争议总是有的,不论是各个论坛,微信群,QQ群,乃至知乎,Quara 等知名网站,总会有对各种编程语言的吐槽。
版权声明:本文为半吊子子全栈工匠(wireless_com,同公众号)原创文章,未经允许不得转载。 https://blog.csdn.net/wireless_com/article/details/61912260

TIBOE 有如期的发布了最新的编程语言的排行榜,变化总是有的,这是今年3月的榜单:

这里写图片描述

关于编程语言的争议总是有的,不论是各个论坛,微信群,QQ群,乃至知乎,Quara 等知名网站,总会有对各种编程语言的吐槽。一句“PHP是世界上最好的语言”可能会引起一场又一场的激战,这就话仿佛成了一个“梗”,我自己也忍不住写了一篇《PHP是最好的语言吗》,但编程语言的鄙视链令很多人无休止的追问,这不应该只是一种程序员间的乐此不疲吧?!

在微服务中,数据库的集成是一件不会令人愉悦的事,因为分布式系统CAP理论在起作用吧。
这里写图片描述

  • Consistency(一致性),数据一致更新,所有数据变动都是同步的
  • Availability(可用性) 好的响应性能
  • Partition tolerance(分区容错性) 可靠性

CAP 的核心思想是任何分布式系统只可同时满足二点,没法三者兼顾。

由此,类比到编程语言会是怎样的情景呢?

是否可以对编程语言进行抽象呢? 而且抽象到3个维度呢?

根据自己所用过的编程语言的经验(35岁前曾经每年学一门编程语言),仿佛可以把编程语言归纳到3个约束SAP:

Simple 简洁明快

  • 编程语言的读与写都容易理解,学习曲线平滑而且短
  • 结构紧凑,容易协作与维护
  • 拥有丰富的类库,以及完善的参考手册
  • 依赖少,部署同样简单
  • ……

Adaptive 适用性强

  • 适用于多个应用领域,支持各种层次的抽象
  • 伸缩性好,增减依赖都很方便
  • 支持多种编程范式
  • 可编译执行,也可解释执行
  • 甚至可以定制派生的语言
  • ……

Performace 性能高效

  • 不论使用IDE还是文本编辑器,代码编写都很快
  • 执行速度快,充分利用CPU甚至GPU的能力
  • 编译的速度同样快,支持JIT
  • 故障定位的速度快,debug快捷精准
  • ……

如果分成这样3个约束,会发现它们之间存在着内在的矛盾,就像CAP那样:

这里写图片描述

SA 是Python,Java,还是……?

AP 是C,C++, 还是 ……?

SP 难道是 汇编么,还是 ……?

CAP 给我们的启示是 架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。

如果SAP 的猜想是成立的,那么给我们带来怎样的启示呢? 会不会是混合编程是一种必然呢? 没有仔细阅读CAP的数学证明,也没有努力想用数学的方法去证明SAP的成立,现在只是老码农的猜想,可能是一种遗憾吧。

回顾一下编程语言的历史,献上一张来自veracode.com的旧图:

这里写图片描述
这是一张不太完整的编年史。老码农总尝试溯源,视图从其他的角度看编程语言。

那为什么会将编程语言划分为S,A,P三类而不是别的什么呢?

因为老码农对编程的理解是软件的时空与人的关系。

软件时空与人的关系是形而上而务虚么?

老码农还没有那个本领,如果想知道老码农如何思考软件时空与人,以及全栈与全栈团队,请关注:

这里写图片描述

或者在嘉年华之后,见字如面,只是没有了现场的那个朗读者。

目录
相关文章
|
4月前
简述CAP理论,BASE理论
简述CAP理论,BASE理论
20 0
CAP 理论 —最通俗易懂的解释
CAP 理论是分布式系统的一个基础理论,它描述了任何一个分布式系统最多只能满足以下三个特性中的两个: 1:一致性(Consistency) 2:可用性(Availability) 3:分区容错性(Partition tolerance) CAP 理论听起来十分抽象,本文尝试以生活中的例子并用通俗易懂的语言来解释 CAP 理论的含义。
2070 0
|
9天前
|
Nacos
分布式理论:CAP理论 BASE理论
分布式理论:CAP理论 BASE理论
16 2
|
10月前
什么是CAP理论?
什么是CAP理论?
83 0
|
10月前
|
Java 关系型数据库 大数据
简述 CAP 定理【重要】
简述 CAP 定理【重要】
49 0
|
存储 分布式计算 NoSQL
谈谈从CAP定理到Lambda架构的演化
CAP 定理指出数据库不能同时保证一致性、可用性和分区容错性。但是我们不能牺牲分区容错性,因此必须在可用性和一致性之间做出权衡。管理这种权衡是 NoSQL 运行的核心焦点。
谈谈从CAP定理到Lambda架构的演化
|
Go 数据库
对CAP理论的理解
对CAP理论的理解
127 0
对CAP理论的理解
|
分布式计算 Dubbo NoSQL
|
分布式计算 Dubbo NoSQL
|
存储 缓存 NoSQL