IT新人適合學Python嗎?
先回答第一個問題:Python 開發累不累?
首先,明確一下你選擇程序員的理由。
如果因為程序員吃香或者好賺錢之類的話,還是改變主意吧,程序員只是個技術民工,跟鉗工是一個工種的,許多廣大的程序員還掙扎在蝸居生活中。既然你是文科出身,為什么不去找一個更對口的工作,像你說的,即使經過培訓,并且培訓機構分配了一家還算可以的單位給你,你不能可能一輩子只做初級程序員,給別人做做ERP,做那種“美工、設計、架構、編碼”四項全能的程序員給一些中小公司壓榨勞動力。但是,向上爬的話,很多基礎知識是你不具備的,無論是技術方向還是管理方向,這些培訓機構不會教你,他們也沒這個義務,而你呢,一個文科生每個月拿著不到5K的工資,運氣不好,在小公司做,加班時少不了了,一天工作10小時以上,一個星期6天,運氣好了呢,在大公司里,比你條件好,并且技術基礎扎實的員工有很多,得不到晉升的機會,不過是蹉跎歲月,何必呢。
勸你還是考慮周詳再做決定,無關程序員好做不好,累活不累,生活就是生下來活下去,累時難免的,但是我們要做的是讓自己不那么累,選擇一條比較好的路給自己。
每個人情況不同,如果你真的喜歡編程,那可以義無反饋的投入這一行,這一行不看出身,只看你的能力,對年輕人還是比較友好的。如果只是因為這行賺錢多,自己也沒有相關的經驗就像投入這行,不建議轉行,先把自己的本職工作做好,找找自己的興趣愛好,做點自己喜歡社會需要的事情。
再來回答第二個問題:Python適合入門嗎
最近,很多合作伙伴問我,說零基礎學編程,第一門語言學哪個好?有些人推薦學習Python,理由是Python簡單、對新用戶友好、使用方便,是這樣嗎?
首先,請允許我岔開話題,給你們講一個習武的例子。假如說,有兩個人,想學武術,都是零基礎,一個人拜師了一個很嚴格的師父,師父對一招一式要求很嚴格,天天練功很辛苦,稍有差錯就要挨打;另一個稍微好一點,他的師父是武林高手。師父告訴他,武術的最高境界是無招勝有招,你的意念來了,你的刀劍也就來了。
那么這個小故事是什么意思呢?它實際上是編程的一個隱喻。嚴格的大佬就像Java,而局外人就是Python。
我為什么這么說?歸根結底是編程語言的分類。編程語言可以根據許多標準進行分類,其中強類型語言和弱類型語言根據它們對數據類型的態度進行分類。
Java、c#和c++都是強類型語言,而Python、PHP和Java Script都是弱類型語言。
大多數人從未學過編程,所以我簡要地解釋一下什么是類型語言。在編程世界中,有很多數據要處理,而數據本身又分為許多不同的類型,有些是整數型,我們稱之為整型 ;有些是小數型,我們稱之為浮點型,有些是字符串型。如果你想使用一個變量,必須預先聲明它是什么類型,否則就會得到一個錯誤。
在像Python這樣的弱類型語言中,不需要聲明變量類型,只需要使用它,給它一個名稱。在強類型語言中,不能直接計算不同的類型,如果必須將它們混合在一起,可能會出現意想不到的效果。例如,在Java中,5+5不等于10,而是等于55。在弱類型語言(如PHP)中,5+5可以等于10,因為弱類型語言在程序運行時動態轉換數據類型,以適應當前的上下文。
從中可以看出,強類型化語言,其規則繁瑣,編程要小心,稍有不慎,編譯器就會出來痛打一頓;另一方面,弱類型語言不需要擔心數據類型,做自己想做的事情,并擁有良好的編程體驗。
所以很多人就會覺得,那學習弱類型語言不就OK了。這時候讓我們回到上面所講的習武的例子,如果讓你選擇老師,你會選擇嚴厲的還是只會用道理來指導你的?對于初學者來說,打基礎是很重要的,所以,來時越嚴格,就對之后的發展越有利。
因此,我建議沒有編程背景的人,他們的第一種編程語言應該是強類型的,比如Java、c#或c++。像Python這樣的東西,并不是為新手準備的,而是為高手準備的,你仔細想想,那些向你推薦Python的人,他們是不是經驗豐富的程序員?因此,最好等到至少有6個月的編程經驗之后再學習Python或PHP。