Python會超越JAVA而成為世界上第一大編程語言嗎?

485577965


先分享一個真實的故事,有一個剛入行編程不久的朋友,從事python開發大約有一年多的時間,中間因為公司的業務的變化,也接觸了不少前端的框架知識,算是典型的還在入門階段的程序員,在蘭州從事軟件開發,後來由於公司經營不善,工資也發不上了就辭職回家了。後來覺得這個城市的軟件開發環境不是很好,就去了西安找工作,從年前開始就開始投簡歷找,終於昨天說找到工作了,最直接的明顯的感覺是隻掌握python,找一份軟件開發的工作,還是相對比較單一,如果是同等能力的java開發工程師找工作會輕鬆許多,於是給自己制定了學習java的目標,先在這個公司站穩腳跟混項目經驗,然後慢慢學習java增加市場競爭力。

為了贏得多個面試的機會,在項目經歷上稍微誇大一些,誇大的不是作假主要是在項目經驗一項多總結一些東西,把之前練手的一些項目也折算成項目經驗,而且在面試過程中增強自己的自信度,畢竟初級入行階段程序員競爭太激烈了,就目前形式下python超越java作為第一編程語言還是有點距離。

現在編程語言發展趨勢是高度集成化,python非常符合這種特性,但因為生態鏈的問題現在的大數據,雲計算等新技術還是以java為基礎的多,所以現在python之所以這麼背推崇個人分析有以下幾種原因造成的。

(1)現在培訓領域宣傳力度非常大,因為這門編程語言入門簡單,就業前景非常廣泛,相當於提前透支的方式在宣傳,弄得人工智能這個領域全是python一門語言的功勞,在真正性能相關的底層實現還是基於C/C++,弄得很多不懂行情的程序員大量的學習python結果學完之後就業不是宣傳的那麼美好。現在主流的編程語言java還是佔據很大的發言權,不排除以後python成為未來的第一編程語言,但就目前趨勢來看距離還是非常遠。

(2)人工智能發展也間接的宣傳了python這門編程語言,但人工智能是一個綜合性的學科,遠不是一門編程語言所能概述的,python只相當於編程主函數,起到一個穿針引線的作用,真正的功能的實現還需要依賴很多的基礎模塊,主要現在互聯網信息的傳遞太發達,真正找工作還是傳統幾種主流編程語言更加靠得住。

從就業的角度考慮,個人還是覺得java更加靠譜直接,畢竟現在從招聘信息可以看到起碼有一半的人在招聘java開發工程師,有著巨大的市場增量需求,作為初學者如果有機會認識一些真正的程序員,同他們多聊一下能少走彎路。畢竟在一線寫代碼的人最能瞭解真實的人員需求。

畢竟現在整個市場大環境,初級的程序員堆積的人員非常多,先要拿到一個真正的項目開發的工作。混上項目開發經驗,編程語言做到最後其實就是工具的般的存在,初級入門階段先通過一門編程語言熟悉編程的套路,掌握編程技巧,瞭解編程內涵,慢慢的再切入新的編程語言中,從而建立起更加完善的編程體系。

希望能夠幫到你。


大學生編程指南


作為一名研發人員,這兩個語言我都比較熟悉,早期我使用Java做Web開發,也使用Java做動態軟件體系結構的實現,後來使用Python做機器學習方面的項目,總的來說這兩個語言我都比較喜歡。我在頭條上還撰寫了Java和Python的學習文章,想學習這兩門語言的朋友可以關注我,相信一定會有所收穫。

Java之所以能得到廣泛的應用,一個重要的原因是Java的互聯網基因,從Applet到Servlet、JSP,從RMI到JMS再到EJB,從Struts到Spring,Java這一路走來正是互聯網技術發展的縮影。Java以豐富的功能、強大的性能、可靠的表現、優秀的擴展性贏得了研發人員的青睞,目前互聯網大型商業服務平臺大多采用了Java技術,這就是對Java性能的高度認可。

Java不論在傳統的Web開發領域,還是在移動互聯網、雲計算、大數據領域都有廣泛的應用,這些應用是助推Java不斷髮展和完善的動力。但是Java也有其自身的缺點,一個是語言本身的複雜性帶來了較長的開發週期,另外模式化內容較多,給人的感覺“很重”,另外模塊化一直做的不夠好。這些都讓Java程序員比較苦惱,另外在一些場景開發下,使用Java並不是一個好的選擇,比如大數據、機器學習領域的某些應用。

