成人免费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語言

2020-04-07 16:12:56

Go編程語言開發

2021-10-15 21:23:24

手機價格配置

2013-08-01 10:48:08

UI設計App

2012-11-13 10:27:45

PythonGo編程語言

2020-05-28 10:08:06

云計算Python編程語言

2018-11-06 21:30:44

jQuery前端API

2012-06-12 09:47:17

C語言

2020-09-04 15:34:07

C編程語言開發

2020-02-12 09:34:37

軟件微軟硬件

2024-02-05 21:48:25

VueReactHooks

2017-04-05 18:10:05

R語言開發Ross

2019-11-15 13:10:17

潘石屹Python語言

2023-09-17 23:01:39

Python編程語言

2018-01-17 14:00:32

開源基礎設施企業平臺
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产自产精品男人的天堂 | 日韩欧美字幕 | 四虎成人精品永久免费av九九 | 亚州精品天堂中文字幕 | av小说在线| 欧美日产国产成人免费图片 | 午夜丰满寂寞少妇精品 | 国产亚洲一区二区三区在线观看 | 色吊丝2288sds中文字幕 | h视频在线观看免费 | 久久精品视频网站 | 最近日韩中文字幕 | 91在线| 国产成人精品久久二区二区91 | 成人国产在线视频 | 国产一区二区在线播放 | 成人精品一区 | 国产精品毛片 | a成人| 国产99久久精品一区二区300 | 伊人成人免费视频 | 午夜精品久久久 | 福利网站导航 | 天天玩天天干天天操 | 日韩视频在线一区 | 国产一级片免费在线观看 | 中文亚洲视频 | 久久久91精品国产一区二区三区 | 久久一二区| 国产99视频精品免费播放照片 | 精品国产视频 | 韩日在线观看视频 | www.午夜 | 欧美色综合一区二区三区 | 91久久夜色 | 在线观看中文字幕 | 瑞克和莫蒂第五季在线观看 | 少妇特黄a一区二区三区88av | 中文字幕在线观 | 在线观看中文字幕一区二区 | 天天天天天操 |