成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為什么我們不再發明編程語言了?

開發 前端
角為什么突然不長了?西紅柿為什么不好吃?園丁可能會換換土壤,可能會調整一下作物之間的距離,也有可能把豆角轉移到陽光充足的地方,或者少用些肥料?成功了!它們又開始茁壯成長了!

上個世紀,數百種編程語言被發明出來,但是進入21世紀,當我們都進入互聯網時代時,只剩那么寥寥幾個了。 

如果你翻一下TIOBE得編程語言排行榜,就會發現20年來,上躥下跳的就是那幾張老面孔:C , Java, Python ,C++ , C#, JavaScript......

圖片

80年代后期,平均每個月就會出現一種新語言,現在,平均每年出現一個就不錯了。 

我有點好奇,就去扒了扒其他編程語言的出現時間,把他們分成了分為中生代、新生代和 老年代。 

先看中生代的家伙們,20多歲,30出頭,正是編程的中堅力量。

  • Python : 1991
  • Visual Basic :  1991
  • PHP : 1995
  • Ruby : 1995
  • Java : 1995
  • JavaScript : 1995
  • C# : 2000

(1995年還真是神奇的一年啊,幾位大佬同時誕生。)

再看這些老前輩,尤其是C語言,老而彌堅,屹立50年不倒,把系統級編程吃得死死的。

  • Lisp : 1958
  • Pascal : 1970
  • C : 1972
  • Objective-C : 1984
  • C++ :1985
  • Object Pascal : 1986

新生代則活力無限, 鋒芒畢露,對老家伙們虎視眈眈。

  • Go : 2009
  • Rust : 2010
  • Kotlin : 2011
  • Elixir : 2011
  • Julia : 2012
  • TypeScript : 2012
  • Swift : 2014

新生代只是它們想挑戰中生代的地位,搶班奪權,希望渺茫。 

主要有這么幾個原因:

1.  編程范型沒有變化

還是老三樣:面向過程,面向對象, 函數式。 

在馮諾依曼架構下,恐怕也不會出現什么新的范型了吧。 

現在TIOBE排行前十的中生代語言完美涵蓋了這些范型,例如Java,剛誕生的時候支持面向對象,但是后來補上了函數式這一課。

像Python、JavaScript一開始就支持面向對象和函數式編程。

2. 開發領域

開發領域有桌面開發、Web開發、系統級軟件開發、后端開發,數據分析,人工智能等。 

中生代的編程語言不但這些領域看得死死的,還互相擴展,侵入對方的領地。 

其中最典型的就是JavaScript這個屌絲的逆襲,一開始不過是寄居在瀏覽器中的一個小語言,后來通過V8, Node.js竟然進入了后端,還用Electron蠶食桌面開發!

Python也是,本來用它寫點兒小工具,開發點兒小網站,后來竟然傍上了人工智能這個大款,從此發達了。

3. 生態系統

Java , Python, JavaScript,C , C#等經過這么些年的發展,哪個不是積累了海量的類庫,哪一個沒有龐大的生態系統?想動它們,沒有一場革命是絕對不行的。

新語言即使很好,但是看看那么多現有的代碼,誰敢輕易切換?

4. 時代的紅利

Java遇到了互聯網,Python遇到了大數據和AI, JavaScript遇到了前端開發, 時代的機遇讓它們爆炸式發展。 

Go的運氣不錯,遇到了云計算,強勢崛起。其他幾位想要出頭,那是相當難了。

我曾經悲觀地認為:主流的編程語言已經都被發明出來了! 

以后新出現的語言都是改進,改良,沒法鬧革命翻身了。 

舉個不恰當的比喻, C, Java, Python, JavaScript,C# , C++, PHP 就像現在的西方七國集團,牢牢占據著最大的市場,然后只要有新人冒出來,就會受到無情的打擊。就像現在中國想技術突破,被美國和西方不擇手段地打壓一樣。 

圖片圖片

但是也并不絕對,就像中國一定要向上突破一樣,我看到在系統編程領域,也有一個新星冉冉升起:Rust。

圖片圖片

