Python和java二選一該學哪個?

用戶61402240


關於這個問題應該是仁者見仁智者見智。因為不同的語言自己所擅長的領域也不一樣,只有在各自的方向發揮作用就是好語言。

那作為剛接觸編程的同學來說,應該考慮學習哪個語言呢?

作為一個過來人,哈哈。我建議大家可以先學習java語言,因為java是目前開發中最常用的編程語言,以後得工作和發展中都有不錯的前景。而且java這麼多年有自己完整的生態系統,企業應用更得心應手。而且學習java之後在自學py會更容易上手一些,學習成才率也更高一些。

所以大家學習的時候可以看尚學堂高淇老師的java300集學習java編程,當然高老師還有py400集的資料可以供大家學習。兩個資料都是專門針對零基礎的同學學習的,上手更快一些,而且高老師講課風格風趣,同學們聽起來更容易理解,再加上資料中的小遊戲小項目幫助大家快速理解,相信學習一段時間會有很大的收穫。


小小互聯科技


從問題來看,這就是小白問題。對編程語言沒有基本的瞭解

編程語言本身沒有好壞之分。只是解決問題的工具而已。猶如汽車,高鐵,飛機 不同的交通工具應用場景不同。

通過應用領域選擇編程語言。

python 應用領域

一、Web開發

Python的誕生歷史比Web還要早,由於Python是一種解釋型的腳本語言,開發效率高,所以非常適合用來做Web開發。

Python有上百種Web開發框架,有很多成熟的模板技術,選擇Python開發Web應用,不但開發效率高,而且運行速度快。

常用的web開發框架有:Django、Flask、Tornado 等。

許多知名的互聯網企業將python作為主要開發語言:豆瓣、知乎、果殼網、Google、NASA、YouTube、Facebook……

由於後臺服務器的通用性,除了狹義的網站之外,很多App和遊戲的服務器端也同樣用 Python實現。

二、網絡爬蟲

許多人對編程的熱情始於好奇,終於停滯。

距離實幹做開發有技術差距,也無人指點提帶,也不知當下水平能幹嘛?就在這樣的疑惑循環中,編程技能止步不前,而爬蟲是最好的進階方向之一。

網絡爬蟲是Python比較常用的一個場景,國際上,google在早期大量地使用Python語言作為網絡爬蟲的基礎,帶動了整個Python語言的應用發展。以前國內很多人用採集器搜刮網上的內容,現在用Python收集網上的信息比以前容易很多了,如:

從各大網站爬取商品折扣信息,比較獲取最優選擇;

對社交網絡上發言進行收集分類,生成情緒地圖,分析語言習慣;

爬取網易雲音樂某一類歌曲的所有評論,生成詞雲;

按條件篩選獲得豆瓣的電影書籍信息並生成表格……

應用實在太多,幾乎每個人學習爬蟲之後都能夠通過爬蟲去做一些好玩有趣有用的事。

三、人工智能

人工智能是現在非常火的一個方向,AI熱潮讓Python語言的未來充滿了無限的潛力。現在釋放出來的幾個非常有影響力的AI框架,大多是Python的實現,為什麼呢?

因為Python有很多庫很方便做人工智能,比如numpy, scipy做數值計算的,sklearn做機器學習的,pybrain做神經網絡的,matplotlib將數據可視化的。在人工智能大範疇領域內的數據挖掘、機器學習、神經網絡、深度學習等方面都是主流的編程語言,得到廣泛的支持和應用。

人工智能的核心算法大部分還是依賴於C/C++的,因為是計算密集型,需要非常精細的優化,還需要GPU、專用硬件之類的接口,這些都只有C/C++能做到。

而Python是這些庫的API binding,使用Python是因為CPython的膠水語言特性,要開發一個其他語言到C/C++的跨語言接口,Python是最容易的,比其他語言的門檻要低不少,尤其是使用Cython的時候。

四、數據分析

數據分析處理方面,Python有很完備的生態環境。“大數據”分析中涉及到的分佈式計算、數據可視化、數據庫操作等,Python中都有成熟的模塊可以選擇完成其功能。對於Hadoop-MapReduce和Spark,都可以直接使用Python完成計算邏輯,這無論對於數據科學家還是對於數據工程師而言都是十分便利的。

