作者FlowerKnight (美少女花騎士)
看板Soft_Job
標題[討論] 2021年,Python在後端有什麼樣的優勢?
時間Sun Apr 18 17:59:33 2021
利申:不做Web,單純湊熱鬧
看到版上常常有大佬在討論Python找工的問題
有人說Python後端在台灣特別難找,在美國好找
我看了下知乎,中國貌似也不太推,大部分還是建議Java/Go
https://i.imgur.com/9RyoxW4.png 那麼我們把問題換一下
2021年,Python在後端語言有著什麼樣的優勢?
除了現有項目的維護以外,Python在新後端項目還能跟Java/Go競爭嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.228.152.206 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1618739976.A.571.html
→ askaleroux: 為什麼2021年還會有JAVA BACKEND ??? 配Scala 04/18 18:12
推 a12345x: python=潮 04/18 18:13
※ 編輯: FlowerKnight (61.228.152.206 臺灣), 04/18/2021 18:14:02
→ FlowerKnight: JVM上的東西統稱Java 04/18 18:19
推 ggggggh: ipython配shell在devops。天下無敵 04/18 18:28
→ zeroshine: 大什麼佬... 04/18 18:31
推 aidansky0989: 應該是跟Node或PHP比,在web方面都虐歪python 04/18 18:32
推 kkes0001: 後段用go才潮吧 04/18 18:35
→ zo6596001: 用python (X 04/18 18:43
→ zo6596001: 用 python Call C function (O 04/18 18:44
→ zo6596001: 繞了一大圈最後還是在寫C 04/18 18:46
→ MoonCode: 後端找工作用什麼語言很重要嗎? 04/18 18:48
推 parsons12342: 不好意思請問一下 所以在後端基本上Node.js 或 PHP 04/18 18:50
→ parsons12342: 會比python好是這樣嗎? 04/18 18:50
推 hegemon: PHP有點年紀的公司一堆在用...NodeJs這幾年在美國又紅起 04/18 18:59
→ hegemon: 來 04/18 18:59
→ neo5277: 簡單學 04/18 19:08
推 MacPerson: Django or DRF 在網頁後端的開發上,迅速且有一堆packa 04/18 19:20
→ MacPerson: ge支援,即使在高流量網站上也是有解 04/18 19:20
推 MacPerson: 只能說他的優勢是好用易學,學習曲線不高,容易達到精 04/18 19:24
→ MacPerson: 通等級 04/18 19:24
→ FlowerKnight: 所以市場飽和的話,可能會更傾向難學高效能的方案? 04/18 19:57
→ Hsins: 要說效能的話,在 fastapi 相關生態系豐富之後,其實不會差 04/18 19:58
→ Hsins: 到哪…台灣有多少網頁應用程式是真的很注重效能的嗎? 04/18 19:59
→ Hsins: 主要問題是篩選人才的難易度吧,因為媒體整天炒作跟一些教 04/18 20:01
→ Hsins: 育機構培訓出來的結果,一個說聲稱自己會寫 Python 的面試 04/18 20:02
→ Hsins: 者,距離寫出在業界能用的程式碼還有一段距離…加上動態型 04/18 20:03
→ Hsins: 別特性,即使在 3.7 之後加入 type hint 但還是不會像 Java 04/18 20:05
→ Hsins: /Go 檢查…既然這樣,那還是選 Java/Go 吧 04/18 20:06
→ ldkrsi: 歷史夠的後端語言都麻有高流量solution了 產品能不能承 04/18 20:08
→ ldkrsi: 受高流量和架構師和devops比較有關 語言沒什麼差了 04/18 20:09
推 alihue: 語言當然有差,可以用十台機器撐誰想用一百台 04/18 20:10
→ ldkrsi: 無腦寫還要有高效能的話py這種直譯語言是比不過編譯語言的 04/18 20:10
→ alihue: 你會想用 py 去寫 Hadoop, Cassandra, Zookeeper 膩 04/18 20:12
→ ldkrsi: 核心架構重構起來太貴的話很多公司會選機器開更多台啊 04/18 20:13
→ alihue: 如果後端有 data shards,加上 scale out,單台 node 效 04/18 20:14
→ alihue: 能可是會跟總 node 數有極大關係 04/18 20:14
推 del680202: 我倒想問問python開發後端的優勢在哪 整個效能根本不是 04/18 20:48
→ del680202: 一個量級的東西 04/18 20:48
推 newhandfun: 我也想知道,求更多說法 04/18 20:52
推 longlyeagle: 都用python後端了還在想效能? 04/18 20:54
推 longlyeagle: 用python後端基本上代表你有要跑tf或pytorch模型 04/18 20:56
→ longlyeagle: 而且懶得封裝 又沒有high request需求 04/18 20:57
推 samioplg: nodejs 效能還打的贏Java/go/.net core 嗎 04/18 21:04
→ HKCs: 開發快速吧 在你有離峰手段 或是整個project是面對內部時 04/18 21:26
→ HKCs: 根本不太需要考慮高流量 加上django內建一堆功能 04/18 21:26
推 jlhc: 開發速度, devops 要求的可能是強力自動化, 但我現在推go... 04/18 21:42
推 jlhc: python的長期維護是個悲劇 04/18 21:50
推 hegemon: 如果你的系統是B2B而且很多客製化又要長期維護...用蛇蛇 04/18 22:08
→ hegemon: 根本找死 04/18 22:08
推 roccqqck: go 04/18 22:46
推 MacPerson: python長期維護是個悲劇... 無法反駁... 04/19 00:06
推 Timba: 潮而已 C/C++ 學好來=.= 04/19 00:20
→ yoche2000: 開發速度 自動化 很多lib用 04/19 00:28
→ yoche2000: 但要搞大型系統在穩定性/維護上就得好好考慮了 04/19 00:29
→ yoche2000: 喔對 還有tf torch (其實就Lib好用 04/19 00:30
推 longlyeagle: 就我之前測試效能TF.js放node都跑得比python快 04/19 00:39
推 Raymond0710: 都改用Go/Rust了 04/19 01:43
噓 Lushen: 台灣 87% 場景不需要考慮效能問題 04/19 02:03
→ Lushen: 人口這麼少 Django 不要亂寫很夠用了好不好 = = 04/19 02:03
→ Lushen: 說沒有 performance 的 FastAPI 了解一下 04/19 02:04
→ Lushen: Python 快速出產品 了解市場反應 活下來才是真的 04/19 02:06
→ Lushen: 大部份新創老老實實出功能/找客戶吧 04/19 02:07
→ Lushen: QPS 都不到 500 在那邊戰語言 04/19 02:07
→ Lushen: 戰 Python 效能的公司量級先到 Quora/IG 等級吧 .. 04/19 02:09
噓 Lushen: 做工程不要這麼浮躁 好好把手上的武器學精倒是真的 .. 04/19 02:15
→ Lushen: 問題不在語言在人 很多人的經驗就是十個一年而已 .. 04/19 02:17
→ newhandfun: 論效能問題各大語言也都有人改寫底層加快速度 04/19 02:18
→ newhandfun: 這邊是問py有什麼”優勢” 04/19 02:18
→ newhandfun: 扯到營運手法就有點顧左右而言它的意味 04/19 02:20
噓 Lushen: Python+Django 好幹活/出功能快 就是優勢啊 .. 04/19 02:27
→ Lushen: 還有啦 後端基本上就是跟營運面綁在一起 04/19 02:36
→ Lushen: 公司都餓死了 你工程部門用的技術炫炮也沒用 04/19 02:37
→ tnfshjcc: 裡面提到熱門語言的三個要素: 1.killer app 2.exclusive 04/19 02:43
→ tnfshjcc: 3.frequent upgrade 04/19 02:43
→ tnfshjcc: 各自找出了例子應證了三個要素 04/19 02:44
→ tnfshjcc: 然後說明Python不完全是上述三個要素 04/19 02:44
→ tnfshjcc: Python的成功就是長遠積累的,緩慢成長的 04/19 02:45
推 tnfshjcc: 樓上有一個大大提到Quora,上個月剛面Quora沒過 04/19 02:48
→ tnfshjcc: 他們應該是用Java 至少配合Hadoop,Kafka的部分是Java 04/19 02:49
→ tnfshjcc: 然後他們是一個未滿兩百的小公司 大部份team是在東歐 04/19 02:50
推 taipoo: 免費使用就是最大優點了 04/19 03:35
推 ptta: 生態系吧,什麼包都有 04/19 06:57
推 alihue: QPS 500 也要看服務啊,500 交易跟 500 弱一致性網站是不 04/19 07:36
→ alihue: 同難度好嗎 04/19 07:36
噓 hegemon: 有蛇粉,很激動 04/19 07:58
推 hegemon: 一直講蛇蛇開發快速好像其他語言辦不到似的.....聽過Spri 04/19 08:06
→ hegemon: ng全家桶嗎? 04/19 08:06
→ hegemon: 真的要又快又穩生態系完整Spring全家桶不是更符合需求? 04/19 08:07
推 tnfshjcc: 在台灣的大大們很難理解美國python工作到處都是 04/19 08:27
推 hegemon: 很多蛇粉認為蛇蛇存在的很多優點是建立在對其他語言的生 04/19 08:32
→ hegemon: 態系完全無知的情況 04/19 08:32
→ ericrobin: 美國一堆低端文組在當碼農 跟台灣優質工程師不能比吧 04/19 08:33
→ newhandfun: 就是因為快速開發全家桶很常見 04/19 08:35
→ newhandfun: 才問python有什麼優勢啊 04/19 08:35
推 why8ther: py難維護 可是go我也覺得很難維護 看看那個if err過幾個 04/19 08:58
→ why8ther: 月就忘記那邊在幹嘛了 04/19 08:58
推 vi000246: python抄code方便啊 很多開源lib 04/19 09:03
→ vi000246: 但是只要其他語言有類似的lib 我就不會用python 04/19 09:04
推 tnfshjcc: 沒錯啦,美國真的是一堆低端文組 以為一天刷5hardLC就夠 04/19 09:10
→ tnfshjcc: 真正的SDE應該一天30hardLC 04/19 09:10
→ dnabossking: 從以上留言來看Py 所有優點,都能找到另一個語言都 04/19 09:21
→ dnabossking: 有,並至少多一個優點是py沒有的,如此看來,py 還 04/19 09:21
→ dnabossking: 真沒什麼優勢 04/19 09:21
→ newhandfun: tn大要不要試著把地區因素拿掉說個語言的優點呢? 04/19 09:26
→ f496328mm: python 優勢就是做資料科學 04/19 09:30
→ f496328mm: 現在哪家公司沒有做資料科學? 04/19 09:30
→ f496328mm: python 有 fastapi,效率也不差 04/19 09:31
→ f496328mm: 模型 train 完,直接開好 api 讓其他人接 04/19 09:32
→ f496328mm: python 剛開始紅,又不是因為後端效能好 04/19 09:32
→ f496328mm: 整個搞錯方向 04/19 09:33
→ f496328mm: 而且實務上,本來就不限一種語言 04/19 09:36
推 tnfshjcc: 地區因素就是台灣有問題 全世界慢慢爽爽用python 04/19 09:42
→ tnfshjcc: 就像f496328mm說的 python後端配合ML非常方便 04/19 09:44
→ tnfshjcc: 台灣根本沒有幾家在做DS/ML 都在做AI投影片 何必用Pytho 04/19 09:45
→ tnfshjcc: Java也是配合Hadoop/Kafka 也在這個領域是熱門語言 04/19 09:45
→ tnfshjcc: 就跟我分享的影片,從killer app角度去看 04/19 09:46
噓 hegemon: 在亞洲蛇蛇都是弱勢啦,所以整個亞洲都有問題,我家蛇蛇 04/19 09:47
→ hegemon: 很乖,不用都是你們有問題. 蛇粉好了啦 04/19 09:47
噓 tnfshjcc: 還以為你很懂新創 原來只是這個水準 04/19 09:48
推 timTan: 看徵人訊息就知道蝦皮ig 用python, 成功例子不是擺在那裡 04/19 10:11
→ timTan: 了嗎 04/19 10:11
噓 hegemon: 蝦皮找了一堆go的人...他們想幹嘛還看不出來嗎? 04/19 10:20
→ hegemon: 要嗆我先自己搞一家還活著的新創再來嗆我 04/19 10:20
噓 tnfshjcc: 好好好 Python超爛 明年就沒人要用了 04/19 10:31
噓 hegemon: 就是在新創經歷過堅持使用蛇蛇,後來維護成本巨大+找不到 04/19 10:50
→ hegemon: 配合B2B客戶需求的套件被客戶叫,才會出來勸世,要不然我 04/19 10:50
→ hegemon: 沒事得罪蛇粉做啥 04/19 10:50
→ hegemon: 你知道身為創始成員,看著公司堅持用蛇蛇繞遠路,花一堆 04/19 10:53
→ hegemon: 成本,心有多痛嗎? 04/19 10:53
推 newhandfun: 目前看起來真的就是tf而已了? 04/19 11:00
推 del680202: 想到日本某大家都愛的跳板企業 train了半天的圖像辨識 04/19 11:00
→ del680202: 上線serving api用C++ 改寫 數據科學python很強 但是這 04/19 11:00
→ del680202: 篇在講後端啊 04/19 11:00
推 Nonsense8: Fastapi讚讚讚 04/19 11:31
噓 tnfshjcc: 哇 Python真糟 毀掉了h大超棒的新創構想與經營團隊 04/19 12:23
→ tnfshjcc: 原來還有創業失敗怪語言的 真是大開我的眼界 04/19 12:24
推 mmonkeyboyy: 蛇蛇後端 oz 04/19 12:33
推 roccqqck: 別再用jvm了 新系統請大家跳go好嗎 04/19 13:50
推 roccqqck: 肥死了 記憶體怪獸 04/19 14:05
推 vi000246: 一開始新創用便宜、開發快的語言很正常 後期再轉用好維 04/19 14:16
→ vi000246: 護 效能好的語言 04/19 14:17
推 zxc25678: python 唯二好處:刷題快、ML一堆套件 04/19 14:59
推 zxc25678: 這兩點也造成一堆不求甚解 程度超差的工程師 04/19 15:01
推 alihue: JVM 吃記憶體有沒有想過是程式寫爛惹 04/19 15:49
推 min86615: 推一波fastspi香 04/19 16:19
推 Firstshadow: 逼比: python真的不錯 無敵的吧 04/19 16:23
推 deangood01: Pinterest後端整個都是用python flask的,台灣有多少 04/19 17:58
→ deangood01: 公司流量比他大? 04/19 17:58
→ OrzOGC: 我用java寫個hello world筆電風扇就快飛天了... 04/19 18:03
推 sam92260: 偶用 golang 寫分散式 供你參考 04/19 18:22
推 Lushen: 不求甚解都可以怪到語言上 .. 瞎 04/19 18:34
噓 hegemon: 如果你新創的系統是要B2B又要跟客戶的系統接,然後又要部 04/19 19:17
→ hegemon: 署在人家家裡...看看客戶願不願意讓你大規模更新吧....今 04/19 19:17
→ hegemon: 天用了幾個月突然說要上大型改版,看客戶會不會跟你拼命 04/19 19:17
→ hegemon: B2B的系統,尤其是要部署到人家家裡的通常沒有啥機會給你 04/19 19:19
→ hegemon: 先蛇蛇做個雛形再改了....客戶不願意跟你還是要回去照顧 04/19 19:19
→ hegemon: 蛇蛇 04/19 19:19
→ mirror0227: python 後端在台灣難找啊 職缺難找 04/19 19:50
→ perfects1988: ...討論到後來都變戰語言... 04/20 01:25
→ newhandfun: 論語言的優點不就是要比較語言 04/20 13:54
→ newhandfun: 而比較語言不就是要戰語言嗎? 04/20 13:54
→ WashFreeID: 一堆大流量普遍還是java ,Ig也是加不少檢查 讓py少一 04/20 14:09
→ WashFreeID: 些runtime error, 可能寫出來都不像python了。遇到高 04/20 14:09
→ WashFreeID: 流量 py營運應該是比java還困難。何必選py做後端呢 04/20 14:09
→ longlyeagle: NASA CV相關的後端也是python flask 04/20 16:52
推 Tenno081: 不是都說語言只是工具沒差嗎?怎好像不是那麼一回事? 04/20 18:28
→ superpandal: 一直也覺得py很腫 不過維護性是看人寫 事情開始糟 04/20 18:59
→ superpandal: 糕就從全都要開始 大而全的思想... 而非精練過的 04/20 18:59
→ superpandal: single file library 當然java更不用說了 一直以來 04/20 18:59
→ superpandal: 都很腫 只不過ide加成外加效能 一堆發明的新名詞 04/20 19:00
→ superpandal: 但也就是小而精組合也能夠達成的事情 說到腫開放 04/20 19:00
→ superpandal: 原始碼又不一定是開自己寫的最好的 個人的話寧願不開 04/20 19:00
→ superpandal: 源 不得不開源來獲得什麼個人無法理解 04/20 19:00
→ superpandal: 需求下語言們表現差不多就是語言只是工具 當然高性能 04/20 19:05
→ superpandal: 需求下這兩個底層有差當然是有差 04/20 19:05
→ superpandal: 很多語言都有人可以寫的很靈動 04/20 19:19
→ DrTech: 大流量網站,用python,所以這Python 好棒棒?這種話有人 04/20 19:49
→ DrTech: 信? 都是混合技術好嗎,用了python 也要架多層gateway 或 04/20 19:49
→ DrTech: nginx 等分散架構。外行人一堆。 04/20 19:49
→ DrTech: java 也是阿,流量大,你能只靠java 或 java 任何號稱高性 04/20 19:51
→ DrTech: 能的 web framework 撐? 搞笑吧。 04/20 19:51
→ DrTech: 真正在搞大流量網站,在戰語言,都不知道是落到那個低階等 04/20 19:52
→ DrTech: 級了。 04/20 19:52
→ DrTech: 不管是用 Python fastapi, 或 java vert.x ,都不是能扛 04/20 19:55
→ DrTech: 大流量,高性能網站的重點啦。 04/20 19:55
→ DrTech: 沒能力的人最愛戰語言。 04/20 19:56
→ superpandal: 單位機器能處理越多越好 當然你很有錢愛用什麼語言都 04/20 19:59
→ superpandal: 可以 戰語言還算是可以理解的 04/20 20:00
→ superpandal: 至於上面講的很多人都知道拉 04/20 20:00
→ f496328mm: 當然要處理高效能,機器開多一點,分散式做好 04/21 14:27
→ f496328mm: 架構設計好,跟語言關係不大 04/21 14:28
→ f496328mm: 最近玩了一下 go 的 fasthttp 04/21 14:29
→ f496328mm: 我原本是用 python 的 fastapi 04/21 14:29
→ f496328mm: 最後比了一下最單純的 hello world,做一下壓測 04/21 14:29
→ f496328mm: fasthttp 比 fastapi 效能好 50% 04/21 14:29
→ f496328mm: 之後流量大,可能會選用 go 04/21 14:30
→ f496328mm: 但做一些數據分析、處理上,還是會用 python 04/21 14:30
→ f496328mm: 可能中間墊一層吧 04/21 14:30
→ Hsins: 怎麼沒人問去年默默推出的 Ruby 3 04/21 14:59
推 hegemon: 整天只會想著開新機器才真的沒能力吧..一台機器能用其他 04/21 17:09
→ hegemon: 語言撐更多流量為啥不做?開發還沒比較慢. 蛇粉真的好了 04/21 17:09
→ hegemon: 啦,適才適所沒聽過嗎? 04/21 17:09
推 xoy232: 推8樓 用Python呼叫C跟C++才是正解 04/21 18:58
推 xoy232: 蛇蛇就開發快 套件及資源多 但是萬事靠別人… 效能也… 04/21 19:07
→ xoy232: 真的是適才適所 蛇蛇有它的極限 GIL… 04/21 19:09
推 rugia813: 怎麼好像連語言都變成信仰了,討論一下就吵起來 04/23 15:28