-
1 # 傳媒星期八
-
2 # lazy說大資料
Python和java都是非常優秀的程式語言
java在排行榜長期處於第一的位置 Python近幾年也常居第二第三的位置。
在技術應用上來說,java目前的應用場景比較廣泛,比如安卓程式設計,比如企業管理系統這類。
但是從應用前景來看,Python的未來十分值得期待。因為目前新興的"人工智慧""機器學習"等領域,大多都是以Python作為語言去實現的。雖然這些領域對數學的要求更高,但是在演算法的實現方面,由於Python第三方開源庫眾多,優勢非常明顯。比如科學計算,資料分析領域,常用numpy,pandas,matplotlib等,比如機器學習領域,常用tensorflow,Karsa,pytorch等。
所以Python和java在各自領域均有優勢。
-
3 # IT人劉俊明
這是一個非常好的問題,作為一名IT從業者,我來回答一下。
首先,Python和Java語言都是目前流行程度比較高的全場景程式語言,各自的生態體系也都比較健全,而且也都有大量的行業應用案例,所以二者之間的對比還是具有一定難度的。
站在技術的角度來看,Java語言的特點是穩定性高、安全性高、執行效率高、擴充套件性強,Python語言的特點是粘合性強、擴充套件性強、架構靈活。從這些方面來看,在從事平臺級開發任務時,Java語言往往有更多的優勢,尤其對於安全要求比較高的領域,採用Java語言往往有更小的風險,這一點從各大安全公司的解決方案上就能夠得到體現。目前國內一部分安全領域的企業,已經把原來基於Python實現的方案逐漸調整到Java技術體系上了,這在一定程度上說明了Java在生產場景下,依然有一定的優勢。
Python語言自身的語法結構相對比較弱,通常需要藉助於各種庫來實現擴充套件,而Java語言則比較依賴於框架,但是相對於Python語言來說,Java語言自身即使脫離了各種框架也能夠完成大量場景下的開發任務,或者說Java語言更像是一個一站式程式語言,雖然自身比較重,但是在不借助於外界力量的情況下,Java自身的優勢會比較明顯。
Python語言與Java語言雖然都屬於面向物件的程式語言,但是Python語言更靈活,更適合程式設計師使用,或者說Python並不像Java語言那樣對於面向物件概念的極致化追求,從這個角度來看,Python更像是站在程式設計師的角度來設計的程式語言,而Java語言則更像是站在技術體系角度上設計的程式語言,這可以看成是二者在設計理念上的差異。
做一個不太恰當的比喻,當前的Java更像是燃油車,技術成熟,穩定性高,但是同樣也非常複雜,使用者的使用成本和維護成本也都比較高,而Python語言更像是電動車,雖然目前依然存在一些應用場景上的障礙,但是發展趨勢要更好一些。
-
4 # 小小程式設計師玲兒
百戰程式設計師IT問題專業解答
Python和java都是非常優秀的程式語言
java在排行榜長期處於第一的位置 Python近幾年也常居第二第三的位置。
在技術應用上來說,java目前的應用場景比較廣泛,比如安卓程式設計,比如企業管理系統這類。
但是從應用前景來看,Python的未來十分值得期待。因為目前新興的"人工智慧""機器學習"等領域,大多都是以Python作為語言去實現的。雖然這些領域對數學的要求更高,但是在演算法的實現方面,由於Python第三方開源庫眾多,優勢非常明顯。比如科學計算,資料分析領域,常用numpy,pandas,matplotlib等,比如機器學習領域,常用tensorflow,Karsa,pytorch等。
所以Python和java在各自領域均有優勢。
-
5 # 使用者1455886593001
java和Python的前景都不錯,從事java日後可以向大資料方向發展,從事Python日後可以向人工智慧方向發展,這兩個方向都是現在的發展趨勢。如果現在選擇跨行的話建議上百戰程式設計師官網將java和Python的課程都聽一下,上面有免費試聽課程,而且還有大資料和人工智慧的課程,可以多瞭解一下再做選擇。
當然如果是單從現在就業來講的話java的市場需求會比Python更大一些,學出來就業會更容易。
-
6 # Lener
python 是開源免費的面向物件的指令碼語言, 是解釋性語言, 能跨平臺,擁有眾多的模組, 可擴充套件性強。目前資料分析, 機器學習等運用廣。 而java的話,最大的特點就是沒有太多花哨的東西。
-
7 # 卜咔
Java支援跨平臺應用,而Python幾乎與所有現代作業系統相容。Java對於初學者來說要比Python複雜很多。讀Python程式碼也比讀Java程式碼簡單。但是,如果你想讓你的程式碼在哪裡都能執行,那就選Java。Java的另一優勢就是能建立基於網路的應用程式。Java比Python複雜得多。如果你沒有技術類的背景,學Java是個很艱難的過程。另一面,Java能使用在不同環境中。如果這個特點是你需要的,那就用Java吧。尚學堂Java和Python的課程都可以的,Python的薪資也不低,線上的課程服務也很好,可以先試聽在決定
-
8 # 雷影文文
這個問題出現很正常啊。每種語言都有適合自己使用的場景。
一個後端工程師必備的能力就是選擇合適的場景去選擇合適的語言。而且,Java程式設計師往往多少都會點Python。
所以,並不存在說Java程式設計師和Python程式設計師之間的紛爭問題。
確切的說,大家爭執的應該是,什麼樣的場景下用什麼樣的語言,有沒有最佳實踐?
適合Python的場景如下:
1、各種運維指令碼
包括但不限於統計日誌分析,傳送郵件,定時任務,解析文字,替換配置檔案等等等等。
Python比Shell更強大,天生就是最適合做運維指令碼的東西。
而隨著devops的普及,各種小的運維指令碼有了Python之後簡直是如虎添翼。
2、小型爬蟲
如果你要抓取百度新聞,微博,或者是其他論壇等,不需要考慮太多抓取權重,去重等等,用Scrapy爽的不要不要的,特別是在解析xpath方面,在這一點上,Python的簡潔完全是碾壓Java的。
Java解析Json就是一場惡夢,Python和JS處理這種東西輕巧的想要飛。
抓取的內容簡單入庫也很容易,所以如果是要求不高,純粹的抓取入庫,Python完勝。
3、文字處理
假設你要處理文字,擷取,排序等等等等,Python寫的小東西真的比Java好用多了,或者是說,我需要跑個定時任務,定期調一下第三方Api寫到某個DB裡。這些東西都是Python最擅長的地方。
4、演算法
NLP和DM中很多演算法都適合用Python來做,不過我瞭解的不多,還是用Java為主。但是推測的出來,演算法領域上Python比Java要強很多。
從以上的分析看的出,Python適合的場景是小,跟其他的系統的互動比較少,不需要考慮大資料量和併發訪問,不會有太複雜的結構,也很少會有什麼需求變更,更多的像是Tools。
這也是符合指令碼語言的特性。
所以在這些領域裡,Python比Java牛是很正常的,如上所述,在不同的使用場景下來決定用什麼來完成任務,是架構師一個很重要的職責。
不管是Python還是Java,在選擇的時候要看具體想要從事的方向,想學習來百戰程式設計師,帶你實現IT夢想。
-
9 # IT人劉俊明
我使用Java和Python的時間都比較久,也出版過Java程式設計方面的書籍,所以我來回答一下這個問題。
首先,Java和Python都是非常優秀的程式語言,也是目前被IT行業廣泛採用的程式語言,二者之間的很多應用場景是重合的,所以也就存在一個對比的基礎。Java語言的主要應用場景包括Web開發、大資料開發、Android開發和各種後端服務開發,而Python語言的主要應用場景包括Web開發、大資料開發、人工智慧開發、後端服務開發和嵌入式開發。
Java和Python語言的優勢對比,可以透過以下幾個方面來描述:
第一:語法結構。在語法結構上,Java語言是純粹的面嚮物件語言,語法結構嚴謹,遵循嚴格的面向物件程式設計過程(類的定義、物件的建立、方法的呼叫)。雖然Java的語法結構比較嚴謹,但是Java的模組化卻是一個“短板”,直到JDK9才解決了這一問題。相對於Java來說,Python的語法結構則更受程式設計師的歡迎,Python語言的語法結構結合了函數語言程式設計的直接性和麵向物件語言的靈活性。
第二:開發週期。在開發週期方面,Python語言無疑具有較為明顯的優勢,一個重要的原因在於Python語言有豐富的“庫”,Python程式設計師可以從“造輪子”中解放出來,從而把關注點放在業務邏輯的實現上,這會在很大程度上提升程式的開發效率。
第三:執行效率。在執行效率方面,Java語言具有一定的優勢。Java語言的特點就是穩定的效能表現和較強的擴充套件能力,這也是為什麼大型網際網路平臺往往更願意採用Java編寫的重要原因。當然,目前Python語言的執行效率也在逐步提升(3系列版本),相信未來在執行效率方面Python會有所改善。
Python語言伴隨著大資料和人工智慧的快速發展而獲得了廣泛的關注,目前Python語言上升趨勢比較明顯,也被認為在未來有廣闊的發展前景,所以當前學習一下Python語言是個不錯的選擇。
-
10 # zhangyiant
python開源,計算比較完善,無需編譯,便於搭建原型系統,科學計算。
java企業庫支援完善,文件充分,適合企業應用。
-
11 # 加瓦攻城獅
感謝邀請!非常榮幸能夠回答您的問題,做為現在排名程式語言前三的Java和python。二者目前都是非常火熱的程式語言,而且各有各的優點和缺點,我個人的話是從事Java開發的,偶爾搞搞python和PHP啥的;Java的主要應用於Web開發、移動端開發、客戶端開發,也可以用於大資料的開發;而python主要應用於人工智慧、大資料開發、和嵌入式開發等。
二者之間的優勢如下:
Java的優勢作為老牌大哥持續排名程式語言榜首和全世界使用人數最多的Java,我只能用這幾個語言來形容:強大、健壯、嚴謹、優美;
並且Java擁有非常廣泛的應用市場,它的生態系統幾乎涵蓋了目前市面上所有的軟硬體,Java幾乎是萬能的,你能想到的,Java基本都能實現(雖然吹的有點大,但不可否認)。
web開發:
能做大型的網際網路網站如,京東,淘寶,人人網、去哪兒網、美團等。
java在開發高訪問、高併發、叢集化的大型網站方面有很大的優勢。
移動端開發:
目前手機上所有的APP後臺程式碼及部分移動端頁面java是都能夠做到的。
客戶端開發:
主要面向政府、事業單位和大型企業,如醫療、學校、OA、郵箱、投票、金融、考試、物流、礦山等資訊方面的系統。這些應用在我們生活中其實隨處可見,比如醫院的掛號系統、公司的打卡系統、物流系統等。
python的優勢python作為近幾年興起的程式語言,它的火熱程度和Java真的是不相上下,只不過是Java實在是有太久的歷史了,python還沒有那麼快超過Java,但是以後就不清楚了。
俗話說的好,人生苦短,我用python;python的強大之處在於語法簡潔優美, 功能強大, 標準庫跟第三方庫非常強大, 應用領域非常廣。主要用於以下領域:
1. Web開發隨著Python的Web開發框架逐漸成熟,比如耳熟能詳的Django和flask, 你可以快速地開發功能強大的Web應用。
2. 網路爬蟲(用的較多)
自從有了Python,就算你是小白也會只用幾行程式碼就可以寫個爬蟲爬文章爬圖片了。爬蟲的真正作用是從網路上獲取有用的資料或資訊,可以節省大量人工時間。能夠編寫網路爬蟲的程式語言有不少,但Python絕對是其中的主流之一。
3. 計算與資料分析
隨著NumPy,SciPy,Matplotlib等眾多程式庫的開發和完善,Python越來越適合於做科學計算和資料分析了。它不僅支援各種數學運算,還可以繪製高質量的2D和3D影象。
4. 人工智慧
當前最熱工資最高的IT工作就是從事人工智慧領域的工程師了。Python在人工智慧大範疇領域內的機器學習、神經網路、深度學習等方面都是主流的程式語言,得到廣泛的支援和應用。
以上就是Java和python的優勢了,但是我個人認為的話,其實兩門語言都是比較強大的程式語言,只是所使用的的領域不同,應用場景不同;平時也有很多粉絲問我糾結自己是要Java還是python,具體如何選擇還是要看你的未來發展方向和使用場景了。
-
12 # 孤雁
java和python各有優劣,不能將兩種語言對立起來。下面我針對二者的特點來說幾句:
1、java是非常嚴格的面向物件的語言,天生就是一個貴族,加之大名鼎鼎的apache的支援,所以長期以來發展都非常平穩,即使是微軟的csharp,雖然曾經也與java一爭高下,但並未達到預期。
與java相比,python一直默默無聞,直到近年來隨著科學計算和大資料分析的興起,python才一下子站到網際網路的前臺。python和java的機制不一樣,它既不是基於虛擬機器,也不是那種位元組碼的方式,換一句話,它採用了一種詭異的方式解決了指令碼的效率問題,在實際測試中,python的執行效率並不比java差。正因為python語言的指令碼特性和高執行效率才使得它能夠以其方便性而在眾多語言中脫穎而出。
2、兩種語言的功能都很接近,都可以完成web系統和桌面程式的開發。從具體應用來看,java主要用來做大型的web平臺,也有人用java做網站,但不是很合適,因為java的面向物件更適合做業務系統,而網站的業務展現並不明顯,所以網站更適合用更輕便的php來做,現在也有人用python來做網站,並非不可以,只是有些牽強。python更適合做計算,從一開始就維持它的這個特點,它有豐富的科學計算庫,而且它具有半編譯語言的特點,使得它在大資料分析和人工智慧應用上大顯身手。有人說,java也行啊,是的,c++更行,但是很少人去用,原因就是太麻煩。
3、兩種語言都和c++有介面,即呼叫dll。
個人認為兩種語言各有千秋,雖然互相滲透,但在實際開發中不可替代,比如,雖說python也面向物件,但是沒有人會拿python去做大平臺,原因是它在web開發上還不很成熟。同樣雖然java也可以進行科學計算,但在大資料分析時,絕大多數人還是選擇python。原因是python方便,程式碼簡潔,效率高。但是優點有時也是缺點,大資料分析語言三駕馬車,scala效率第一,語言最簡潔,但是一般人不願用,為什麼?簡潔到將java的30行程式碼合成一行。學和用都不方便。python其次,java第三,所以大家都願意選擇python。
不管怎麼樣,如果大家有精力,可以兩種語言都嘗試一下,平時拿python做個爬蟲,比java實現要快很多。
-
13 # NC少年
先說兩者共同提高的優勢:
都沒有歷史的包袱,設計上更加純粹。當時C++就是因為有歷史的包袱,要相容C,把自己搞得很複雜,讓Java乘虛而入。Python更狠,連自己的Python2馬上就要拋棄了。拋棄這麼多,犧牲了一定的相容性,帶來的就是開發效率的提高。比如Python2要對中文字元做特殊處理,Pyton3裡一視同仁。
都跨平臺,作為比較新的語言(相必C/C++而言),從設計上就考慮多平臺的支援。Java可以做到:一次編譯,到處執行;Python是到處執行,連編譯都省了。而C++的話,不同的系統,要編譯多次,如果用到了某個特性系統的Library,那移植的時候,程式碼變化更大了。
都有網際網路基因。Java透過Mvn,Python透過pip/conda,簡單配置下,全球碼農的開原始碼都可以為我所用。C++的話,應該沒有這麼好用的管理器。
基於上面三點,使得Java/Python的開發效率極高,深受廣大程式設計師的喜愛,所有才有了今天這麼高的排名。
再說說Java和Python不同的地方:
Java的健壯性、效能上要比Python高,正是因為這點,工程領域,無論是客戶端還是服務端,基本都是Java的天下。除非是特別篇底層或對效率要求極高的,才可能用C++
Python作為一門動態語言,變數可以動態地繫結不同型別的物件,又無需編譯,使得開發效率比Java還要高。加上強制的縮排,保證可讀性。效能上透過呼叫C/C++的庫來保證,Python是一個萬能的膠水語言。所以對效能、可靠性要求不高的,基本都是Python(因為人生苦短,我用Python嘛)
傳說有這麼一條鄙視鏈:C++鄙視Java, Java鄙視Python。可能C++太難了吧
-
14 # 科技達人小愛
Java是為了減少跨平臺,再重新編譯的問題,一個程式碼可以在別的平臺也可以執行。但是雖然有回收資源機制,用多了會卡頓,比如安卓手機用久了會卡。
python從語言的用法大大減少了複雜性,你不必在意每一行末尾有沒有冒號(java必須得有),而且嚴格規定了tab的使用方法,使得新手寫的程式碼也擁有很好的可讀性,讓程式設計師更注重程式邏輯問題而不是語言本身的語法問題。而且python底層是c語言,執行速度比java快。
-
15 # 一個存在感小透明
Java老大
Java一直蟬聯程式語言榜首的位置,市場佔有率達到14%+,穩穩的甩開了其他語言。在智慧手機出現之前,Java就能夠編寫很多手機軟體與手機遊戲,這也為Java的廣泛使用奠定了基礎。而隨著網際網路+概念與安卓智慧機的廣泛普及,Java不僅沒有像塞班系統一樣被淘汰,反而更是迅猛發展,這主要歸功於Java在JAVA WEB與APP開發方面的優勢。
網際網路+概念裡有一個非常火的術語,PaaS(Platform-as-a-Service),即提供平臺式服務,而不是讓你自己下載軟體到電腦上安裝,導致每次服務更新都需要使用者同意或授權才行。使用PaaS相當於把核心的能力放在server端,使用者只是從browser端拿到最終的資料,這也就意味著服務提供商有更寬的自由度。在這種情況下,Java web作為server端的開發語言,就發揮了重要作用。使用Java語言不僅能夠保證服務的穩定性與安全性還有可拓展性,藉助SSH,SSM,SPIRNGBOOT等框架的託管,還大大減少了程式設計師開發過程中的負擔。因此,可以說PaaS有多麼火,Java就有多重要。
而JAVA APP開發就更不用說了,基本上所有的創業idea最終都會落實到“要做一個app出來”,而安卓作為國內最大的移動作業系統佔有者,app的開發需求量自然也是很大的,結果就是能夠進行app開發的Java語言,一直經久不衰,越來越收重視。
Python新星Python雖然也可以做為後端語言進行開發,但是它有一個很大的問題就是執行效率很慢,由於它是封裝了C語言,因此所有程式碼還要經過一層轉譯,直接影響了執行時間。某專業(zhi)問答(hu)網站的搜尋引擎就是用Python搭建的,不過已經用Go語言進行重構了。
Python的優勢不在於能夠進行後端開發,而是它的靈活性。早期Python被稱作程式語言的膠水,也就是說使用Python可以將用不同程式語言編寫的服務透過Python的介面呼叫粘合在一起,大大提高了各個獨立服務的可用性。
此外,藉助人工智慧的東風,Python最近的使用趨勢呈明顯上升狀態,然而我們要知道Python可不僅僅在AI領域大展拳腳,做資料分析繞不開的Numpy,科學工程常用的Scipy,視覺化用到的matplotlib,仿RStudio介面的資料操作工具pandas,開發web程式甚至遊戲都非常方便的Tcl/Tk,以及更具體學科的生物用BioPython,天文學astropy,NASA都在用的Sunpy等等等等,甚至有些北美的化工從業者,都會使用Python來計算化學方程式。
因此,我們其實可以這樣說,Python與Java雖然有重疊的領域,但是二者的主戰場並不在一起,二者在其各自的領域可以說都是最優秀的語言。
-
16 # 小精靈zx
首先,Java和Python都是非常優秀的程式語言,也是目前被IT行業廣泛採用的程式語言,二者之間的很多應用場景是重合的,所以也就存在一個對比的基礎。Java語言的主要應用場景包括Web開發、大資料開發、Android開發和各種後端服務開發,而Python語言的主要應用場景包括Web開發、大資料開發、人工智慧開發、後端服務開發和嵌入式開發。
Java和Python語言的優勢對比,可以透過以下幾個方面來描述:
第一:語法結構。在語法結構上,Java語言是純粹的面嚮物件語言,語法結構嚴謹,遵循嚴格的面向物件程式設計過程(類的定義、物件的建立、方法的呼叫)。雖然Java的語法結構比較嚴謹,但是Java的模組化卻是一個“短板”,直到JDK9才解決了這一問題。相對於Java來說,Python的語法結構則更受程式設計師的歡迎,Python語言的語法結構結合了函數語言程式設計的直接性和麵向物件語言的靈活性。
第二:開發週期。在開發週期方面,Python語言無疑具有較為明顯的優勢,一個重要的原因在於Python語言有豐富的“庫”,Python程式設計師可以從“造輪子”中解放出來,從而把關注點放在業務邏輯的實現上,這會在很大程度上提升程式的開發效率。
第三:執行效率。在執行效率方面,Java語言具有一定的優勢。Java語言的特點就是穩定的效能表現和較強的擴充套件能力,這也是為什麼大型網際網路平臺往往更願意採用Java編寫的重要原因。當然,目前Python語言的執行效率也在逐步提升(3系列版本),相信未來在執行效率方面Python會有所改善。
Python語言伴隨著大資料和人工智慧的快速發展而獲得了廣泛的關注,目前Python語言上升趨勢比較明顯,也被認為在未來有廣闊的發展前景,所以當前學習一下Python語言是個不錯的選擇。
相關內容
- 有誰知道python,java,vb,C++誰更實用呢?
- java哥python哪個好找工作?
- 那些從培訓機構走出來的PHP、python、JAVA工程師們現在都在做什麼?
- 25歲了,Linux運維想轉開發來得及嗎?Java還是Python?
- 27歲的人學JAVA和Python還來得及嗎?
- 我是學java的,想學一點python資料處理,大家有沒有好一點的推薦!需要什麼?
- 做商品交易平臺,PHP、JAVA、Python哪個語言更合適?
- 未來想往能源網際網路、人工智慧等方面發展,學程式設計的話是python還是java合適呢?
- 如果學大資料,最好學習哪種程式語言?是Java還是Python或者c++?
- 研一想轉向計算機方向該學習Java還是Python?
Python和Java的對比
1、Python可就業崗位:web開發、應用開發、大資料、資料探勘、科學計算、機器學習、人工智慧、運維、自然語言處理......
Python發展趨勢非常好,被稱為“人工智慧的未來”這些年隨著大數、人工智慧的萌芽發展, Python推薦到的廣泛的使用。
2、Java可就業崗位:安卓應用開發、影片遊戲開發、桌面GUI、軟體開發....
Java地位高、在程式設計排行榜中佔據十多年的霸主地位,是各排行榜的"萬年前三",今天Java執行在7.08億手機、10億智慧卡和7億PC機上