Python和Java該如何選擇

這篇文章主要介紹Python和Java該如何選擇 ,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到大興網(wǎng)站設(shè)計(jì)與大興網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、雅安服務(wù)器托管、企業(yè)郵箱。業(yè)務(wù)覆蓋大興地區(qū)。

網(wǎng)絡(luò)上有很多關(guān)于語(yǔ)言選擇的問(wèn)題,其中關(guān)于Python和Java的問(wèn)題大抵如下:

Python和Java該如何選擇 ?

將來(lái)Python(Java)會(huì)不會(huì)替代Java(Python) ?

零基礎(chǔ)應(yīng)該選擇學(xué)習(xí)Python還是Java ?

做web開(kāi)發(fā),用Python好還是Java好呢?

這類問(wèn)題過(guò)一段時(shí)間就得來(lái)一波,今天就以這個(gè)為切入點(diǎn)和大家嘮嘮。

Python和Java該如何選擇

為啥要說(shuō)這個(gè)話題?

Python既是一個(gè)大眾化的語(yǔ)言,也是一小搓兒開(kāi)發(fā)者喜歡的語(yǔ)言。怎么說(shuō)呢?

每個(gè)開(kāi)發(fā)者都應(yīng)該學(xué)學(xué)Python這個(gè)膠水語(yǔ)言,后端開(kāi)發(fā)者不會(huì)Python都不好意思出門和別人打招呼。事實(shí)上基本在每個(gè)公司都有Python的身影,只不過(guò)公司的核心業(yè)務(wù)、用戶產(chǎn)品很少用Python來(lái)做。

國(guó)內(nèi)大一點(diǎn)的、使用Python做基礎(chǔ)設(shè)施的公司1只手就可以數(shù)出來(lái):豆瓣、知乎、美團(tuán)、餓了么、搜狐(漏掉的歡迎補(bǔ)充)。 公司級(jí)別把Python作為核心的公司屈指可數(shù),它更像是一波有「特殊」感情開(kāi)發(fā)者的選擇,這波人品味很挑剔,這個(gè)有點(diǎn)難描述,參照Pythonic這個(gè)詞希望你成為的開(kāi)發(fā)者吧。

Python在國(guó)外環(huán)境要好得多,但是在國(guó)內(nèi)一直在緩慢的贏得更多人的心,在我的感覺(jué)里還有點(diǎn)「病態(tài)」發(fā)展(這個(gè)就不展開(kāi)了),增速是可預(yù)期的,不會(huì)出現(xiàn)井噴式的增長(zhǎng)。

職位就是那么多,很多人抱怨找不到工作,究其原因,無(wú)非是市場(chǎng)冷靜客觀下來(lái)優(yōu)勝劣汰,能力不達(dá)標(biāo)罷了。據(jù)我所知,只要你的能力匹配,Python高級(jí)工程師是非常受市場(chǎng)青睞的。

造成Python市場(chǎng)不好的原因有哪些?

政治。我們都知道語(yǔ)言通常不是技術(shù)瓶頸,那為什么公司會(huì)有很強(qiáng)烈的技術(shù)選型因素?這其實(shí)是「政治」。BAT出來(lái)的人到其他小型公司做高管,他們?yōu)榱苏痉€(wěn)會(huì)選擇重構(gòu)成自己熟悉和喜歡的技術(shù)棧,而且重構(gòu)大部分是為了KPI和晉升。這些有話語(yǔ)權(quán)的人往往不會(huì)Python,只熟悉傳統(tǒng)的PHP,Java,這就造成一種「惡性」循環(huán),其他語(yǔ)言的市場(chǎng)熱度不會(huì)降下去,政治正確要比技術(shù)正確更重要,Python語(yǔ)言很難在這種環(huán)境里突破重圍。那么知乎、餓了么這些公司為什么選擇Python?嘿嘿,除了創(chuàng)業(yè)早期為了顯得逼格高(有時(shí)候這是創(chuàng)業(yè)營(yíng)銷的一種需要),他們的高管中有些是豆瓣出去的哦,所以你看到同樣的現(xiàn)象,豆瓣出去的人做技術(shù)決策的結(jié)果選了Python。

招人難。國(guó)內(nèi)找靠譜的Python工程師實(shí)在是太難了。會(huì)Python和真的靠它吃飯差別實(shí)在太大了,知乎Python話題下大部分充其量算是會(huì)用Python寫(xiě)腳本的人在強(qiáng)答罷了。你看我的同事或者我了解到的Python領(lǐng)域里面的開(kāi)發(fā)者基本都是不用知乎也不回答Python問(wèn)題的。我們知道,Python非常適合創(chuàng)業(yè)期完成產(chǎn)品快速試錯(cuò)和迭代,如果一個(gè)公司沒(méi)有優(yōu)秀的開(kāi)發(fā)者坐鎮(zhèn),我還是不太相信用Python能堅(jiān)持下去的,太多工程問(wèn)題真的不是學(xué)院派能解決的,很多問(wèn)題Google/SO是找不到的。那么用人荒造成了想選擇Python為公司技術(shù)棧的公司望而卻步,最后惡性循環(huán)大家都不太敢讓核心系統(tǒng)用Python了。

總有刁民拿性能說(shuō)事兒。性能問(wèn)題確實(shí)是存在的,但事實(shí)上絕大部分公司和產(chǎn)品真的不需要擔(dān)心這點(diǎn),也有人說(shuō)Python沒(méi)有大型網(wǎng)站的頂級(jí)的解決方案。其實(shí)不然,國(guó)內(nèi)有豆瓣,國(guó)外有Instagram、Reddit等等成功的案例,我說(shuō)了很多遍了,決定網(wǎng)站性能的主要因素是架構(gòu),然后是代碼水平,最后才是語(yǔ)言。 但是很多對(duì)Python一知半解的人就被這么嚇跑了,并且拿著這些槽點(diǎn)去嚇別人。

技術(shù)環(huán)境不好。PyCON北京場(chǎng)都組織不起來(lái),真的有干貨的開(kāi)發(fā)者都不出來(lái)活動(dòng),萬(wàn)事與Ta無(wú)關(guān)高高掛起,反觀前端氛圍真的很好。很多新人想入坑,但是沒(méi)人帶,沒(méi)方向,沒(méi)組織,外面盡是壞人,每天看到的都是類型于發(fā)爬蟲(chóng)這種很low級(jí)別的技術(shù)文章,這種氣氛下,未來(lái)真的青黃不接呀。

Python or Java?

終于到了正題了。工作和個(gè)人項(xiàng)目中會(huì)常用到Python,Golang,Lua,Javascript、CSS,做運(yùn)維的時(shí)候還用過(guò)Perl和Ruby。很多年前看《程序員修煉之道》,作者建議每年至少學(xué)習(xí)一門新語(yǔ)言,每季度閱讀一本技術(shù)書(shū)籍,非常有道理。其實(shí)學(xué)習(xí)語(yǔ)言無(wú)非是語(yǔ)法、庫(kù)和框架這三者,如果掌握正確的方法一個(gè)月就能開(kāi)始用它寫(xiě)點(diǎn)東西了,沒(méi)什么必要糾結(jié)學(xué)那個(gè)的問(wèn)題,開(kāi)發(fā)者的基本素養(yǎng)之一就是整個(gè)職業(yè)生涯里面都得不斷學(xué)習(xí),除非我不認(rèn)同某個(gè)語(yǔ)言的設(shè)計(jì)哲學(xué)和語(yǔ)法,比如我個(gè)人是不喜歡Java的。學(xué)的時(shí)候可以帶著問(wèn)題來(lái)學(xué),比如A語(yǔ)言和B語(yǔ)言相比有什么優(yōu)劣,設(shè)計(jì)上為什么不同、它們只能有很么互相借鑒的地方,為什么?等以后在工作中可以針對(duì)不同的項(xiàng)目特點(diǎn)選擇合適的語(yǔ)言。我愛(ài)Python,但是只在正確的時(shí)候用它,而不是一棒子打死無(wú)論什么場(chǎng)景都用某語(yǔ)言,要記住,用語(yǔ)言或 者框架來(lái)劃分技術(shù)其實(shí)很幼稚。

插個(gè)題外話,可能有的讀者會(huì)問(wèn)「那怎么不見(jiàn)你寫(xiě)/回答Golang、Rust等方面的文章/問(wèn)題呀」?因?yàn)椴蛔孕?,不想誤人子弟,也不想強(qiáng)答?!缸孕拧故鞘裁茨??就是使用它的時(shí)候不擔(dān)心有什么解決不了的問(wèn)題,天下我有的感覺(jué),大不了看源碼,我C學(xué)的不好,但是不影響我?guī)е鴨?wèn)題讀CPython的源碼,不過(guò)離貢獻(xiàn)C代碼就差的很遠(yuǎn)了,我現(xiàn)在也沒(méi)想著走這一步,所以對(duì)C語(yǔ)言的掌握程度好久沒(méi)變過(guò)了。如果沒(méi)有經(jīng)過(guò)4-5年的深入和實(shí)踐,我真的不覺(jué)得能在某個(gè)領(lǐng)域指手畫(huà)腳。

說(shuō)到選擇。如果你沒(méi)有強(qiáng)烈的對(duì)語(yǔ)言的認(rèn)可或者不認(rèn)可,單純?yōu)榱吮M快養(yǎng)家糊口,選Java,因?yàn)槭袌?chǎng)需求量大,應(yīng)用廣泛,成熟案例多。如果你很理解「人生苦短我用Python」這句話,答案就不言而喻了,不過(guò)無(wú)論是否選擇Python吃飯,甚至你不是一個(gè)純純的開(kāi)發(fā)者,我還是再建議你應(yīng)該也要學(xué)學(xué)Python。

之前在知乎看到過(guò)大概這樣一句話「只會(huì)Python找工作很難」,我是認(rèn)可的。通過(guò)觀察和了解,我身邊的大部分除了Python都能使用其他技術(shù)完成工作,比如前端、IOS、安卓等。無(wú)論P(yáng)ython還是Java都只是編程語(yǔ)言,工作中還需要具備很多其他的能力,拿Web開(kāi)發(fā)來(lái)說(shuō)(這里不考慮軟技能和需求分析、溝通協(xié)作等方面的事情),HTTP/TCP、Linux、數(shù)據(jù)庫(kù)、Web服務(wù)器、第三方庫(kù)和框架、Web基礎(chǔ)(HTML/CSS/JS/ES6) 、消息隊(duì)列、分布式、虛擬化、RPC、緩存、搜索引擎、微服務(wù)、上線流程、趁手的開(kāi)發(fā)工具、調(diào)試流程、分布式文件系統(tǒng)、安全等等,隨便一想就這么多內(nèi)容。當(dāng)然最難的和最有價(jià)值的是工作經(jīng)驗(yàn)。只會(huì)編程語(yǔ)言算什么?你有什么競(jìng)爭(zhēng)力,你給個(gè)有點(diǎn)悟性的本科生2個(gè)月時(shí)間工作起來(lái)不會(huì)差很多。一定不要放大編程語(yǔ)言對(duì)于找工作的重要性。

另外插個(gè)話題。應(yīng)屆生找工作對(duì)語(yǔ)言的要求并沒(méi)有那么重要,反而數(shù)據(jù)結(jié)構(gòu)、算法、計(jì)算機(jī)系統(tǒng)、Linux、計(jì)算機(jī)網(wǎng)絡(luò)甚至英語(yǔ)這些基礎(chǔ)更重要。希望還沒(méi)有畢業(yè)的同學(xué)能夠抓緊時(shí)間多多充電。多看書(shū)多時(shí)間多刷題。

以上是Python和Java該如何選擇 的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)站欄目:Python和Java該如何選擇
分享URL:http://muchs.cn/article32/gpjpsc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站營(yíng)銷、ChatGPT、網(wǎng)站內(nèi)鏈、動(dòng)態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司