{eval=Array;=+count(Array);}
謝謝邀請(qǐng)!
作為一名從業(yè)多年的IT人,Java和Python都是我長(zhǎng)期使用的編程語(yǔ)言,同時(shí)也出版過(guò)Java編程書籍,所以我來(lái)回答一下這個(gè)問(wèn)題。
雖然目前Java語(yǔ)言依然是IT行業(yè)內(nèi)最為流行的編程語(yǔ)言之一,而且未來(lái)也依然是重要的解決方案,尤其在大型互聯(lián)網(wǎng)平臺(tái)和行業(yè)開發(fā)領(lǐng)域(MES系統(tǒng)、ERP系統(tǒng)等),但是從發(fā)展前景來(lái)看,Python似乎更有優(yōu)勢(shì)。
Python與Java相比具有以下幾個(gè)優(yōu)勢(shì):
第一:開發(fā)方便。Python語(yǔ)言與Java相比語(yǔ)法結(jié)構(gòu)要更簡(jiǎn)潔一些,Java是純粹的面向?qū)ο缶幊陶Z(yǔ)言,需要較強(qiáng)的抽象能力,而Python語(yǔ)言是函數(shù)式語(yǔ)言和面向?qū)ο笳Z(yǔ)言的整合體,語(yǔ)法靈活性更高一些。另外,Python語(yǔ)言有大量的庫(kù)可以使用,這也會(huì)提升Python語(yǔ)言的開發(fā)效率。
第二:資源整合能力強(qiáng)。Python語(yǔ)言的資源整合能力是比較強(qiáng)的,所以Python語(yǔ)言也被稱為“膠水語(yǔ)言”,通過(guò)Python可以完成大量場(chǎng)景的開發(fā)。另外,Python語(yǔ)言目前的應(yīng)用領(lǐng)域也比較廣泛,語(yǔ)言生態(tài)也比較健全。
第三:大數(shù)據(jù)和人工智能領(lǐng)域的應(yīng)用。Python語(yǔ)言早期一直應(yīng)用在Web開發(fā)領(lǐng)域,推出市場(chǎng)的時(shí)間與Java也比較接近,真正讓Python獲得快速發(fā)展的原因是大數(shù)據(jù)和人工智能的推動(dòng)。隨著大數(shù)據(jù)和人工智能的逐漸落地應(yīng)用,未來(lái)Python的發(fā)展前景還是非常值得期待的。
從近些年來(lái)的發(fā)展趨勢(shì)來(lái)看,Python語(yǔ)言的上升趨勢(shì)非常明顯,與Python的上升趨勢(shì)形成鮮明對(duì)比的就是Java的下降趨勢(shì)。另外,Go語(yǔ)言與JavaScript的廣泛應(yīng)用也對(duì)Java構(gòu)成了一定的影響,所以從長(zhǎng)遠(yuǎn)發(fā)展的角度來(lái)看,Python更具優(yōu)勢(shì)。
最后,程序員似乎更喜歡Python語(yǔ)言。
我從事互聯(lián)網(wǎng)行業(yè)多年,目前也在帶計(jì)算機(jī)專業(yè)的研究生,主要的研究方向集中在大數(shù)據(jù)和人工智能領(lǐng)域,我會(huì)陸續(xù)寫一些關(guān)于互聯(lián)網(wǎng)技術(shù)方面的文章,感興趣的朋友可以關(guān)注我,相信一定會(huì)有所收獲。
如果有互聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能等方面的問(wèn)題,或者是考研方面的問(wèn)題,都可以在評(píng)論區(qū)留言!
由于工作需要,接觸過(guò)兩門語(yǔ)言,下面是筆者的一些見解,如有錯(cuò)誤,歡迎指正。
Java是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程。
Python是一種跨平臺(tái)的計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言。是一種面向?qū)ο蟮膭?dòng)態(tài)類型語(yǔ)言,最初被設(shè)計(jì)用于編寫自動(dòng)化腳本(shell),隨著版本的不斷更新和語(yǔ)言新功能的添加,越多被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
java和python是當(dāng)前較火的兩種語(yǔ)言,也是當(dāng)下應(yīng)用比較廣泛的兩種語(yǔ)言。這里列出了來(lái)自兩種語(yǔ)言來(lái)自TIOBE的趨勢(shì)統(tǒng)計(jì)圖。
綜上:java排名第一,應(yīng)用范圍廣,用戶量大,整體上趨于平穩(wěn)態(tài)勢(shì);python排名第三,近年來(lái)呈現(xiàn)上升趨勢(shì)。
java應(yīng)用領(lǐng)域:
Android應(yīng)用
服務(wù)器程序
網(wǎng)站領(lǐng)域
軟件工具
J2ME系統(tǒng)
嵌入式領(lǐng)域
大數(shù)據(jù)技術(shù)
科學(xué)領(lǐng)域
ptyon應(yīng)用領(lǐng)域:
綜上,兩門技術(shù)既有交叉,又各有側(cè)重。java是行業(yè)經(jīng)典,成熟穩(wěn)定;pyton是后起之秀,潛力無(wú)限。如果題主注重現(xiàn)階段的技術(shù)應(yīng)用,從事軟件開發(fā),網(wǎng)站開發(fā),系統(tǒng)開發(fā)等相關(guān)行業(yè)的話,建議學(xué)習(xí)java。如果注重將來(lái)的新技術(shù)開發(fā),從事大數(shù)據(jù)分析,爬蟲,人工智能等相關(guān)行業(yè)的話,建議學(xué)習(xí)python。
謝謝邀請(qǐng)!
作為開發(fā)者多年,其實(shí)對(duì)待此問(wèn)題上還真是有點(diǎn)自己的看法:
首先我們來(lái)談?wù)刯ava:
java穩(wěn)定這多年,一直是前三,一個(gè)是java本身框架的穩(wěn)定性,另外一個(gè)來(lái)源于開源免費(fèi)與Oracle服務(wù)收費(fèi)對(duì)抗。今年1月份,Oracle實(shí)行對(duì)java 8以上升級(jí)服務(wù)收費(fèi),這造成了很多java程序員的恐慌。實(shí)際上,java本身服務(wù)收費(fèi),體現(xiàn)出Oracle公司對(duì)java 的生態(tài)重視。然而30多年來(lái)的免費(fèi)機(jī)制,原SUN公司埋下的開源枝脈的種子,以及java之父詹姆斯對(duì)開源的熱衷與將java生態(tài)商業(yè)化的Oracle形成鮮明對(duì)比。這讓一直在此環(huán)境下工作的程序員們甚為惡心Oracle公司的做法,以至于現(xiàn)在java11都上了,但是我們依舊使用java 8來(lái)工作。
于是我估計(jì)以后的以后,java 語(yǔ)言升級(jí)對(duì)我們整體java程序員影響不大,畢竟openjdk沿用的還是java 8版本,除非開源版本再次更新?lián)Q代升級(jí),才用得上更新的java版本。
所以我判斷java以后的發(fā)展趨勢(shì):平穩(wěn),流失少,新框架穩(wěn)定性高,不能帶動(dòng)整個(gè)行業(yè)高速發(fā)展,但是能夠穩(wěn)固整個(gè)業(yè)內(nèi)的基本工作環(huán)境。也就是說(shuō),java程序員不會(huì)突然大規(guī)模流失,但是java程序員在java的發(fā)展方向可能不會(huì)多樣。
接下來(lái)我們來(lái)談?wù)刾ython:
python之所以這么厲害,最近幾年迅猛發(fā)展,是在于它語(yǔ)言本身好學(xué)易上手,支持語(yǔ)言的粘性高,擴(kuò)展庫(kù)的新特性在業(yè)界得到很多程序員們認(rèn)可。在處理小規(guī)模運(yùn)算和體量不大的情況下,python 能直接通過(guò) python call 的特性驅(qū)動(dòng)C/C++代碼,來(lái)完成api 庫(kù)的調(diào)用,然而銜接python call可以幾乎使用任何語(yǔ)言(參考dart engine)。也就是說(shuō)python 作為其他語(yǔ)言與C/C++的溝通翻譯器,所以它在底層腳本上的作用比較大,也帶火了其他語(yǔ)言,比如現(xiàn)在比較火的dart , nodejs 等。
在人工智能上,python更是玩的如魚得水,就拿谷歌的tensorflow框架來(lái)談tf-lite ,tf-swift, tf-node 等等針對(duì)底層訓(xùn)練,基本上都是tf自己的python框架來(lái)實(shí)現(xiàn)的。所以python的作用顯而易見。
于是我判斷python未來(lái)的發(fā)展趨勢(shì):帶領(lǐng)各類語(yǔ)言異軍突起,爆發(fā)式搶占編程的各種市場(chǎng),無(wú)論從人工智能,大數(shù)據(jù),甚至是區(qū)塊鏈技術(shù),都會(huì)有它的影子,甚至在未來(lái)某個(gè)平臺(tái)開發(fā)的新的語(yǔ)言上,都有python代碼做補(bǔ)足。所以python未來(lái)很吃香,發(fā)展也是優(yōu)勢(shì)明顯,但是對(duì)程序員要求很高,因?yàn)槟悴荒苤粫?huì)python!
結(jié)論就是:java日趨下降只是大多數(shù)開發(fā)者對(duì)Oracle商業(yè)化態(tài)度的不滿,它的穩(wěn)定足以讓它還能在編程語(yǔ)言中占領(lǐng)最為重要的一個(gè)位置;python 的爆發(fā)是所有其他語(yǔ)言對(duì)C/C++,對(duì)底層硬件的喊話,它的粘性讓它能夠持久長(zhǎng)青。兩者未來(lái)發(fā)展都會(huì)比較好!
我是一名架構(gòu)師,更確切的說(shuō),我是一名Java的架構(gòu)師。雖然如此,但不要以為我是來(lái)為java加油助威的,我希望理想的分析一下這個(gè)問(wèn)題。
python本人用過(guò)一段時(shí)間,做一個(gè)web項(xiàng)目,使用了python的2.7版本。就是用體驗(yàn)上來(lái)說(shuō),python非常的簡(jiǎn)潔,是一個(gè)非常好的語(yǔ)言。但目前來(lái)看,市場(chǎng)上用python做web開發(fā)的并不多,更多的應(yīng)用場(chǎng)景是AI。這是一個(gè)比較新的技術(shù),本人接觸比較少,但大家都知道,AI面向未來(lái)的,是非常具有發(fā)展?jié)摿Φ募夹g(shù)。既然python搭上了AI這個(gè)順風(fēng)車,它未來(lái)的前景必然不容小覷,前途一片光明。
再來(lái)說(shuō)一下Java,使用范圍廣是Java的一大優(yōu)勢(shì)。目前市場(chǎng)上做互聯(lián)網(wǎng)、企業(yè)級(jí)應(yīng)用的Web項(xiàng)目,Java的普及率非常高。招聘市場(chǎng)上,java工程師也是最容易招聘到的。這很容易就形成了一個(gè)正向的激勵(lì),java的市場(chǎng)占有率越來(lái)越高。
java能用來(lái)干什么呢?Web開發(fā)使其強(qiáng)項(xiàng),尤其對(duì)于復(fù)雜的業(yè)務(wù)系統(tǒng)。面向?qū)ο蟮木幊棠J?,?qiáng)類型的語(yǔ)言,這些特點(diǎn)都保證了java編寫程序的可維護(hù)性比較好。另外,Android編程也是基于java的,目前google已經(jīng)把kotlin作為安卓開發(fā)的推薦語(yǔ)言了。但是,如果你學(xué)會(huì)了java,kotlin這一類基于jvm的語(yǔ)言再去學(xué)習(xí),就手到擒來(lái)極其簡(jiǎn)單了。
再來(lái)說(shuō)下java的發(fā)展,jdk6以前的java,以期“古板的語(yǔ)法”著稱,這也是它嚴(yán)謹(jǐn)?shù)脑O(shè)計(jì)哲學(xué)決定的。但是后來(lái)版本的更迭,支持了更多動(dòng)態(tài)語(yǔ)言的特性,例如:stream,關(guān)鍵字var等等。java變的越來(lái)越現(xiàn)代化,很多script語(yǔ)言的開發(fā)者也可以找到他們熟悉的東西了但這是一個(gè)雙刃劍,在開發(fā)中,工程師們用大量的stream等等“怪異”的語(yǔ)法,會(huì)使得程序可維護(hù)性變差。
任何事物都是向前發(fā)展的,編程語(yǔ)言也一樣。不能武斷的判斷哪個(gè)發(fā)展前景大。根據(jù)行業(yè)背景、知識(shí)儲(chǔ)備等等,選擇合適的語(yǔ)言去學(xué)習(xí)才是關(guān)鍵,合適的才是最好的!
持續(xù)更新IT互聯(lián)網(wǎng)相關(guān)的技術(shù)干貨,歡迎關(guān)注我。
如果以就業(yè)為導(dǎo)向的話,當(dāng)然首選Java了。Python更多的是以一種輔助性語(yǔ)言生存!
我們先來(lái)看看企業(yè)的需求。為防止某些二線城市數(shù)據(jù)具有特例性,我們以IT業(yè)比較發(fā)達(dá)的北京的市場(chǎng)需求為例,看看在拉勾上的投遞量。
從下圖我們可以清楚的看到,Java的崗位需求是500+
反觀Python呢?只有260個(gè)崗位需求。這對(duì)比結(jié)果不言而喻了吧!
下面說(shuō)說(shuō)我推薦Java的兩點(diǎn)理由:
行業(yè)變化:Java仍然是主流,且會(huì)持續(xù)非常長(zhǎng)的時(shí)間,大約你退休估計(jì)還會(huì)是主流。py這幾年上升的原因是AI。
外部需求:目前兩種類型的職位都比較多,java就業(yè)領(lǐng)域更多,py相對(duì)比較窄。不要說(shuō)只要學(xué)得好,什么都可以做。每種語(yǔ)言都有各自的試用范圍,企業(yè)在做語(yǔ)言選擇也會(huì)考慮從業(yè)人員數(shù)量,招聘成本等等。
當(dāng)然,語(yǔ)言永遠(yuǎn)只是工具,當(dāng)你學(xué)會(huì)了Java,不阻擋你繼續(xù)掌握Python,記住合適的永遠(yuǎn)是最好的。
選擇Java,不用再學(xué)其他的。
并不是說(shuō)其他的語(yǔ)言并不要學(xué),倒騰linux需要shell,倒騰前段需要JS,后來(lái)又做數(shù)據(jù)分析項(xiàng)目學(xué)了groovy,在上海做FLEX開發(fā)學(xué)了 actionscript,最近幾年學(xué)領(lǐng)導(dǎo)公司的大數(shù)據(jù)項(xiàng)目寫的更多的是scala的代碼,倒騰spark嘛,公司的爬蟲也用了Python..
要你學(xué)JAVA是因?yàn)镴AVA不缺資源,有大把學(xué)習(xí)資料,視頻、書籍等,java學(xué)出來(lái)不怕找不到工作。重點(diǎn)是讓你盡快進(jìn)入到軟件編程的行業(yè)來(lái),培養(yǎng)自己的信心,解決問(wèn)題的能力,千萬(wàn)不要以為你學(xué)了java以后就只從事java..
你需要掌握的是學(xué)習(xí)的能力,掌握知識(shí)的方法,刻苦努力把一門語(yǔ)言學(xué)好了,精通了其他的都好觸類旁通,學(xué)好了一門語(yǔ)言,學(xué)其他的語(yǔ)言都不是問(wèn)題了。
千萬(wàn)別什么都想學(xué),尤其是剛?cè)腴T的時(shí)候,把java吃透,再學(xué)Python真的很容易。看一兩天資料完全能上手了。
認(rèn)準(zhǔn)的目標(biāo)好好的去學(xué),勤加練習(xí),不要在這選Java還是Python費(fèi)太多的精力,選哪個(gè)都行,關(guān)鍵是多寫代碼,努力努力再努力
希望我的回答能幫助到你!
單純的去對(duì)比Python和Java這兩門編程語(yǔ)言是沒(méi)有意義的,Python和Java都是非常優(yōu)秀的編程語(yǔ)言且應(yīng)用領(lǐng)域也都非常廣泛。不管是GUI開發(fā)、web開發(fā)、游戲開發(fā),Python和Java都可以完成。
隨著大數(shù)據(jù)和人工智能領(lǐng)域的興起和發(fā)展,Python在人工智能領(lǐng)域更受喜歡,Java在大數(shù)據(jù)領(lǐng)域更受喜歡。這兩個(gè)發(fā)展方向都是非常有前途的,目前來(lái)看,人工智能領(lǐng)域的要求會(huì)更高一點(diǎn),尤其是學(xué)歷上的要求,一般都得碩士以上學(xué)歷。
綜上所述,不論是從編程語(yǔ)言還是從各自的應(yīng)用領(lǐng)域來(lái)看,Python和Java的發(fā)展前景都不錯(cuò),可以根據(jù)你自身的實(shí)際情況來(lái)決定選擇哪一個(gè)。
我是雪鹿,是一名科技領(lǐng)域創(chuàng)作者,希望我的回答可以對(duì)你有幫助。
很巧的看到了這個(gè)問(wèn)題,前一陣一個(gè)朋友也問(wèn)了我這個(gè)問(wèn)題,他自己也看了這一塊的對(duì)比,我就我們的商量結(jié)果給一個(gè)總結(jié)。
語(yǔ)言方面,沒(méi)有哪個(gè)有前途,好就業(yè)之分,因?yàn)榧夹g(shù)類行業(yè),你技術(shù)牛,那就是有前途,大家紛紛搶你。
第一看市場(chǎng)的缺口,可以看看網(wǎng)上的招聘信息,JAVA的價(jià)格和Python的價(jià)格進(jìn)行對(duì)比,這里不是說(shuō)JAVA差,因?yàn)镴AVA也是比較簡(jiǎn)單易學(xué)的,并且開發(fā)方便。起步是比Python早很多的,所以現(xiàn)在從事JAVA的工作者很多,有供大于求的趨勢(shì)。以前我一個(gè)朋友,他軟件專業(yè)的,一個(gè)班畢業(yè)后,80%的人從事JAVA工作了。
第二看門檻要求,JAVA語(yǔ)言的應(yīng)用范圍比較廣,嵌入式,軟件開發(fā),APP都可以用到,后面選擇的路可以有很多,語(yǔ)言也比較易學(xué)。當(dāng)然Python在大數(shù)據(jù)分析,爬蟲,人工智能方面比較出色??偨Y(jié)來(lái)說(shuō),JAVA更偏向于大眾化的開發(fā),比較基本性,但是必不可少。Python偏向于數(shù)據(jù)分析之類,人工智能類發(fā)展。這就是為什么Python對(duì)學(xué)歷要求高一些的原因。
PHP是世界上最好的語(yǔ)言
0
回答3
回答0
回答10
回答0
回答0
回答0
回答10
回答10
回答3
回答