自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從CAP到編程語言的猜想

開發(fā) 開發(fā)工具
一句“PHP是世界上最好的語言”可能會引起一場又一場的激戰(zhàn),這句話仿佛成了一個“?!保约阂矡o法免俗,忍不住寫了一篇《PHP是最好的語言嗎》,但編程語言鄙視鏈的存在令很多人無休止的追問,這不應該只是一種程序員間的樂此不疲吧?!

TIBOE 有如期的發(fā)布了***的編程語言的排行榜,變化總是有的,這是今年3月的榜單:

關于編程語言的爭議總是有的,不論是各個論壇,微信群,QQ群,乃至知乎,Quara 等知名網(wǎng)站,總會有對各種編程語言的吐槽。一句“PHP是世界上***的語言”可能會引起一場又一場的激戰(zhàn),這句話仿佛成了一個“梗”,自己也無法免俗,忍不住寫了一篇《PHP是***的語言嗎》,但編程語言鄙視鏈的存在令很多人無休止的追問,這不應該只是一種程序員間的樂此不疲吧?!

在微服務中,數(shù)據(jù)庫的集成是一件不會令人愉悅的事,因為分布式系統(tǒng)CAP理論在起作用吧。

中生代的右軍有文章專門對CAP進行了論述。

  • Consistency(一致性),數(shù)據(jù)一致更新,所有數(shù)據(jù)變動都是同步的
  • Availability(可用性) 好的響應性能
  • Partition tolerance(分區(qū)容錯性) 可靠性

CAP 的核心思想是任何分布式系統(tǒng)只可同時滿足二點,沒法三者兼顧。

那么,由此類比到編程語言會是怎樣的情景呢?

是否可以對編程語言進行抽象呢? 而且抽象到3個維度呢?

根據(jù)自己所用過的編程語言的經(jīng)驗(35歲前曾經(jīng)每年學一門編程語言),仿佛可以把編程語言歸納到3個約束:Simple,Adaptive,Performance——SAP:

Simple 簡潔明快

  • 編程語言的讀與寫都容易理解,學習曲線平滑而且短
  • 結(jié)構緊湊,容易協(xié)作與維護
  • 擁有豐富的類庫,以及完善的參考手冊
  • 依賴少,部署同樣簡單

......

Adaptive 適用性強

  • 適用于多個應用領域,支持各種層次的抽象
  • 伸縮性好,增減依賴都很方便
  • 支持多種編程范式
  • 可編譯執(zhí)行,也可解釋執(zhí)行
  • 甚至可以定制派生的語言

......

Performace 性能高效

  • 不論使用IDE還是文本編輯器,代碼編寫都很快
  • 執(zhí)行速度快,充分利用CPU甚至GPU的能力
  • 編譯的速度同樣快,支持JIT
  • 故障定位的速度快,debug快捷精準

......

如果分成這樣3個屬性,會發(fā)現(xiàn)它們之間存在著內(nèi)在的矛盾,就像CAP那樣:

SA 是Python,Java,還是......?

AP 是C,C++, 還是 ......?

SP 難道是 匯編么,還是 ......?

CAP 給我們的啟示是 架構師不要將精力浪費在如何設計能滿足三者的***分布式系統(tǒng),而是應該進行取舍。

如果SAP 的猜想是成立的,那么給我們帶來怎樣的啟示呢?

會不會混合編程是一種必然呢?

沒有仔細閱讀過CAP的數(shù)學證明,也沒有努力想用數(shù)學的方法去證明SAP的成立,現(xiàn)在只是老碼農(nóng)的猜想,可能是一種錯誤或者遺憾吧。

回顧一下編程語言的歷史,獻上一張來自veracode.com的舊圖:

這是一張不太完整的編年史,而且下邊還有veracode的推廣。學習它,老碼農(nóng)嘗試溯源,視圖從其他的角度看編程語言。

【本文來自51CTO專欄作者“老曹”的原創(chuàng)文章,作者微信公眾號:喔家ArchiSelf,id:wrieless-com】

戳這里,看該作者更多好文

責任編輯:武曉燕 來源: 51CTO專欄
相關推薦

2023-01-01 14:22:17

2019-12-03 09:31:14

編程語言程序員Python

2011-01-04 17:08:10

匯編語言

2022-12-15 17:15:42

數(shù)據(jù)庫NoSQL

2021-12-12 18:15:06

Python并發(fā)編程

2020-08-18 10:20:50

Java 編程開發(fā)

2022-06-16 13:08:30

Combine響應式編程訂閱

2015-12-07 09:46:26

swift編程開源

2021-02-06 13:58:22

編程語言工業(yè)互聯(lián)網(wǎng)學習

2013-06-27 10:31:39

2024-05-13 10:54:39

UML系統(tǒng)SysML

2014-10-13 11:30:14

2023-01-04 11:04:32

2021-07-14 10:39:28

JqueryVue 編程

2021-08-12 18:48:31

響應式編程Bio

2011-11-16 09:00:39

編程語言

2024-08-16 14:10:00

程序員系統(tǒng)

2009-08-27 16:03:31

從c#到c++

2020-03-25 14:36:12

SQLNoSQL數(shù)據(jù)庫

2022-09-16 07:32:15

編程計算機命令
點贊
收藏

51CTO技術棧公眾號