Rust雖然沒有發明新東西,但是卻融合了多種語言的特性和多種編程泛型,它不但包含了上面說的三大編程范式,還集結了泛型、底層內存管理、所有權等特性,可以說是一個集大成者(這也恰恰是它學習曲線陡峭的原因)。

Rust是一門同時追求安全、并發和性能的現代系統級編程語言,有望挑戰C語言的地位。

當然,編程語言少,對程序員來說是好事,程序員可以少學一點東西,少掉幾根頭發。

最后再聊聊人工智能時代的編程問題,我在《天才程序員》中看到一個有趣的比喻,說普通的編程就像循規蹈矩的機械裝置,機器會一板一眼地去執行,程序員在邏輯的宮殿中穿行,沿著頭腦中的路線行走,一切都有章可循。

但是訓練神經網絡就完全不同,程序員和程序之間更像園丁與田園的關系。

圖片圖片

豆角為什么突然不長了?西紅柿為什么不好吃?園丁可能會換換土壤,可能會調整一下作物之間的距離,也有可能把豆角轉移到陽光充足的地方,或者少用些肥料?成功了!它們又開始茁壯成長了!

園藝技能的長進有賴于數之不盡的實驗和來之不易的經驗。很多新手園丁栽種的第一批作物要么長不好,要么就死了。但最終,經過不斷試錯(和借鑒同行的經驗),園丁們會積累更多知識,形成難以言傳的直覺,比如什么有效,什么無效。此時,如果你帶他們去新的田園,即便那里的土壤和光照條件完全不同,他們也可以很快弄清楚哪些作物更適合在此處栽種。

看到了吧,雖然編程技能必不可少,但是重點變成了收集數據,不斷訓練,不斷調整,然后“祈禱”程序奏效。

不知道這是程序員的幸運呢,還是不幸?

如需轉載,請通過作者微信公眾號coderising獲取授權。

責任編輯:武曉燕 來源: 碼農翻身
相關推薦

2022-12-12 07:30:59

編程語言架構

2016-09-27 21:25:08

Go語言Ken Thompso

2021-12-27 14:19:44

殺毒軟件病毒電腦安全

2018-05-30 14:49:51

編程語言API語法

2014-04-09 10:08:06

FacebookHack

2020-06-10 09:06:48

MongoDB架構高可用

2012-04-11 09:19:08

Haskell編程

2023-12-05 09:03:05

多核分布式

2021-03-26 06:00:37

編程語言CPU

2010-11-03 09:22:00

C語言

2021-03-25 16:01:11

編程語言CPU機器語言

2021-04-09 09:55:55

DockerGoLinux

2016-09-21 20:28:55

阿里巴巴IOE

2017-03-07 15:43:28

編程語言函數數據結構

2014-11-19 10:05:26

編程

2012-08-29 14:00:23

2021-08-02 15:30:07

編程語言Java自然語言

2014-07-02 09:56:33

2015-04-08 10:46:11

2019-11-20 10:39:35

iPhone緩存清理
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美女久久久久久久久 | 国产精品成av人在线视午夜片 | 午夜精品久久久久久久久久久久久 | 国产精品一区二区三区四区 | 一级片av| 免费视频一区二区 | 免费人成在线观看网站 | 2018国产精品 | 欧美成年人网站 | 欧美一区二区三区 | 欧美日韩精品久久久免费观看 | 亚洲成人免费在线观看 | 一区二区三区国产好 | 在线观看亚洲精品 | 精品无码久久久久久国产 | 欧美涩涩网| 狠狠色狠狠色综合系列 | 精品在线一区 | 伊人伊成久久人综合网站 | 羞羞的视频免费看 | 成人精品一区二区三区四区 | 国产色99精品9i | 三级黄色片在线观看 | 91精品久久久久久久久久 | 精品一区二区免费视频 | 射久久 | 久久网站黄 | 天天干 夜夜操 | 亚洲高清在线视频 | 日日摸日日碰夜夜爽2015电影 | 日韩在线小视频 | 国产一区二区 | 在线中文字幕第一页 | 欧美在线观看一区 | 国产精品综合一区二区 | 欧美 日韩 亚洲91麻豆精品 | 亚洲第一女人av | 欧美日韩不卡 | 久久9精品 | 日韩精品免费一区二区在线观看 | 日本一区二区高清视频 |