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

為什么Python贏了,別的語言都干嘛去了?

企業動態
1995年,當Jim Hugunin 正在麻省理工學院和他的碩士論文“搏斗”時,他廣泛地使用了Matlab,因為在那篇論文中,他需要對實驗結果進行數據分析,和理論值比較。

 [[284968]]

人工智能時代,為什么Python大放異彩,別的語言都干嘛去了?

為什么不是使用者眾多的Java?也許是Java啰里啰唆,不如Python那么簡潔?

為什么不是Ruby? 和Python一樣簡潔,但是更加優雅。

為什么不是微軟大力支持的C#?

為什么不是C++? 嗯, 其實很多AI核心庫如TensorFlow就是C++寫的, Python更像個“殼”,但是別的語言怎么沒有成為“殼”呢?

先把這個疑問放下,看一個故事。

1

上個世紀90年代,一個叫Jim Hugunin的小伙子在俄勒岡州阿什蘭市的一個公園里玩雜耍,這時候他遇到了施樂PARC的科學家Pavel Curtis, Pavel告訴Jim,有一門叫做Python的語言,非常的酷,用Python編程就像用自然語言一樣,Python就像是可執行的偽代碼,當程序員想快速地分享想法時,使用Python最合適不過了。

這些話應該在Jim的腦海中扎下了根。

1995年,當Jim Hugunin 正在麻省理工學院和他的碩士論文“搏斗”時,他廣泛地使用了Matlab,因為在那篇論文中,他需要對實驗結果進行數據分析,和理論值比較。

Matlab在數據分析領域表現非常棒,但是一旦超出這個領域,就糟糕透頂。為了克服Matlab的缺點,Jim將C語言,Python和Matlab拼湊在一起,終于完成了論文。

Jim 受夠了Matlab,完成論文后,他就開始寫一個Python的擴展,以便像Matlab那樣自然地支持數據分析,同時又不犧牲Python作為一個通用編程語言的強大的功能。

這個Python擴展就是Numeric ,也就是大名鼎鼎的NumPy的前身。

NumPy,以及后來發展起來的SciPy、Matplotlab等, 共同構成了AI時代做應用編程的基礎。

Jim在當時為什么選擇了Python,而不是其他語言來開發數據分析的擴展呢? 這是一種巧合嗎?

首要的原因就是喜歡,“Python編程就像用自然語言一樣”。

其次當時可以選擇的語言也不多,C,C++這種“復雜”的語言肯定不合適, Java, JavaScript才剛剛誕生,Perl擅長的是字符串處理,Ruby是日本人發明的,估計影響力還在日本國內,Matz本人又忽視了社區和類庫的發展。

2

可是,NumPy是Python的擴展,難道別的語言如Ruby,Java就不能也寫個類似的類庫,和Python競爭嗎?

NumPy, SciPy被開發出來的時候,普通的做應用開發的程序員很少使用,它的主要用戶是大學的研究人員、學者和數據科學家,這些人并不是專業的開發人員,他們也不想成為專業的開發人員,他們只要能利用工具解決問題就行了。

由于Python簡潔易懂,并且有NumPy這樣的類庫,在數據分析和科學計算領域,積累起了大量的Python代碼。

假設你是一個研究生,你進實驗室的時候,你的師兄丟給你幾萬行沒有注釋的代碼,是使用Python的NumPy/SciPy做數值分析, 雖然你很討厭Python的語法,但是你會用你最喜歡的語言如Java/Ruby來重寫它們嗎?大概率不會吧。

先發優勢讓Python鎖定了數據科學領域的開發,當AI爆發的時候,Python扶搖直上,就吃盡了紅利,壟斷了市場,別的語言難以和它競爭。

3

總結一下,Python的簡潔易懂再加上早期在數據科學領域的先發優勢,讓它在AI時代獲勝,有偶然也有必然。

最后再來提一下Jim Hugunin,他完成了Python擴展Numeric , 把維護的工作交給了其他人,揮一揮衣袖,不帶走一片云彩。

在對Numeric做性能測試的時候,Jim比較了Python和其他很多語言, 他震驚地發現Java在一些簡單的數值運算上居然和C語言一樣快!于是他開始了一項工作,把Python移植到JVM, 這就是Jython。

后來他也加入了施樂PARC,在那里他又參與設計了著名的AOP庫AspectJ, 掀起了面向切面編程的熱潮。

2004加入微軟后,他又把Python移植到了.NET平臺,即IronPython。

這四項工作,完成任意一項,都足以在軟件發展史上寫下自己的名字,而Jim居然都完成了,真乃奇人也!

參考資料:

參考資料:

http://hugunin.net/story_of_jython.html

http://hugunin.net/papers/hugunin95numpy.html

https://en.wikipedia.org/wiki/Jim_Hugunin

https://www.revolvy.com/page/Jim-Hugunin

https://en.wikipedia.org/wiki/NumPy

 

https://www.quora.com/Why-didnt-Ruby-become-popular-for-data-science-like-Python-did

【本文為51CTO專欄作者“劉欣”的原創稿件,轉載請通過作者微信公眾號coderising獲取授權】

 

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

 

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

2019-07-03 14:47:43

程序員祼辭就業

2024-08-12 09:55:42

Redis二進制數據

2013-05-09 10:24:28

企業軟件軟件開發

2017-11-29 12:06:07

2024-06-24 07:58:00

2018-06-15 21:26:13

PythonCrystal語言

2021-10-15 21:23:24

手機價格配置

2020-04-07 16:12:56

Go編程語言開發

2013-08-01 10:48:08

UI設計App

2020-05-28 10:08:06

云計算Python編程語言

2012-11-13 10:27:45

PythonGo編程語言

2018-11-06 21:30:44

jQuery前端API

2020-02-12 09:34:37

軟件微軟硬件

2024-02-05 21:48:25

VueReactHooks

2012-06-12 09:47:17

C語言

2020-09-04 15:34:07

C編程語言開發

2017-04-05 18:10:05

R語言開發Ross

2019-11-15 13:10:17

潘石屹Python語言

2023-09-17 23:01:39

Python編程語言

2015-07-17 11:11:20

虛擬化基礎架構服務
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天天曰夜夜 | 一级无毛片 | 一区二区精品 | 国产成人99久久亚洲综合精品 | 国产激情91久久精品导航 | 久久亚洲国产精品日日av夜夜 | 久久免费精品 | 天天操夜夜骑 | 玖玖爱365| 中文字幕精品一区久久久久 | 国产国语精品 | 国产精品久久久久久久久久免费看 | 福利视频二区 | 东方伊人免费在线观看 | 日韩精品一区二区三区在线播放 | 天天视频成人 | www.色综合| 性高湖久久久久久久久3小时 | 日韩国产精品一区二区三区 | 一色一黄视频 | 日本精品一区二区三区在线观看视频 | 岛国av在线免费观看 | 九九热re | 精品成人佐山爱一区二区 | 精品在线 | 九九精品在线 | 亚洲精品视频一区二区三区 | 91九色网站| 一区二区三区av | 日韩av一区二区在线观看 | 国产一区二区三区在线免费 | 国产一二区在线 | 亚洲精品乱码久久久久久按摩 | 日本视频中文字幕 | 国产重口老太伦 | 91精品国产综合久久久亚洲 | 国产在线精品一区二区三区 | 中文一区 | 色一阁 | 欧美日韩久久精品 | 欧美久久久电影 |