五、自動化運維

Python對於服務器運維而言也有十分重要的用途。由於目前幾乎所有Linux發行版中都自帶了Python解釋器,使用Python腳本進行批量化的文件部署和運行調整都成了Linux服務器上很不錯的選擇。Python中也包含許多方便的工具,從調控ssh/sftp用的paramiko,到監控服務用的supervisor,再到bazel等構建工具,甚至conan等用於C++的包管理工具,Python提供了全方位的工具集合,而在這基礎上,結合Web,開發方便運維的工具會變得十分簡單。

Java 應用領域

1、服務器程序

Java在金融服務業的應用非常廣泛,許多跨國投資銀行例如:Goldman Sachs(高盛投資),Citigroup(花旗集團),Barclays(巴克萊銀行)以及其他銀行,都用Java來編寫前臺和後臺的電子交易系統,結算和確認系統,數據處理項目以及其他項目。

大多數情況下,Java被用在服務器端開發,但多數沒有任何前端,它們通常是從一個服務器(上一級)接收數據,處理後發向另一個處理系統(下一級處理)。

2、嵌入式領域

Java 在嵌入式領域發展空間很大。在這個平臺上,你只需130KB就能夠使用 Java 技術(在智能卡或者傳感器上)。

當初,Java 被設計用來在嵌入式設備上工作。事實上,這只是其中的一個領域,這只是當初的“一次寫入,隨便暢遊”的項目,現在看起來是這樣了。

3、大數據技術

Hadoop以及其他大數據處理技術都是用Java或者其他,例如Apache的基於Java 的 HBase和Accumulo以及ElasticSearchas。

但是Java在此領域並未佔太大空間,但只要Hadoop和ElasticSearchas能夠成長壯大,Java 依舊還有潛力去在這個市場佔據一部分。

4、網站領域

同樣,Java在電子商務領域以及網站開發領域佔據這大部分席位。你可以運用許多不同的框架來創建web項目,SpringMVC,Struts2.0 以及 frameworks。

即使是簡單的servlet,jsp和以struts為基礎的網站在政府項目中也是很受歡迎的。例如醫療救護,保險,教育,國防以及其他的不同部門網站都是以Java為基礎來開發的。

總之,Java語言作為一種發展迅速的語言程序,已經深刻揭示了程序編寫過程的精髓,並藉助其嚴謹的結構與間接的編寫過程,為Java語言的未來發展提供了重要保證。如今,有關Java語言方面的研究正朝著服務器端優勢應用系統方面延伸,相信未來Java語言必將具有更加廣泛的應用,也必將會給IT行業的發展起到更有力的促進作用。

5、安卓開發。

目前安卓的最上層開發依然是Java 或是JVM語言 kotlin。都與Java息息相關。

入門建議

通過題主可以看出屬於小白,除了應用領域外,作為入門建議從python開始。主要是python入門檻低,非常適合新手學習。

總結

2020年2月份時TIOBE排行榜,Java 第一,python第三。兩種語言從目前市場份額情況,都非常高,所以不論選擇那種編程語言,都可以找到對應的工作。

編程語言一通百通,必須精通一門即可。



極客架構


這兩種語言滲透力驚人,都是不可多得的編程語言,無論從應用領域還是從入門的方便性來講都極其相似。

如果從發展的態勢看JAVA佔了先天優勢,所以目前從數量上講處於絕對優勢,目前滲透到各個領域,而且在語言快速更迭的時代下,並沒有顯得落伍而且有點老而彌堅的感覺,無數優秀的開源框架層出不窮的出現也助推了JAVA語言的強勢地位。



JAVA誕生之初其實為了發揚面相對象語言編程,面向對象的老祖宗是c++但是由於語法細節太多,導致很多初學者望而卻步,JAVA就是在這種歷史背景下誕生的,最初都稱為JAVA腳本,一般而言腳本語言都言簡意賅,學習起來相對比較方便,現在在編程語言大爆發的時期如果還稱為腳本顯得有點矯情了。

