27歲想轉python,是否值得?

現在在做PHP開發,雖然這是世界上最好的語言,但是最近喜歡上了Python,從長遠看,是否值得?請從學習曲線和就業方面分析下,非常感謝大家!


講真的,每一次看到類似的問題我都非常的不能理解。為什麼有個程序員會用語言作為自己職業的劃分或者說邊界呢?程序員的分類不應該是按照技術領域來的么?你可以說你是 Android 程序員、iOS 程序員,你可以說你是後台程序員、前端程序員、你可以說你是 AI 程序員、圖形學程序員。但是我無論如何也想像不出來 C++程序員、Java 程序員是個什麼職業?語言只是工具啊,換一門語言根本就不是什麼需要糾結的東西。如果你覺得切換一門語言很難,只能說明你編程語言的知識還沒有學到家,或者年紀大了記性不好=。=你需要補充的是基礎知識。

這裡有一位前輩,1997年開始寫程序,根正苗紅的40歲中老年程序猿。我們來看看他的職業生涯:他的第一份工作是在一台奔騰 II 的伺服器上寫ASP。第一門編程語言是 VBScript(現在許多新手可能都沒聽說過)。前端也會寫一點 JavaScript。在之後的6776天里,這位前輩用過的「技術」有 VBScript, JavaScript, Linux, SQL, HTML, Makefiles, Node.js, CSS, XML, .NET, YAML, Podfiles, JSON, Markdown, PHP, Windows, Doxygen, C#, Visual Basic, Visual Basic.NET, Java, Socket.io, Ruby, unit tests, Python, shell scripts, C++, Objective-C, batch files, 以及最近的 Swift。20年里經歷了無數技術流行「趨勢」:

In 1997 it was CORBA RUP.

In 2000 it was SOAP XML.

In 2003 it was Model Driven Architecture and Software Factories.

In 2006 it was Semantic Web and OLPC.

In 2009 it was Augmented Reality. (對,你沒看錯,09年增強現實)

In 2012 it was Big Data.

In 2015… Virtual Reality? Bots?

就業前景是什麼?能吃嗎?有這時間你還不如看看技術史。同時,你覺得這位前輩是什麼程序猿?VBScript 程序猿?還是 Python 程序猿?他在微軟系的技術棧里幹了10年,又在蘋果的技術棧里幹了9年。大致是互聯網前端轉移動開發的路線。如果他每次接觸新的技術都要向你一樣糾結半天,估計在 VBScript 大勢已去的時候職業生涯早就終結了。 有種東西叫做技術儲備,既然感興趣就去學學,也許這會花費一些時間,但是長遠來看,並沒有什麼壞處。不過是一門語言而已,又不是寫了10年遊戲前台突然要改去做伺服器端分散式開發,沒什麼好糾結的。


從短期經濟利益來看,如果放棄PHP的工作轉投Python,雖然起薪可能高一點,但是工作更難找了是真。其次目前國內廣泛使用Python的領域基本都不是靠Python本身掙錢。PHP則更傾向於依賴PHP自身做碼工。

從實際上來看,Python簡單的語法與自洽的邏輯概念讓你在有任何一門OO語言的基礎的前提下只需要花寥寥數天就能用之幹活,結合之前所說Python職位大都不依賴Python知識為主的特點,這讓一個有基礎的人轉Python的時間成本低到可以忽略。

所以學Python挺好。為了學Python而「放棄」啥玩意……完全不至於。

——————————————————————————————————

話又說回來,Py寫多了,確實不想碰PHP;PHP寫多了,確實想辭職……


能問出這樣的問題,還是別轉了。

——這是覺得學多一門語言有多難?


我41歲開始學python,放棄了用了十幾年的C和C#

因為我創業了,養不起大團隊。語言對絕大多數程序員來說只是工具,不幸很多程序員把它們當成了信仰


喜歡什麼就試試什麼,反正最後你會發現都差不多

編程的核心從來不在語法

就好比你想當作家,用哪種語言寫作重要麼?也許有點重要,但是絕對不是最重要的,一個好作家你讓他用外語寫作,他學一段時間,翻著字典也比一個用慣了這種語言但是文學修養很差的人寫的好(雖然可能會有點文法不通)

編程的本質類似於作曲,至於你用鋼琴還是吉它(當然吉它比鋼琴容易,但是表現力差一些),並不是那麼重要


1、見過很多自稱是Java 程序員,C++,PHP程序員,搞不定Python,唯一的原因是編程還沒有學會(解決問題的方法沒有學會)。學習了很多語法而已。

2、語言只是工具,關註解決問題。

3、程序員一直需要學習,掌握多門編程語法是必須的。學習當然有好處。

4、很多人特別關注結果,不特別關注過程。過程中付出了努力,結果自然就來了。


27歲問這個。。。還是別轉語言了,轉行吧


程序員的人才市場因為某些原因,有很大一部分是以編程語言來劃分的,甚至價格都有高低。程序員群體本身是供給方,現在還沒有強大到改變這個現狀。

但這個對於程序員本身的職業規劃而言是沒有多大參考意義的,對於程序員更重要的東西是基本功、領域知識,以及進一步的軟實力。不能把自己綁定到某個編程語言上——就算你提高編程語言方面內的能力,其實也是在我說的這三個方向發展的。

當然如果是初學者,還是先熟練一門編程語言再說別的。

最後也期待市場能夠改善變得成熟,對程序員這個群體有更合適的劃分規則,從而少一些一年經驗重複八年的資深『某語言』高級工程師。


我不是程序員,我是會計。

我工作上用的最多的是VBA,從完全零基礎到看幫助文檔寫出一個程序,用了一個月。

(回憶了一下,當時大概也是27歲左右)

變數的類型 比如integer,double ,long這種,我就折騰了3天才大概理解 。

漸漸的,寫的東西越來越多 ,功能也開始高級。

我知道了正則表達式,還有array數組等一些稍微深入的知識。

也不再滿足for next,if then,loop 這樣的循環運用。

後來我也用過一些vbs,javascript,ahk,php,python...來針對各種問題找到最好的解決方法。

一般遇到問題,大概花個幾天左右,翻一下書還有案例(網盤搜索,一堆免費的PDF),就可以快速掌握語法能寫一些東西出來。

不懂就百度。基本都可以解決。

Python寫爬蟲,抓取各種資源,做數據分析非常好用。

語言就是一個工具,貌似核心競爭力不應該是看我掌握什麼工具。

不然為什麼老會計算盤打的再好,當代職場也沒有用武之地了。。。


之前一直做c/c++的工作,因為業務需要,要用python做,花了3個小時看完資料無障礙上手,回頭又花了2天時間把源碼看完,心裡就有底氣了。

所以什麼時候dou不晚,也不費事。


人生苦短…


沒有工作任務的驅使,有點難,除非你真的想學


學一門語言最好的時間是在你十年前,其次是現在


我是今年從php轉的Python,24歲,因為喜歡,現在用Python做爬蟲和清洗。

學習曲線:工作上用的,學,空閑時,系統的學習基礎。

就業的話:成都缺Python,無論做web還是數據,都比較吃香。工資比php高。

個人看法:做web的話,還是php爽,搞數據的話,還是Python爽,再加上你喜歡,那就更爽了。有句話叫:雖然我會拍黃片(php),但是我更喜歡屁眼(py)交易啊!!!

目前為止,我覺得我編程最酷的是,爬蟲:所見即所得。


21世紀什麼語言都要掌握。

一個卓越的程序員熟悉一門新語言的時間不應該超過三天。

這是程序員基因裡面應該有的本能。


28歲程序員,後台寫過PHP、JAVA、.net(C#)、nodejs(javascript)。

python的話,自學過、會寫爬蟲,公司一些爬取價格的簡單工具是我寫的。

學過但是從來沒在工作崗位用過的語言是ruby。

前幾天正好看過一篇專欄:知乎專欄,用爬蟲爬取拉鉤網數據。python的確工資很高,但是也要意識到python除了北京崗位很少這一條。

與此同時,我認為python之所以收入高,主要原因是python沒有被培訓機構染指,python招來的人可靠度要比php和java大得多。但是比較遺憾,現在培訓機構已經開始滲入python了,這種優勢不復存在。

如果單純的為了興趣,想學什麼都可以

如果單純的為了工作,就JAVA。

PS1:單位招聘來了個java,自稱北大青年學習兩年java,maven mirror不會設置、margin:0 auto不知道、資料庫可視化工具不知道、代碼寫的一泡污真是可以的。

PS2:話說ruby也有培訓,還挺貴來著,5萬元學費兩個月課程。做出來的一些作業和《Rails Tutorial》書上的案例沒啥太大區別,真是智商檢測。


在知乎看到類似的提問:

我今年25/26/27/28/29/30/31/32/33/34/35/36/37/38/39/40/41/42/43/44/45歲,想重新XXX/想轉YYY,晚不晚/值不值得?

這種問題不值一提,提問者猶豫太多,行動太少。

(除非想成為語言特性專家,想學Python並用於工作,一個優秀的程序員難道還需要超過一周時間?)


以語言劃分程序員有失偏頗,但基本上是夠得著領域的。

題主你與其說python,不如說學習大數據和機器學習,python庫天然的優勢,的確很合適,前提是能堅持學習新的領域知識,而不再是php後端那些知識了。負責任的說,可能遠遠超出你現有的知識框架,謹慎先了解一下python的適用領域。

php對應web領域

python對應機器學習

CXX對應系統開發和遊戲領域

Java對應企業和互聯網領域

每種語言都有新語言與其競爭,Rust競爭CXX,Go競爭Java。

題主,與其說切換主語言,不如先了解這門語言的優勢和所需的知識體系,即使來了新語言,也可以用知識體系構建新的基礎框架,比較有名的就是ZeroMQ。

Ps: 諸多回答噴題主的,一再標榜語言只是工具重要的是思想和解決問題方式,還有回答語法學習什麼的,只能說太年輕,而且多半是沒多少經驗的。大部分語言都有擅長的領域,一個人的精力有限,修一門主語言(含各種基礎框架熟悉程度)並精通它,對於普通人來說已經耗費大量精力,選一門好的語言來切入目標領域還是很重要的。

祝好,加油。


多學學編譯原理,就不用糾結過兩年換一個語言這種事情了。

因為你會喜歡上所有的語言。


有點政治不正確,還是匿了。

我的觀點是: python可以當做愛好或者技術棧里的備用,但是轉的話不值得。

我是基於以下幾點考慮的:

1.面向工資編程 2.愉悅工作 3.技術服務業務

1. python初階工資是高於php初階的,但是php中階工資基本和php是持平的,php崗位會比python多很多,不過php要比python付出的努力小得多(因為php很多坑都有現成的解決方案),而且題主已經27了,應該是屬於中階php了吧? 沒必要re從零開始的python生活。

2. 嘛 工作肯定不會怎麼快樂了。php招人會比python好招,所以加班多的時候phper哭人手不夠很容易解決啦。

3. python能做的事會比php多很多。不僅是web,數據分析和爬蟲都很常見。但是不過嘛,企業總有分工噠。

4. 別信那些三天轉什麼的。三天時間,最多只是夠入門,能上手簡單的業務代碼的。每個語言甚至每種框架都有自己的生態圈,這些東西都是要從頭開始積累積澱的。


推薦閱讀:

如何在word中插入類似CSDN中代碼塊?
初學python可以閱讀哪些代碼?讀代碼時要做些什麼工作幫助提高?
編程之前是否一定要寫好偽代碼?

TAG:程序員 | Python | PHP | 代碼 | 轉行 |