導讀:此文觀點是總部的技術總監郭總當面指導,由我整理,有幸聆聽,不勝感激,郭總,上海交通大學碩士畢業,IT行業扎根已有8年,曾就職過中國電信和博奧生物集團(國家生物研究院)等企業,主導過眾多的大型專案,閱歷豐富,
最近,看到網上好多人站在在職程式員的角度去分析編程語言的一個優劣,勸小白學這個語言別學那個語言,這對小白來說是毫無意義的,

但是它又具有極強的一個誤導性,
為什么呢?

編程語言只是工具,可選的當然有很多,但是每一種語言都不是十全十美的,它都各有優劣,但是我們要解決的問題卻是實實在在的,
我們要尋求的一定是最優解,揚長避短,
1.很多程式員會習慣性地維護自己最擅長的編程語言
對于我們程式員來說,開發一款軟體的程序當中,你可能會用到好幾門語言來解決你的問題,也就是說一個程式員他有可能要掌握一到多門語言,但是大多數程式員最熟悉的那門語言,一定是他當前所用的那一門兒,然后以此為基礎,引入一些其他的語言的優點,來增強自己軟體的一些性能,
所以說好多程式員其實都會陷入類似“PHP是全世界最牛逼語言”的這種誤區,

他會鐘愛自己的那一門語言,然后點評編程語言優劣的這種說法,其實都具有極強的一個誤導性,
2.軟體性能的優劣是整套體系決定的,不僅僅是編程語言
我們用某種語言來寫程式,寫出來的程式是不可能運行在空氣中的,我們寫出來的程式一定是要運行于某個環境當中的,
所以說決定軟體性能優劣的絕對不只是語言的優劣,它是一整套體系決定的,
單獨討論編程語言哪個優劣,就好比你去對比F1賽車跟奇瑞QQ兩者的車速,你可能會說F1賽車肯定牛逼,奇瑞QQ肯定弱爆了,但問題是如果我把這兩輛車都開到了北京五環呢,堵車堵到水泄不通,那么它兩者的速度是不是都差不多?
所以看問題應該成體系、整體去看,不謀全域者不足以謀一域,

大家也會看到很少有架構師出來談語言的一個優劣,你基本上看到的都是程式員在討論哎說哪種語言更好、哪種語言更壞,
有人說JAVA是全世界最牛逼的語言,有人說PHP是全世界最牛逼的語言,有人說Python是全世界最牛逼語言,這其實都是非常愚蠢的一種論調,
語言對于我們程式員來說只是工具,我們要做的是解決問題,而不是去研究誰的工具最牛逼,
可以說誰的工具都牛逼,誰的工具也都不怎么牛逼,

編程語言的學習它是一整套體系,
第一層你首先得了解一下計算機硬體,像CPU、記憶體的硬碟他們大致的作業原理是什么,
第二層就是在硬體之上,你得了解一下作業系統是啥,以及它大致的作業原理,

第三層才是在作業系統之上來開發應用程式,那這個時候你就需要掌握一到兩門編程語言進行開發了,
但是我看到大多數人的分析都是直接站在了第三層,它默認你已經知道了計算機硬體加作業系統,也就是軟體的一星平臺是個啥,然后去對比語言層面的優劣,
所有的編程語言都不是十全十美的,
如果說你已經進入到互聯網開發領域了,那這種,你尚且可以聽一聽編程語言優劣分析的言論,因為你已經有一定的基礎了,那你可以站在第三層去聽一聽這種語言它有什么優點和缺點,對你來說尚且有一定的意義,

但如果說你還沒有進入到互聯網開發領域,你連軟體的歷經平臺是個啥你都不知道,那語言層面的對比對你來說毫無意義,
因為你此時所面臨的首要問題就是如何入門開發領域,能夠進入到這個行業,這才是最關鍵的,
對于小白來說,你要時刻牢記,你學的是編程,是去解決問題的,其次才是選擇合適的編程語言,把你的思維邏輯翻譯下來,這個先后順序一定要搞清楚,
如果你上來就已經假定自己是一名行業內的程式員,你去選擇自己合適的工具,那這是非常愚蠢的,因為你都不知道你會遇到什么問題,你甚至連編程是什么你都不知道,
所以我的建議小白,如果你對IT領域確實感興趣,那如何快速學會編程,先進到這個領域當中去,這才是最關鍵的,

1.上手開發程式時間快
我見到有人在網上說“Ppython如何雞肋、辣雞”,這是非常愚蠢的,無論如無論別人怎么噴Python,最不應該跟風噴Python的就是小白,
因為你想快速把你自己的編程邏輯用某種語言給實作出來,Python絕對是小白的一個首選,

學Python你一個月你就可以立馬去寫程式了,這對小白來說是非常友好的,那你應該選擇一門能夠快速上手開發程式,然后再了解了這個編程是什么,最后再去討論應該選擇python這種工具還是換成其他的工具,
與其一上來就選擇一門比較重型的語言,然后長期徘徊在入門級別而不能上手去寫程式,最終因為你毅力不足而導致而選擇放棄,倒不如選一門容易上手的編程語言,
我覺得你自己應該有答案,
2.掌握一門編程語言,其他也容易觸類旁通
我想到我大學的一個往事,我大學有一個C語言老師,他在講課的程序當中比較喜歡這個吹吹皮,然后他打開那個騰訊QQ,他說騰訊QQ里面就有一段他寫的程式......并且很自信地說“他說我不客氣地講哈,任何一門語言給我一個星期我都能掌握了,”
那我當時就覺得這個人比較能裝,但后來隨著我一點兒一點兒去研究技術,我會發現真的是這樣,你學會了一種工具,你再去學其他的工具都會有觸類旁通的一個效果,