和JAVA同級別誕生的還有微軟的c#從生命力上比較,現在答案已經非常清晰了,這本身說明了開源的力量,再加上近年安卓系統的加入,又助推了JAVA一把。在這個時期學習JAVA也不能說是過時,工作崗位多的是。



Python是近年來發展勢頭非常猛烈的編程語言,趕上大數據以及人工智能概念的大普及,把這門語言推向了高潮點,Python算是現在意義上的腳本語言,所以入門上來說比JAVA簡單一些,很多大量現成的類庫可以直接調用,而且實戰一些看似非常複雜的功能利用Python能夠輕鬆的搞定。



Python主要在人工智能,運維,網絡爬蟲,圖形繪製,數據處理等等方面都有滲透所以新時代的編程語言必然有Python語言,而且入門通俗易懂,歐美國家孩子學習編程的首選語言基本上是Python,在國內中學開設的編程語言也準備選用這門語言了,有前景,又好學,不錯的選擇。

回到正題在兩者拿不定主意的情況下,這個狀態下就要考慮自身的狀態了,如果覺得基礎還可以選擇JAVA,而後切換到Python,基礎很差直接開始Python。

希望能幫到你


大學生編程指南


我發現,在任何平臺上,語言之爭,幾乎都是一個永恆的話題。

我覺得題主的糾結很沒有道理。

學Python還是Java,與其你在不斷糾結,為什麼不兩個都學呢?

或者就來個抓鬮,抓到哪個算哪個。

別以為我在說笑,我理解,我們大部分人學習Python或者Java,衝的都不是這種語言本身,而是這種語言背後的工作機會和適用場景,但真實的情況是:

Python和Java,這兩種幾乎“全棧”“全能”的語言,學好任何一個,都足夠讓你勝任你想進行的工作

隨便的說兩個對標的例子。

比如以Android的開發為例,官方目前缺省使用的開發語言是Java(或者Kotlin),也是除H5方案以外,最主流的解決方案,但是Python行不行?

答案當然是“可以”,比如可以通過Kivy,可以通過Beeware,這兩個框架都可以幫助我們寫出跨多個平臺(至少是Windows/OSX/Android/iOS)的應用,而且用的,就是Python。

而Beeware的背後,則是VOC項目在撐腰,這個VOC項目是什麼?本質上,它就是

一個可以將Python源代碼轉換為Java字節碼,並運行在JVM,包括Android虛擬機上的編譯轉換器

看到沒?在這個層面上,什麼語言,根本已經無關緊要。


在舉一個在機器學習(ML)方面的例子,現在這個被很多人認為是屬於Python的後花園,但Java下,就真的不能玩轉?答案可能會另很多Python程序員感到“驚訝”,基本上Python下能玩的,Java下不說玩的更好,但肯定一樣能玩轉。


是的,你Python下有tensorflow,甚至為了在部分場合簡化tensorflow,搞了個Keras


但這邊廂Java也不含糊啊,先不說tensorflow實際上針對Java,也開發了可以訪問的操作接口API,實際上,純粹基於Java的機器學習的框架也不少,Deeplearning4j(DL4j)、Apache Mahout、MALLET,......,每一個都發展經年,並且擁有大量的擁躉。

因此說,至少在這個領域,影響你理解和運用機器學習技術的,絕對不是什麼語言,而是你自身的其他知識結構。


洋洋灑灑寫了這麼多,突然想起小時候學習的一篇古文來:《為學》,其中說的:蜀之鄙有二僧,......,我覺得,我們的Java/Python的選擇,也是如此,我們需要的,不是像富僧那樣,想著要準備這,準備那,而是應該如那貧僧一樣:

手邊有什麼資源,就立即學習起來,不管它是Java,還是Python

市場這麼大,我覺得我們真心不用擔憂,有朝一日,你學習的東西會無任何的用武之地。作為一種我曾經非常熟悉且下過不少苦工的語言,我老早就覺得Delphi/Object Pascal已淡出市場久已,但翻翻Tiobe,卻發現它,依然還在最流行的語言行列之中,雖然現時的排名是第12,Rating是1.406%,但放到整個市場的規模來看,依然妥妥不用擔心沒工作,如果你確實熟悉且精通的話。

你覺得呢?


紙飛機技術拆解局


人生苦短我用Python,以前我也是做Java web開發的,自從學了Python之後,就不想再用Java了,因為Python真的很簡潔。還是引用一句話,實現同樣的功能c語言需要1000行,Java只需要100行,而Python只需要10行代碼。比如,在使用Python搭建一個網站的時候Python只需要10行代碼,而且不用像Java那麼麻煩配置很多的配置文件。Python的優勢在於,簡潔而且第三方庫極其豐富,基本上你想要當我功能Python都有第三庫可以實現。而且,Python在人工智能方面的應用也很多,正因為人工智能也使得Python位居編程語言的榜首。人工智能是最近非常火的一門技術,我覺得你可以選擇Python往這個方向發展,好好加油,而且現在國內的人工智能需求量是供不應求,很多應屆生還沒畢業就被年薪四五十萬招走了。


機器學習之路


希望你不要在選擇上做糾結。

編程語言之間邏輯都是互通的,只是語法上有所區別。

語法上記住那種語言的書寫規範,就ok了。

數據邏輯方面通了就行了。

具體說下,python和Java。

兩個都是比較熱門的語言。

最近python好像火的一塌糊塗。

這兩個都是很早開發的,90年代的時候就已經發明出來了。

python最近才火,這個和人工智能開發有關係。

python在製作爬蟲方面也是很有優勢的,這個看你想從事哪一方面的工作了。

java在編程語言排名上是第一。

它和安卓的火爆有很大的關係,如果不是安卓火爆,他可能沒有那麼靠前。

當然啦,Java在桌面開發,web開發都是很不錯的。

每個語言都有自己的側重方面。

希望對您有所幫助。

打字辛苦,希望好評!


一筆一筆畫世界


下面是python和Java兩個編程語言的對比分析,大家可以酌情參考一下,依據自己的需求來定奪自己要學習哪一門語言。

1、運行速度

Java是靜態語言靜態編譯的,速度上要比Python快的很多,而Python動態類型語言,一邊執行一邊編譯,速度要上慢一些。

2、對Legacy代碼的支持

對於legacy代碼的支持,由於Java大量的用於電商,互聯網後端,銀行等大型系統,所以對於legacy的代碼的數量要遠大於Python。而

Python要更輕量級一些,沒有那麼多legacy的問題。尤其是Py3即將全面推廣,Py2要退出歷史舞臺。

3、代碼開發效率

Python代碼開發效率非常高,同樣的函數功能,Java需要十幾行,Python只要幾行,代碼數量要遠小於Java,這樣開發的時間和效率比

Java高很多。

4、數據庫的支持

Java跟數據庫結合更緊密一些,有大量的數據庫支持Java,類似JDBC這樣的封裝,使得的Java使用數據庫更容易。Python雖然沒有他倆

關係那麼鐵,但是目前支持Python的數據庫也非常多,而且很多主流數據庫SQL,Mongodb,Redis都有API支持Python, 可以說

Python不缺的就是庫。

Python學習網- 專業的python自學、交流公益平臺!

作為一名 Java 程序員,肯定會建議你先學 Java,然後再學 Python,但如果你問一個 Python 程序員,可能會得到一個完全相反的答

案。與此同時,Python 已經不再是乳臭未乾的黃毛小子了,它已經成長而且和主流的編程語言,像 Java,C++ 有的一拼。

現在 Java 和 Python 都滿足剛才說的條件,甚至在做了一些很棒的分析比較之後,依然很難得出應該學習哪個語言。

代碼開發效率

Python代碼開發效率非常高,同樣的函數功能,Java需要十幾行,Python只要幾行,代碼數量要遠小於Java,這樣開發的時間和效率比Java高很多。目前為止我認為Python是最優美的語言。

應用領域

Java主要的戰場是在Android手機開發和Web後端開發,而Python主要應用在數據科學,機器學習,人工智能領域和IOT.可以說兩個都

是各自領域的霸主,但是隨著谷歌扶植Kotlin來取代Java,而後端開發NodeJS強勢崛起,所以Java的後端開發霸主地位正在被挑戰。



小沐哥哥丶


你好,作為學生如果有空的話我建議可以兩種語言都學習下,理由如下:

1)Java開始設計時可以說是為了提升硬件的智能化的,然後經過互聯網時期向互聯網方向發展,所以Java天生就適合嵌入式和互聯網開發。Python主要應用於系統管理任務的處理和Web編程,通俗點說就是運維人員管理服務器和用來Web編程。所以Java學會了起碼可以在以後找工作時比只會Python的人多一條硬件開發的路。

2)Java是編譯類型的語言,它需要編譯後運行才能看到結果,編譯時可能要花一段時間,編譯成功後執行速度會很快。Python是動態腳本語言,是解釋性語言,因此當你把業務邏輯實現後可以直接運行看結果是否與實際業務結果相符,驗證算法時更方便,但是執行速度會慢一點。Python設計出來後廣泛的被大學和科學研究室使用,比較適合科學計算和統計。目前大數據比較熱門,Python在抓取網站數據方面也比較合適,並且又可以處理抓取到的數據,所以,Python現在比較火,這主要還是因為大數據火起來的原因。

3)在實際工作中,Java更適合多人的團隊協作型項目,大企業或國家企事業單位一般會用到。Python適合個人或小的團隊開發互聯網項目。

最後,如果只有時間學習其中一種語言的話,還是建議你深入學習一下Java,學會它之後你再去學習其它語言會更容易,而且作為動態腳本語言更新換代的速度還是比較快的,雖然Python比Java更老一點,祝你學業順利。


Shawn的生活


如果你是科技小白,我認為還是python更適合。相比java,很多人因為以下原因選擇它:

第一:python更與時俱進:最近幾年,它在全球技術技能網站的排名從15位到了今年的第三名。特別是受到大數據的影響,Python工程師的需求在全球都出現了快速的激增。

最新一年的IEEE Spectrum 榜單也證實了這點。編程語言排行榜基本和大家預期的一樣:Python 排在了榜首,值得一提的是,它已經連續三年奪冠,排在二名的是 Java。

第二,python更簡單易學:Python是一門擁有簡潔語法的高級編程語言。它的設計初衷就是讓代碼讀起來更輕鬆,並且讓程序員們比起用其他語言,實現寫更少的代碼的目標。

相比較Java 來看,java的編程方法對於基礎學習者來講它太過於冗長,哪怕你只是理解和運行在 Java 中的 “hello world” 一個再簡單不過的程序,它都要求初學者要先去了解類、靜態方法和包等等這些。

第三:更加符合IT當下需求:Python 能夠這麼快遞發展的主要原因,是目前蓬勃發展的人工智能和大數據分析領域,引發全球軟件工程師需求量大增,python憑藉其優勢吸引了許多零基礎的初學者。

比如,通過目前的Web開發框架,Python可以用來快速完成一個網站的開發和Web服務。同時,自動化網絡的運行維護中,大量重複性工作的地方,Python也可以擁有明顯的優勢。




硅谷25英里


Java和Python這兩種語言都有前景,Java是經久不衰,而Python是後來居上。

我覺得這兩門語言在未來都具有較好的發展前景,崗位需求也是很大,主要是看你對哪門語言更感興趣,這樣才能學好學精,當然在精進一門後再學另一門是非常好的。這樣會讓自己的編程思想更上一層樓,自身競爭力得到提升。我是主要學習的Java開發,但是在下班後也學習了Python,一是興趣,二是讓自己多項技能。

也要看你想走哪個方向,Java主要用於開發後臺或者安卓應用,也可以搞大數據。Python也可以開發後臺,學習數據分析、人工智能、機器學習最佳語言,語法簡單易懂。

Tiobe發佈2019年3月編程語言排行榜:

可以看出Java和Python都是比較火的,沒有絕對的哪個前景好,只有學好了才有前景。


分享到:


相關文章: