作為一個C/C++工程師,聊聊對Python的看法
前言
首先說明,這不是軟文。僅僅是個人看法,同時也會仍然堅持C/C++,畢竟要吃飯。
近年來以及最近想必大家總能看到Python的身影,有的是頻繁報道Python制霸編程語言排行榜,有的是總能看到各種Python的培訓課程,作為主要使用其他語言的你,恐怕心里很難不會有悸動。那么應該如何看待Python?
說說排行榜
TIOBE 編程語言排行榜說明的是編程語言的流行程度,它主要根據(jù)搜索引擎中被搜索的頻次來進行排名。
近幾年排名如下:
個人感覺有點像高考報名大家都說哪個專業(yè)火差不多,主要突出的是某種語言的“火熱”程度,而非好與不好。近年來,Python的排名確實不斷上升,但你是否該學習它,肯定不是看這個排名,所以不要被這個排名忽悠,而要看看它的什么特點讓它如此火熱,它的這些特點能否吸引你?畢竟C/C++/Java常年居于前列,它們可什么都沒說。
Python應用領域
通常一門語言都有它“擅長”的領域,選擇合適的工具做適合它的事情是非常重要的。
可以說的Python的特點很多,比如:
- 簡單容易上手--提升學習開發(fā)效率
- 豐富的庫--更大程度避免重復造輪子
- 跨平臺
而由于這些特點,它通常在應用在以下領域:
- 網(wǎng)絡爬蟲
- 人工智能
- web開發(fā)
- 系統(tǒng)運維
- 自動化測試
- 數(shù)據(jù)分析
- 云計算
- …
這些領域,如爬蟲,人工智能,web開發(fā)用其他語言可不可以?完全可以,但是Python有著極高的開發(fā)效率以及豐富的庫支持,你只需要專注你的事情本身即可。
但是人工智能,云計算等底層用的是什么?有效率問題時,用的又是什么?高并發(fā)的時候用的是什么?不過話又說回來,你有多少時候需要考慮這些呢?
總歸一句話,每一種語言有它適合的領域,另外也和公司本身的技術積累有關。
要不要學Python
當然要!無論你是嵌入式還是后臺開發(fā),個人認為Python都是值得學的,即使你是非開發(fā)類工作,也建議你學一學,但沒有必要花過多精力刻意去學。
寫一個小工具使用Python會比你使用C/C++快得多。而Python也可以快速幫你處理各種繁瑣的數(shù)據(jù)。
記得剛去公司的時候,部門里用Python的極少,但是慢慢地,幾乎組里每個人都用Python做一些事情,當然不是因為事情雜,而是它在做一些小功能或工具或者做一些自動化測試的時候非常方便。
學什么語言好
我覺得問這個問題之前,先定義什么叫好?學起來簡單,容易上手,工作好找,錢還多叫好?我也想知道。所以當有人強調(diào)Python多么火,又是多么簡單,工作多么高薪的時候,你一定要先喝杯涼水冷靜一下。
不過某種語言處于時代的浪潮,行業(yè)的浪潮還是有可能的,但是又有多少人能預測到浪潮的到來,又真的能站在浪潮之巔呢?
所以這個問題我也不知道,不過我覺得可以從以下幾個方面考慮:
- 準備進入的行業(yè),金融?通信?電商?
- 了解語言的適用場景,如底層開發(fā),后臺,web開發(fā),大數(shù)據(jù)等等
- 了解語言的特點,如上手難易程度
- 了解自身的基礎情況,如是科班還是非科班,基礎如何?
- 崗位的需求量
- 崗位的需求難度
作為一個普通人,那種既簡單輕松,又有高回報的,想想就好了,想到了也告訴我們。
實際上上面這些就像計算機中經(jīng)常見到的時間換空間或者空間換時間,有時候就是兩難全。
對于我個人來說,如果讓我大學時重新來一次,大概會更加關注操作系統(tǒng),基本算法,計算機網(wǎng)絡等內(nèi)容,而不傾向于某種具體語言。
而如果說非要加一門語言,那么也是基于C/C++,而非其他語言,因為C/C++似乎和這些基本原理更“親”。
怎么學
已會其他語言,相信你已經(jīng)知道該如何學習了。這里有一個簡明Python教程,適合快速瀏覽語法。地址:https://bop.mol.uno/
對于純小白,想用Python提高工作效率的,可以看看《python編程快速上手 讓繁瑣工作自動化》這本書,里面講解非常細致到位,當然也可以根據(jù)自己的情況通過視頻教程或者培訓課程進行學習。
這里我作為一個Python小白,就不多說,歡迎學習Python的朋友補充。
語言只是其中的一部分
語言的使用雖然是工作中關鍵的部分,但卻是很小的一部分,尤其是當你已經(jīng)熟悉語言本身之后,你的瓶頸可能不是語言本身,而是像網(wǎng)絡,操作系統(tǒng)等基本問題和設計模式,方法論等更進一步的內(nèi)容。
但是不建議:
- 什么都會,但沒有一門熟悉的語言
- 只專注語言本身
- 只接觸一種語言
記得別忘了你的主用語言修煉,如C,C++。
不局限于技術
作為一個技術人,很多時候對技術過于執(zhí)著而忽略了其它方面的擴展,自己就是如此,其實多接觸其它方面,多與人交流,能擴展自己的思維,一定程度上對自己技術之路也是有幫助的。這方面自己做得不太好,與君共勉吧。
總結
反正也是隨便說說,回頭看一下,好像有點亂了,按照習慣,還是總結一下吧。
- Python值得位開發(fā)者學習,快速上手,提高效率
- 了解語言的基本特點和其使用場景
- 內(nèi)心不要拒絕其他語言
- 不要覺得XXX就是好
- 不過當我用學C++的時候,真實感受到,C語言果然簡潔!
- 人生苦短