因為要時刻牢記你學的是編程,等到你會了編程以后,換一門語說白了就是把你實作編程的工具由一種換了另外一種,這是非常簡單的一件事兒,
當然,深入學習所有的這個語言你都會覺得難,為啥呢?因為語言它是一門工具,深入學習下去就不是在研究工具了,是在尋求如何高效解決問題的辦法,
說白了,你此時遇到的問題可能是多種多樣的,某一種語言它也不能完全解決你所有的問題,你可能需要多種語言配合的來解決你的問題,
所以我們常說,一名合格的程式員應該至少掌握兩門語言,

但問題是這跟小白有什么關系呢?
小白有沒有足夠的毅力跟能力同時掌握幾門語言?這是個因人而異的問題,
如果說你自己根正苗紅計算機專業畢業的,你計算機基礎知識比較扎實,或者說你對自己的意志力和學習能力足夠的自信,那你優先選擇什么語言,我覺得都可以進入到互聯網開發領域中來,
如果不是,那其實我推薦小白以python這種容易上手的這種工具為基礎,快速地掌握編程,然后再橫向地去學習其他的工具,
3.考慮職場待遇、競爭和前景
編程小白還需要考慮的一個問題就是競爭壓力與個人優勢,
以Java為例,與Python進行對比,Java火的時間比較久,因為它是早期的跨平臺性的語言,很多公司早期都是用java來進行開發的,然后就導致了java的人才基數越來越多,
很多時候公司選用一種編程語言,它并不只是考慮這門語言本身的一個優劣,它還會考慮這門語言的人才基數有多大,毫無疑問,現在市面上最多的程式員就是java程式員,

那么請問小白,如果想通過類似Java這種老牌語言入行的話,你的職場會面臨什么?
第一,你的競爭對手可都是那些有四五年甚至更多年作業經驗的人,那你的競爭力何在?
第二,假設你入行了,那你將要面對的是初級崗位的低待遇以及低薪資,而對于類似Python這種新興語言來說,毫無疑問崗位肯定不如Java要多,因為加了畢竟發展了那么多年,但是Python的崗位量保持持續的一個上漲,那這是一定的,
從python的一個使用量的世界排名你就能看得出來啊,從2017年到現在,連奪4年的年度最受歡迎編程語言排行榜冠軍,其實恰恰是因為此時并沒有那么多人去掌握python,那這才是我們小白入行的一個絕佳的機會啊,
入行薪資比Java高,這也是擺在明面上,大家可以去各大招聘網站上查得到,
那問一下,誰不想一入行就起點高一點嘛?
那對于小白來說,你不打差異化你又能打什么呢?

有人說python的流行是因為咱國內培訓機構的宣傳造勢,針對這個觀點呢,我只想說一句:
“您太看得起咱國內培訓機構對全世界的影響力了吧?”
咱來看一組資料,用資料來進行一個客觀的分析,盡量避免一些主觀的認知錯誤,
首先咱來看一下Python的世界排名,一九年、二零年穩居世界第三,然后世界占有率是百分之十,這已經非常高啊,咱可以看到一下其他的編程語言就1%和百分之零點幾的都有,這還是屬于前二十的排名前二十的編程語言世界占有率的情況,

2021年TIOBE發布的年度編程語言
再來看一下python歷年世界排名的一個增長情況來看,Python一直處于一個向上增長的趨勢直到今天增長為排名世界第三,
再來看每年評選的一個年度編程語言的情況,2007、2010、2017、2018、2019年多次上榜年度最受歡迎的編程語言,2020年連續4年登上年度最受歡迎編程語言第一名,甚至在去年11月份的時候,Python超越了Java登上了排行榜第二名,出現了三十多年從未發生過的事情,如果說未來跟Java互換位置也不是沒有可能,有這種趨勢,

Top 10 編程語言 TIOBE 指數走勢(2002-2020)
我來問大家兩個問題,
第一個問題,是不是全世界的程式員都被咱國內的培訓機構忽悠了?
第二個問題,你可能會說,我一直講的都是世界排名,可能Python只是在國外用的比較多呀,在我們國內用的比較少,
那你告訴我,你哪一種編程語言不是先從國外火起來,然后在我們國內再效仿著使用的?有一個算一個,Java是不是先從國外火起來的?C是不是?C++是不是?
說白了,這些編程語言的原產地都是國外,都是先從國外用起來,然后再推廣到國內的,python,的世界占有率那么大,世界上都在廣泛使用,你覺得國內接下來不會廣泛使用嗎?
不管未來怎么樣,當下更多的還是國外在影響著咱國內的技術總下,

毫無疑問,任何一門新技術的引入必然會沖擊到老基礎,褒貶不一那是肯定的,但是作為一名技術人員,你如果沒有一點點前瞻性,那你憑什么走在別人前面?
希望大家是通過資料來得到客觀的答案,而不是站在自己狹隘的立場里主觀的下結論說“我覺得A不行、B用的不多”、”C在世界的大火是被培訓機構宣傳起來的”,
培訓機構從來只是技術趨勢的跟隨者,而不是創造者,
所以請跳出你的主觀臆斷,你只代表你自己,你左右不了世界排名,你更代表不了世界占有率,
希望看完文章的同學,你要有自己科學的分析,而不是只聽自己愿意聽的,

比起勸你學或不學的言論,動手反而更能讓你感到舒適與安逸,
我們普通人的出路除了學習,你說還有啥?難道是繼承別人家的家產嗎?
我從郭老師的團隊里的一些程式員老司機要到了一些Python干貨,有46節Python的入門課視頻、Python電子書和Python學習方向導圖等等干貨,現在免費送給大家,有需要的話可以加我微信“pykf20”,備注一下“領資料”即可,我看到了就會給你們發過去,
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/254441.html
標籤:其他
