Re: [請益] 請問Python在業界都用來寫什麼居多?

看板Soft_Job作者 (Terry)時間9年前 (2014/10/11 06:24), 編輯推噓6(6030)
留言36則, 12人參與, 最新討論串4/18 (看更多)
※ 引述《yauhh (喲)》之銘言: : ※ 引述《OoShiunoO (機機勳)》之銘言: : : 小弟剛接觸Python一個月,主要是用它的機器學習套件來作資料分析 : : 用了之後感覺是很好用的一種語言 : : 但是似乎有一種感覺,它不算是一種用來寫大型程式的語言 : : 感覺它好像是用來做小工作 小事情的一種語言 : : 所以小弟好奇,在業界,大家都是用Python來幹嘛比較多呢..? : 想延伸這個問題。你覺得什麼樣的語言才叫做「用來寫大型程式的語言」? : 以前只有 Fortran 的年代,只有 Algol60 的年代,小的,大的都用那個寫。 : 我想問這個問題,想法是,語言要呈現什麼樣的特徵,你會覺得它是個大器的東西。 : 至於執行的速度,應該要排除在語言的選擇之外。 : 看到前面的討論,都說 Python 寫很快但是有效能的狀況。 : 但是,我覺得這樣想是很偏的。 : 你來嘗試 Python ,不是因為考慮 C 的效能,但卻 : 可能是考慮到 C 語言本身是不是很好寫。 : 但是, Python 寫出來的東西 OK 了, : 後來在大量使用的時候遇到效能爆炸的情況時, : 為什麼卻沒有想想,在同樣要觸發效能爆炸的情況下,也許是大量資料或大量使用, : C 有多少比較好? : 也許只是你不知道如何去調整好 Python 的效能啊,是吧。 Script language 適合作驗證, 不適合作產品, 撐不起量. 正如作image processing 的,很多人愛用matlab, 但該不會有人拿它作產品吧? 更別說OpenCV拿來當底的(大陸就幹過了)一樣慢. 而處理大量(GB以上)資料以python 要快, 還望你來一篇教學一下. 以下轉來的(加了點修改) 我很喜歡用python,用python處理數據是家常便飯,從事的工作涉及nlp, 算法,推薦,數據挖掘,數據清洗,數據量級從幾十k到幾T不等,我來說說吧 百萬級別數據是小數據,python處理起來不成問題,python處理數據還是有些問題的 Python處理大數據的劣勢: 1. python線程有gil,通俗說就是多線程的時候只能在一個核上跑, 浪費了多核服務器。在一種常見的場景下是要命的:並發單元之 間有巨大的數據共享或者共用(例如大dict),多進程會導致內存吃緊 ,多線程則解決不了數據共享的問題,單獨的寫一個進程之間負責維護 讀寫這個數據不僅效率不高而且麻煩 2. python執行效率不高,在處理大數據的時候,效率不高,這是真的, pypy(一個jit的python解釋器,可以理解成腳本語言加速執行的東西)能 夠提高很大的速度(可以快10倍),但是pypy不支持很多python經典的包, 例如numpy 3. 絕大部分的大公司,用java處理大數據不管是環境也好,積累也好, 都會好很多 Python處理數據的優勢(不是處理大數據): 1. 異常快捷的開發速度,代碼量巨少 2. 豐富的數據處理包,不管正則也好,html解析啦,xml解析啦,用起來非常方便 3. 內部類型使用成本巨低,不需要額外怎麼操作(java,c++用個map都很費勁) 4. 公司中,很大量的數據處理工作工作是不需要面對非常大的數據的 5. 巨大的數據不是語言所能解決的,需要處理數據的框 架(hadoop, mpi。。。。)雖然小眾,但是python還是有 處理大數據的框架的,或者一些框架也支持python 6. 編碼問題處理起來太太太方便了 綜上所述: 1. python可以處理大數據 2. python處理大數據不一定是最優的選擇 3. python和其他語言(公司主推的方式)並行使用是非常不錯的選擇 4. 因為開發速度,你如果經常處理數據,而且喜歡linux終端,而且 經常處理不大的數據(100m一下),最好還是學一下python python數據處理的包: 1. 自帶正則包, 文本處理足夠了 2. cElementTree, lxml 默認的xml速度在數據量過大的情況下不足 3. beautifulsoup 處理html 4. hadoop(可以用python) 並行處理,支持python寫的map reduce,足夠了, 順便說一下阿里巴巴的odps,和hadoop一樣的東西,支持python寫的udf, 嵌入到sql語句中 5. numpy, scipy, scikit-learn 數值計算,數據挖掘 6. dpark(搬樓上的答案)類似hadoop一樣的東西 1,2,3,5是處理文本數據的利器(python不就處理文本數據方便嘛), 4,6是並行計算的框架(大數據處理的效率在於良好的分佈計算邏輯,而不是什麼語言) 暫時就這些,最好說一個方向,否則不知道處理什麼樣的數據也不好推薦包, 所以沒有頭緒從哪裡開始介紹這些包 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.230.120.230 ※ 文章網址: http://www.ptt.cc/bbs/Soft_Job/M.1412979844.A.A8D.html

10/11 08:32, , 1F
想知道為何國外或中國那邊在算fb,twitter等巨量分析都
10/11 08:32, 1F

10/11 08:32, , 2F
還是用python居多?那麼最好的選擇又是什麼?
10/11 08:32, 2F

10/11 09:23, , 3F
python + cpython?
10/11 09:23, 3F

10/11 10:04, , 4F
數據分析的東西, python只是皮, c++才是骨
10/11 10:04, 4F

10/11 10:06, , 5F
樓上說語言是皮真是太傻了,難道你說英語都是求皮毛工夫嗎
10/11 10:06, 5F

10/11 10:07, , 6F
一個語言是皮或是骨,都是看它應用的人、應用場合以及效用
10/11 10:07, 6F

10/11 10:07, , 7F
英語,在台灣的夜店,那就是屁話一堆。
10/11 10:07, 7F

10/11 10:08, , 8F
英語,用在外交辭令、商業合約以及職場e-mail,則是大器。
10/11 10:08, 8F

10/11 10:24, , 10F
這是最近預測廣告點擊比賽,釋出的原始碼
10/11 10:24, 10F

10/11 10:25, , 11F
c++是拿來實作核心演算法, python再拿來包外層
10/11 10:25, 11F

10/11 10:30, , 12F
備註一下, 上面的原始碼的團隊拿到這次比賽的冠軍
10/11 10:30, 12F

10/11 10:31, , 13F
而導致他們能拿到冠軍的奧秘, 除了知識之外, c++實作力很
10/11 10:31, 13F

10/11 10:32, , 14F
更正: c++的部分才是奪冠關鍵。至於python的部分則偏向在
10/11 10:32, 14F

10/11 10:33, , 15F
使用的方便性。現在類似的手法很常見: 核心用c++, 使用用
10/11 10:33, 15F

10/11 10:33, , 16F
python。這樣就能結合兩種工具的長處。
10/11 10:33, 16F

10/11 10:37, , 17F
腳本+編譯語言並用能兼顧效率跟彈性,Lua幾乎也都這樣玩
10/11 10:37, 17F

10/11 10:54, , 18F
如果單純拿來寫 REST API,不曉得效能會差多少呢,有很多
10/11 10:54, 18F

10/11 10:54, , 19F
公司這樣用嗎?
10/11 10:54, 19F

10/11 11:13, , 20F
有,我們以前有這樣用.伺服器計算量少 大多在等DB寫入
10/11 11:13, 20F

10/11 11:16, , 21F
像開心農場那種,瓶頸多在DB架構跟寫入,server計算量不大
10/11 11:16, 21F

10/11 11:31, , 22F
原po好像都在讀對岸的書 ?
10/11 11:31, 22F

10/11 12:09, , 23F
如果產品的內容是大數據分析 python的確不適合 但又不是只
10/11 12:09, 23F

10/11 12:10, , 24F
有一種產品XD 另外 就算python不能做大數據的core
10/11 12:10, 24F

10/11 12:10, , 25F
peripheral 的使用還是比比皆是
10/11 12:10, 25F

10/11 15:02, , 26F
其實對大多數programmer來說,大數據不是issue
10/11 15:02, 26F

10/11 15:04, , 27F
某年中研院辦的big data forum中,google的speaker
10/11 15:04, 27F

10/11 15:04, , 28F
建議大家注重big value, 而不是big data
10/11 15:04, 28F

10/11 15:09, , 29F
找尋價值比較需要快速的programming, 這是python的強項
10/11 15:09, 29F

10/11 15:19, , 30F
十來年前,滿街都PERL, PYTHON不知在幹嘛, 現在古狗
10/11 15:19, 30F

10/11 15:20, , 31F
PROMOTE 一下,就變成滿街PYTHON,PERL不知去哪.
10/11 15:20, 31F

10/11 15:21, , 32F
要快速programming,當然是找script language.
10/11 15:21, 32F

10/12 02:30, , 33F
perl寫出來的東西太不美觀 python看起來比較乾淨舒爽
10/12 02:30, 33F

10/12 07:11, , 34F
PERL寫完隔天只有上帝懂你在寫啥
10/12 07:11, 34F

10/12 18:01, , 35F
只有我覺得英語在夜店可以釣到 CCR 嗎...(離題
10/12 18:01, 35F

10/13 10:59, , 36F
這麼慘,哪PERL當年在紅什麼?原來當年的都是上帝?
10/13 10:59, 36F
文章代碼(AID): #1KE5o4gD (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
以下文章回應了本文 (最舊先):
完整討論串 (本文為第 4 之 18 篇):
文章代碼(AID): #1KE5o4gD (Soft_Job)