Python的流行有一個重要的原因就是簡單,Python做場景開發比Java要簡單太多,尤其是做大數據和人工智能領域的研發。一方面Python的語法結構比較簡單,比較符合程序員對開發語言的預期,另一方面Python的庫非常豐富,寫程序就像在“搭積木”一樣。

我在做機器學習研發的早期使用的是Java語言,後來改用Python,讓我一下節省了大量的時間,而這是實實在在的幫助,所以未來在大數據、機器學習方面Pyton應該會得到更廣泛的使用。程序員出身的我,有時候使用Python都有一種“罪惡感”,但是想想研發的進度要求和目標定位就能說服自己。我使用Python總是有一種輕鬆的感覺,不知道廣大Python程序員是否也有同樣的感覺。

目前,Java的應用依然比Python廣泛,而且在可預見的未來Java依然會得到大量的應用。Python最近幾年的發展非常迅速,如果Python能解決性能問題,那麼在未來超過Java也是有可能的,畢竟沒有人喜歡複雜。

如果你有Java或Python方面的問題可以諮詢我。


IT人劉俊明


"Python現在沒有超過Java,未來五年,十年也不會超過java而成為世界上第一編程語言",可能會惹來不少罵聲,比如來自php世界的,c#世界的,.net世界的,python世界的等等。但是有討論才會有結果,事實勝於雄辯,我們舉例說明:

1.Java和Python本質的區別

Java是一個面向對象的語言,而Python則是一個輕量級的腳本語言。Java一路走來都是在做企業級別的結構開發,出身就是為了企業級開發而定製,這也是Java這些年一直很火的原因,java不單單是可以做後臺,也是可以做前臺的動態頁面,比如jsp的開發,聯合servlet將頁面的展示和後臺的邏輯緊密相連。儘管現在jsp不常見了,但是java對於前端的支持也是做到了無縫銜接,不論是h5頁面,還是vue頁面,後端用java寫的話,那真的是完美的結合。

2.Java和Python市場佔有率不在一個數量級

明白人都看的出來,每次的編程語言排行榜一出來,首屈一指的肯定是Java,現在再看排名:

論漲幅,Java和Python是不相上下,但是論整體排名,Java要高出Python十個百分點,另外Java這門編程語言在眾多的互聯網公司都有很廣泛的應用,以及Java相關的社區論壇,學習網站也是非常之多,就憑這一點,就夠Python追幾年的吧。

歡迎各位大佬批評指教!


私信回覆【學習】獲取最新技術乾貨,天天有更新。


IT講壇


基於我在BAT工作的經驗,可以十分肯定的和題主說,不會。

Python雖然目前使用場景越來越廣泛,也隨著人工智能的興起而受到了更多的重視,但是想撼動Java的霸主地位,還是有點難度。

歷史積澱

Java誕生至今已經積澱了非常多的經驗,也發展出了很多種類的框架來幫助開發者減輕負擔,比如SSH,SSM,Springboot等等,可以說目前想用Java進行後臺開發已經越來越容易了,網上也有很多手把手的教程。

對比之下,Python雖然也已經有了近30年的歷史,但它也是在近些年才開始快速發展,在功能方面並沒有Java那麼強大的能力,相關的周邊配件也沒有java的全面。

因此對於程序員來說,如果要實現一個大的項目,大家更傾向於繼續使用JAVA語言。

使用場景

雖然Python也可以開發獨立的程序,但是目前大多數的平臺後端還是以JAVA/PHP為主,而且我目前見到的大部分BAT放出來的招聘職位也都是主要需求JAVA開發能力(與Python職位相比)。

那Python工程師呢,其實Python語言更多是作為Java或其他語言開發工程師的一項輔助能力,就是說想要通過面試,需要你在其他能夠獨挑大樑的領域做得優秀,此外如果還有Python能力,那就是錦上添花了。但是如果你說只會Python,那麼面試官可能就會遲疑些了,因為基本社招的職位專門招人進來寫Python的比較少。

最後,從公司的角度,他們其實並不介意你用什麼語言做開發,但是他們介意你能不能又快又好的開發好。就目前的情況來看,除非Python後面發展出非常強大亮眼的黑科技碾壓Java,否則很難超越。畢竟,小孩子才做選擇,面對裝備齊全的Java和朝氣蓬勃的Python,成年人當然選擇全都要啦。

以上是我的淺見,歡迎各位在評論區與我溝通交流。

我是蘇蘇思量,來自BAT的Java開發工程師,每天分享科技類見聞,歡迎關注我,與我共同進步。


蘇蘇思量


我覺得比較難,不信?我們從以下三個方面來看:

一、效率比較

