運維新手們,別再問需不需要學PYTHON了
經常有人在群裡問,運維人員需不需要學開發?需不需要學 PYTHON ? PYTHON 和 SHELL 有什麼區別?天天問這種好水的問題,我實在受不了,決定幫大家掃掃盲,求求新手們,以後別他媽瞎問了。 現階段,掌握一門開發語言已經成為高階的必備計能,不會開發,你就不能充分理解你們系統的業務流程,你就不能幫助除錯、最佳化開發人開發的程式, 開發人員有的時候很少關注效能的問題,這些問題就得運維人員來做,一個業務上線了,導致 CPU 使用過高,記憶體佔用過大,如果你不會開發,你可能只能查到程式級別,也就是哪個程式佔用這麼多,然後呢?然後就交給開發人員處理了,這樣咋體現你的價值? 另外,大一點的公司,伺服器都上幾百,上千,甚至數萬臺,這種情況下怎樣做自動化運維?用 SHELL 寫指令碼 FOR 迴圈?呵呵,歇了吧, SHELL 也就適合簡單的系統管理工作。到複雜的自動化任務還得要用專門的開發語言。你可能說了,自動化管理有專門的開源軟體\監控也有,直接拿來用下就好了,但是現有的開源軟體如 puppet\saltstack\zabbix\nagio 多為通用的軟體,不可能完全適用你公司的所有需求,當你需要做定製、做二次開發的時候,你咋辦?找開發部門?開發部門不懂運維的實際,寫出來的東西爛爛不能用,這活最後還得交給運維開發人員來做。 其次,不會運維開發,你就不能自己寫運維平臺\複雜的運維工具,一切要藉助於找一些開源軟體拼拼湊湊,如果是這樣,那就請不要抱怨你的工資低,你的工作不受重視了。 為什麼要學 PYTHON ? PYTHON 第一是個非常牛 B 的, 能滿足絕大部分自動化運維的需求,又能做後端 C/S 架構,又能用 WEB 框架快速開發出高大上的 WEB 介面,只有當你自已有能力做出一套運維自動化系統的時候,你的價值才體現出來,你才有資格跟老闆談重視, 否則,還是老老實實回去裝機器吧。 運維開發為什麼要用 PYTHON ? Good question, 為什麼不用 PHP , JAVA , C++ , RUBY ,這裡我只能說,見人見智, 如果你碰巧已經掌握了除 PYTHON 之外的其它語言,那你愛用啥用啥,如果你是一個連 SHELL 都還沒寫明白的新手,想學個語言的話,請用 PYTHON , 為什麼呢?首先, PHP 是跟 PYTHON 比的最多的,其實他倆根本就不用比,為什麼呢?兩個語言適用性不同, PHP 主要適用於 WEB 開發,可以迅速的做出中小型,輕量級的 WEB 網站,但後端嘛,基本還是要藉助其它語言, 藉助什麼語言呢? SHELL ? PYTHON ?呵呵。 而 PYTHON 呢, 是個綜合語言, 前後端都可以,單拿出來比 WEB ,也一點不比 PHP 差,但為什麼WEB方向上 PHP 比 PYTHON 要火? 先入為主嘛, PHP 90 年代誕生就是做 WEB 的, PYTHON2000 年後才出現 WEB 框架,但論優秀程度上, PYTHON 的 WEB 框架基本上出其無左,至少是跟 PHP 比。 那 JAVA 呢?好吧,一個臃腫\中庸\豪無新意的語言,還是老老實實用它來做 ERP 吧,搞個運維小平臺,用 JAVA 真心沒啥必要,在我看來, JAVA 就是穩定的中年男人,穩定\成熟\禿頂,而 PYTOHN 代表的就是青春, 簡潔\快\乾淨\帥! C++ \ C ,這個嘛,我只能說,如果你會了 PYTHON, 又會 C 的話,那你會更吃香,但是不會 C 的話,其實也無大礙,基本上做運維的人,搞搞 C 就是為了來裝 B 的,因為多數情況下你都到不了看系統底層原始碼的程度。 RUBY ,小日本開發的,還不錯,風格跟 PYTHON 有點像,因為 ruby onrails 出了名,國外用的比較多,國內,放心吧,沒戲, PYTHON 已經把它的想象空間都佔死了。 當然還有新的語言 GO , 有些搞運維的看見做開發的人員搞 GO ,也想湊熱鬧,覺得是未來,我想說,別瞎沒事跟風, GO 再成功,也不會變成運維開發語言。 有些人覺得 PYTHON 效率底,說他不能支援多執行緒, OH ,好吧,這個還有點說對了,但是我想問,看我這篇文章的有幾個做過搜尋引擎開發?有幾個做個上億 PV 的併發網站開發? 有幾個看過 LINUX 核心原始碼?如果沒有,請別瞎跟著傳了,知道 PYTHON 為什麼不支援多執行緒嗎?這句話問錯了,其實 PYTHON 支援多執行緒,只是不支援多 CPU 多執行緒,也就是一個程式 spawn 出來的多執行緒只能佔用一個 CPU ,但是為什麼呢?噢,因為 GIL , GIL 是什麼東東,請自行補腦。。。但是你非得用多執行緒嗎?你可以用多程式呀,再牛 B 你還可以用協程呀,這些 PYTOHN 支援的都很好呀,如果你的程式邏輯不好,搞個多執行緒也快不起來。我認識一個博士講過一句話,我覺得不錯,他說,程式效率高低, 80% 都是寫程式的人決定了,語言本身就佔 20% ,所以下次有人再說 PYTHON 效率低的時候,請讓他先回去自己檢查下自己的程式多了多少無用的邏輯、迴圈等等。 這個博士自己用 PYTHON 寫的 WEB 程式,一臺伺服器每天能處理上億請求,一秒併發近兩萬, 什麼 WEB 框架這麼牛 B ? 別問它是誰, 它叫 tornado 。 PYTHON 能否自學? 當然可以,什麼都可以自學,前提是你得能學得會,見過 N 多菜鳥踏上上自學的不歸路,他媽的什麼都能自學的話,還用大學幹什麼?自己在家鱉不就行了?動不動就說 PYTHON 是個,自己看看就不會了,說這話的只可能有兩種人,一種是高手,一種是 SB ,對於高手來講,他肯定已經會其它語言, PYTHON 在這種情況下,自學當然就很容易學會,幾年前我剛接觸 PYTHON 時,程式碼遇到問題,找了個開發的哥們幫除錯,哥們幫調了十幾分鍾就搞定了,結果人家以前一句 PYTHON 程式碼也沒寫過,為什麼,因為語言都有相通之處,一門掌握好了,其它門自己學學就會了。但對於新手來講,沒任何語言基礎就開始自學,那麼恭喜你,菜鳥們見此文章為證,從今天開始自學,一年後,你要是能自己做出個軟體來,來找我要一千塊錢。 哈哈,真的。 基本上自學是屬於專業人員乾的事情,就像會一門樂器了,自己學下就可能學會另一門,但我之前沒音樂基礎,跟著老師都沒把吉它學會。 所以奉勸沒基礎又想學 PYTHON 的同學,花點錢去報個班學吧,拿錢換時間,時間是生命,錢沒了可再掙錢,時間過去了就再也不會回來,如果你不信邪,非要自己學,那我佩服你的勇氣,不過自己試試就知道了。 說了這麼多,只想告訴那些迷茫不知所措該學什麼語言的新手們, 在你還沒學好走路的時候,不要老想著,將來我當上老闆了,我是開呢?還是開賓士呢?先學會騎腳踏車吧。。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-2123997/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux運維新手如何高效的提問?學習linuxLinux運維
- 有python基礎學大資料還需不需要學java?Python大資料Java
- 面試別再問我String了面試
- 我們不需要字串型別字串型別
- 拜託,面試別再問我TopK了!!!面試TopK
- 拜託,面試別再問我JVM了!!!面試JVM
- 自從有了阿里雲就不需要雲端計算運維工程師了?阿里運維工程師
- 學習UI設計需不需要天賦?UI
- 拜託,面試別再問我堆(排序)了!面試排序
- 別再學習了,開始應用吧!
- 為什麼運維要學Python?它們之間有什麼聯絡?運維Python
- 拜託,面試別再問我計數排序了!!!面試排序
- Linux系統從新手到運維老鳥學習指南Linux運維
- Linux運維新手如何快速入門?Linux學習方法Linux運維
- 孩子要學Python了,別慌,它們或對你有幫助Python
- js到底需不需要寫分號(;), 我被坑了,該長記性了JS
- 求求你們,別再刷 Star 了!這跟“愛國”沒關係!
- 2020年了,別再重複學習原型了原型
- 面試被問爛的 Spring IOC(求求你別再問了)面試Spring
- 小白學習java到底需不需要不求甚解?Java
- 你的面試有問題,別再錯過天才了!面試
- 做運維前 vs 做運維後,太形象了!運維
- 別再說Python沒有列舉型別了,好好看看Python型別
- Python獲取英雄聯盟皮膚原畫:新手玩家們都懵了!Python
- 架構師,別再扯淡了!架構
- 拜託!別再問我多執行緒的這些問題了執行緒
- 別跟風了!你的公司根本不需要資料科學家資料科學
- 求你了,再問你Java記憶體模型的時候別再給我講堆疊方法區了…Java記憶體模型
- 網工需不需要學習Linux聽聽我的心得Linux
- 小白學python遇到問題了.......Python
- Python運算子有哪些型別?Python學習Python型別
- 求求你們不要再問HashMap原理了....HashMap
- 【Python】神器:Streamlit,僅使用Python開發一個運維管理後臺(不需要編寫html,js,css)Python運維HTMLJSCSS
- Python 運維總結Python運維
- 運維人員如何學習python程式設計運維Python程式設計
- 你們不要再吵了! Java只有值傳遞..Java
- 怎麼學習雲端計算?雲端計算運維和傳統運維有何區別?運維
- 網路運維和網路安全運維有什麼區別?學哪個比較好?運維