1.在執行效率上,因為Python是解釋型的動態類型語言,java是半編譯的,所以執行速度上面java效率更高

2.在開發效率上,因為Python面向對象的支持很好,庫非常豐富,可以迅速地開發出程序;java因為複雜性原因帶來了較長的開發週期,模塊化內容較多;所以在開發效率上面Python有絕對的優勢。

二、語言應用

1.java豐富的功能、強大的性能、可靠的表現、優秀的擴展、大型的開發框架贏來了程序員研發的青睞,在互聯網大型商務平臺大多數採用了java作為開發語言。

2.Python流行起來的重要原因就是簡單,Python開發比java要簡單的太多了,尤其在大數據人工智能當道的領域的研究。Python的語法結構較簡單,也因Python的庫非常豐富,所以程序員非常的喜歡。

三、用戶數量排行

2018年編程語言排行榜,java排行第一用戶數量佔14.9%,Python排行第四用戶量佔5.8%,java遙遙領先與Python。

現在企業級項目上還是會選擇java;人工智能、大數據方面會選擇Python,所以我認為Python超越java還是比較難的。

部分內容來源於http://mp.sohu.com/profile?xpt=MTAyOTI3ODM3NjU2Mjg2NDEyOEBzb2h1LmNvbQ==&_f=index_pagemp_2


從不加班的程序猿


1、python簡單易學,連初中都開這門課。對於機器學習其實更多封裝了不少數學函數,比如求相關係數、正態分佈、數學期望等等。

2、由於非科班專業的同學大多數都是初學者,所以很多人都想從一門語言學起,這是正確的,但是要注意,python封裝的人工智能機器學習所涉及的後面的那些決策樹、t分佈、貝葉斯決策、卷積等這些原理是你們重點攻克的,不然小心自己成為了初級python工程師,和人工智能沒有太大關係

3、社會上對python炒作的多,至於分類、聚類、函數式、面向對象這些核心東西提及不多。JAVA在後臺、web、大數據等等方面生態圈、解決方案龐大成熟,可以說是“有含金量”

4、從學習角度,學習算法背後的原理,死摳python這門語言沒必要,從工作角度看,你用python統計學等類庫很方便,自己除了python類庫外,還有JAVA的機器學習mahout框架、scala的MLIB庫

5、奉勸媒體少點不負責任的炒作,對於年輕人多點學習規劃上的指導。年輕人切勿浮躁,把大學的數學、物理、統計學、編程語言等基礎課學好,特別最近看了機械製造及自動化的同學埋怨畢業即失業都不如工廠,大家先把功課學好,並不是你的專業不好,是大環境使然。學好數學、物理、電路、編程等功課向智能製造、先進製造轉很容易的,其實10個python都趕不上你們課程的含金量,如果從語言角度講python技術含金量和初中代數幾何差不多。實際上,到我這裡來諮詢的電氣、機械、自動化的同學對於數理知識一問三不知,導致培訓大家一門大數據、人工智能、嵌入式的實戰技能很困難

6、本人有多年的軟件工程、大數據、機器學習智能製造實戰經驗,目前正在為振興國家智能製造、大數據默默工作著。請大家點贊、關注和支持啊


大數據和人工智能交流


在程序員的世界裡,一句話就能激起滿屏的彈幕。不信你可以試試,在某個技術論壇裡發表一個帖子,隨便說一個語言,比如:“JAVA是世界上最好的語言”,然後整個論壇可能都會波濤洶湧。

Python語言是一門腳本語言,顧名思義,代碼編號生成腳本文件(exe文件),發給誰都能打開直接用。對於徹底面向對象的java語言,其同樣可以在一臺單獨的電腦上運行,也可以被分佈在一個網絡的服務器端和客戶端運行。計算機語言承載者可以說是任何科技的發展,對於python和java兩個語言而言,沒有好壞之分,具體如何,請看下文分解。

就難易程度而言,python遠遠簡單魚java。Python沒有那麼多形式化的變量類型、聲明等。上手只需要兩三個月。

就開發速度而言,python開發速度遠快於java,python擁有海量第三方庫,很多功能不需要自己現編,只需要在第三方庫下個相應模塊就能用。

就可用資源上來說,java本來就是第一語言,資源相當多。而python,作為海選新秀,其學習資料,中文資源等優秀資源則較少,有時候需要查閱外文資源。第三方庫裡也是全英文的。

就穩定程度來講,Java優於python。Python2到python3做了一定程度的修改,導致很多東西都不兼容,部分命令在python2裡能用,在3裡是不能用的,會報錯,因此基於python2編的庫用到python3上需要進行修改(修改是很麻煩的)。而Java就不同了,由於大量企業使用java,有其在背後支持,java相當穩定。

就是否開源開說,python的開發者最初秉承的思想就是完全開源。Java由sun開發,現在GUN的Openjdk仍然是可以用的。

可以這麼說,c語言是底層語言,用底層語言開發最快。Java和python都是基於c語言開發出來的,底層有很多c語言。作為一個次時代語言,python有很大的應用前景,不過就目前的普及應用程度,超過java不太可能,而且java的火爆程度逐年遞增,未來能不能超過java就不好說了。


鎂客網


  • 郭德綱經常說:文無第一,武無第二。

很明顯編程語言屬於文類的。

所謂的第一大編程語言,到底怎麼算是?

我們現在每個人用的智能設備,底層OS都是C,那統計的時候只是統計開發人員是不是不太正確?

  • 語言的定位對使用場景有很大的限制

Python的優勢是適合開發者快速構建項目,而當年Java的誕生,是為了替代C++的

所以你看限制Python多用於數據處理,機器學習,網絡爬蟲等

而Java,幾乎是無孔不入的

  • 從來都不是技術優勢決定語言的普及性

用一個同事的話說就是,現在大部分公司的能夠話事的leader,可能都是Java出身的,你讓他現在換語言?

他不說話,公司能換?

  • 另外、業務相對於技術本身來說,對選擇語言有更大的話語權

現在做web你可以用各種框架,但是大部分選擇的時候,還是根據業務需要來的,而不是語言的受歡迎程度。

技術leader或者公司cto都不會因為語言大小來選擇,他們會考慮的是項目進度,以及是否好招人來決定的。


所以,第一大語言有什麼好爭的?

老闆要你用Java,就算Python排第一,Java第二十,你也得用Java不是?


星哥07


這個路還還長,暫時不會,未來5年不會,10年有可能,就看現在小學生、初中生學習的怎麼樣。最近,也在觀注這方面的,偶爾看到新聞說python納入到高考中,想想如果真納入了,過4年,超過Java或者接近java不是沒有可能,不過現在還沒有確切的消息,所以,python未來5年不沒有希望了。

java目前的市場佔有率是16個百分點,Python5個百分點,差距有點大

java一直是穩居世界第一,python也是穩居世界第4。下圖是TIOBE社區公佈的一份數據,數據顯示java的佔有率是16個百分點,python是5個百分點,是python的3倍還多。雖然是第一和第4的差別,不過差距還是有點大的,一個兩位數的佔有率,一個一位數的佔有率。路漫漫其修遠兮。

從展趨勢來看,java的佔有率雖然受到衝擊,從開始的接近27百分點到現在16百分點,但依然是NO1

數據顯示,java從02到現在是呈現下降的趨勢,從02年的超過27個百分點到現在16個百分點,下降了11個百分點,呈現下降的趨勢。而Python從02年的2個百分點不到,到現在5個百分點,上升了3個百分點,呈現上升趨勢,不過這種趨勢還不足以說明能夠撼動java世界第一的位置,正所謂“瘦死的駱駝比馬大!”


總的來說,java還是世界第一的語言,python確實有上升的趨勢,人們的學習熱情也有,現在小學生、初中生也在學,不過最近5年還不至於能夠撼動java在世界中的地位。


Bean蠶豆


歡迎關注我,一個程序員老司機,和你分享編程、運營、需求等等經驗和趣事。

回答這個問題,我從下面兩點來和你分享。

為什麼Java會紅

為什麼Java會成為世界上第一大編程語言,肯定是使用人非常多啊,一方面是安卓開發,全球安卓手機數量肯定比蘋果手機數量多,所以安卓程序員肯定也非常多,而安卓開發又是基於Java的,同時,除了安卓開發,Java在企業應用方面也非常多,比如對於安全要求高的網站、電子商務網站、大數據分析處理應用等等,我們都能夠看到Java的身影,僅僅這兩方面就是Python無法超越的。

Python什麼時候有機會超越

我們知道Java是甲骨文的,所以谷歌在安卓開發這方面一直都在努力,視圖引入一種屬於自己的開發語言來開發安卓應用,如果真的實現了,那麼肯定會有很多安卓程序員放棄Java而選擇這種新的編程語言,同時,雖然這些年Python比較火,但是與Java相比,其社區、性能、第三方擴展庫或者框架,Python還有很長的路要走。

不過有一點肯定的是,在未來一段時間,Python是無法超越Java的,但是超越很多其他編程語言還是有很大可能的。


分享到:


相關文章: