謝謝邀請(qǐng)!
從當(dāng)前IT行業(yè)整體的崗位需求來看,Python開發(fā)與前端開發(fā)都有大量的需求。Python開發(fā)涉及到Web開發(fā)、大數(shù)據(jù)開發(fā)、人工智能開發(fā)和嵌入式開發(fā)等領(lǐng)域,而前端開發(fā)也涉及到PC端、移動(dòng)端和各種嵌入式終端。Python開發(fā)和前端開發(fā)更像是一種合作關(guān)系,所以這兩個(gè)方向的程序員在就業(yè)方面難分伯仲。
從應(yīng)用的角度來看,Python開發(fā)和前端開發(fā)所涉及到的領(lǐng)域還是有較為明顯的區(qū)別,在知識(shí)結(jié)構(gòu)上也有較為明顯的差別。對(duì)于學(xué)習(xí)者來說,在選擇具體的技術(shù)時(shí)一定要結(jié)合自身的知識(shí)結(jié)構(gòu),否則在就業(yè)的時(shí)候就會(huì)有一定的問題。
如果要學(xué)習(xí)Python往大數(shù)據(jù)方向發(fā)展,那么要具備一定的數(shù)學(xué)基礎(chǔ),無論是做大數(shù)據(jù)應(yīng)用開發(fā)還是做大數(shù)據(jù)分析,數(shù)學(xué)都是大數(shù)據(jù)方向一個(gè)重要的基礎(chǔ)。目前采用Python做算法實(shí)現(xiàn)是一個(gè)比較流行的做法,無論是做傳統(tǒng)數(shù)據(jù)分析還是采用機(jī)器學(xué)習(xí)的方式,Python都能提供一個(gè)較為方便的實(shí)現(xiàn)途徑,這主要得益于Python有較為豐富的庫支持(Numpy、Scipy、Matplotlib等)。
對(duì)于前端開發(fā)來說,需要學(xué)習(xí)的內(nèi)容也并不少,雖然前端開發(fā)往往對(duì)數(shù)學(xué)基礎(chǔ)的要求沒有那么多,但是前端開發(fā)的內(nèi)容細(xì)節(jié)卻非常的多和雜,尤其是JavaScript語言,不僅內(nèi)容多而且也具備一定的難度,需要做大量的實(shí)驗(yàn)才能慢慢掌握。
總之,選擇Python也好,選擇前端也罷,實(shí)際的掌握情況將決定是否能夠順利的找到工作。
從行業(yè)發(fā)展的角度來看,隨著大數(shù)據(jù)的逐漸落地,在大數(shù)據(jù)領(lǐng)域也許會(huì)爆發(fā)出大量的人才需求,尤其是大數(shù)據(jù)分析崗位,從這個(gè)角度來看,選擇Python或許面臨的競(jìng)爭(zhēng)壓力會(huì)更小一些。
作者簡介:中國科學(xué)院大學(xué)計(jì)算機(jī)專業(yè)研究生導(dǎo)師,從事IT行業(yè)多年,研究方向包括動(dòng)態(tài)軟件體系結(jié)構(gòu)、大數(shù)據(jù)、人工智能相關(guān)領(lǐng)域,有多年的一線研發(fā)經(jīng)驗(yàn)。
歡迎關(guān)注作者,歡迎咨詢計(jì)算機(jī)相關(guān)問題。
你這個(gè)問題太籠統(tǒng),先籠統(tǒng)給你回答一下吧。不管前端還是后端,不管你怎么學(xué),你的目標(biāo)是要把事情做好,只要你事情做好了,難學(xué)好學(xué),都不是問題。
先說說前端,前端現(xiàn)在比較流行的技術(shù),網(wǎng)頁這邊三種比較流行的單頁應(yīng)用程序。手機(jī)這邊安卓和蘋果的平臺(tái)。選擇哪種語言?看你自己的基礎(chǔ)。
網(wǎng)頁這邊比較流行的語言像type script,JavaScript,然后是樣式編程,這些都需要了解。
安卓手機(jī)這邊,你要懂Java,你還要懂kotlin。你還要學(xué)習(xí)最新的安卓SDK的一些新的功能。也要會(huì)布局設(shè)計(jì)。
蘋果手機(jī)這邊,你要懂objective c 和 Swift。還要懂得自適應(yīng)的布局編程。
后臺(tái)這邊的技術(shù)。也是看你的基礎(chǔ),目前比較流行的有這么幾種:
nodejs, 主要使用JavaScript來編程。現(xiàn)在很多區(qū)塊鏈的一些項(xiàng)目都是用node js寫的。如果你在做區(qū)塊鏈項(xiàng)目的話,你可能會(huì)選擇node js。
spring boot, 這種技術(shù)主要是用Java來編程。你如果對(duì)Java比較熟,那肯定要先從這個(gè)開始。
dot net core, 這個(gè)技術(shù)呢,是用c sharp。如果比較喜歡用微軟的技術(shù),這一個(gè)是非常好的選擇。經(jīng)過這么多年的發(fā)展這門技術(shù)已經(jīng)很成熟了。
ruby on rails, 這門技術(shù)可以同時(shí)寫前端和后端,這個(gè)不是單頁應(yīng)用程序架構(gòu)。但是呢,也可以提供rest API。
php laravel, 這個(gè)架構(gòu)可以說讓快要死去的PHP又復(fù)活了。用這個(gè)架構(gòu)也可以同時(shí)寫前端后端。也可以提供rest API。
golang, 這一門語言非常好。雖然不是面向?qū)ο缶幊痰恼Z言,跟c語言很類似,是結(jié)構(gòu)化編程的語言,但是它的功能很強(qiáng)大,完全可以提供后臺(tái)編程上對(duì)于性能上的需求。
python, 這也是一個(gè)比較熱門的后臺(tái)編程語言。如果對(duì)于數(shù)據(jù)挖掘,大數(shù)據(jù)處理需求很大的話,這也是一門,必須要掌握的語言。
對(duì)于后臺(tái)編程來說,另一部分比較重要的就是數(shù)據(jù)庫方面的知識(shí)。數(shù)據(jù)庫呢,主要分兩種,一種是關(guān)系型數(shù)據(jù)庫,一種是非關(guān)系型數(shù)據(jù)庫。
像關(guān)系型數(shù)據(jù)庫,比如說oracle,mySQL,sql,server,postgres等等。
非關(guān)系型數(shù)據(jù)庫,比如mongo db 等。
回到問題本身, 比如說到此為止,你了解了你想選哪一種前臺(tái)技術(shù),哪一種后臺(tái)技術(shù)。
結(jié)合你自身的基礎(chǔ), 你就可以清楚的知道, 哪一部分前端技術(shù)對(duì)你來說比較容易或者比較難,然后哪一部分后端技術(shù)對(duì)你來說比較容易或者比較難。
我相信對(duì)于每個(gè)程序員來說,不管初學(xué)者還是資深技術(shù)人士,答案都會(huì)有所不同。
還有一個(gè)我們做程序,很重要的一點(diǎn)就是,我們正在開發(fā)的這個(gè)項(xiàng)目到底需要什么技術(shù)?
如果項(xiàng)目需要的話,那門技術(shù)我們必須要掌握的話,那就不管是容易還是困難,一定要把它攻克掉。
多學(xué)一門技術(shù),心里總會(huì)很開心的。
好啦,先說這么多,歡迎關(guān)注丁哥開講,謝謝。
Web前端和Java后端哪個(gè)就業(yè)面更廣,這個(gè)問題要從兩方面去說:
(1)、首先來說,Web前端和Java后端專注的點(diǎn)不同,只要技能上做到專精,就業(yè)面、崗位量都差不多、薪資上其實(shí)也差不了多少。當(dāng)然了,這里說的是兩者在各自領(lǐng)域上要做到“專精”;
(2)、但就目前國內(nèi)互聯(lián)網(wǎng)態(tài)勢(shì)和崗位需求量上來說,Java后端更吃香,為什么?我們要明白一點(diǎn),Web前端比Java后端入門上手要容易得多,所以Web前端學(xué)習(xí)人數(shù)上是比Java后端人數(shù)要多得多,但是也因?yàn)樯鲜窒鄬?duì)簡單、門檻相對(duì)較低,所以同質(zhì)化嚴(yán)重。你會(huì)的別人也會(huì),你5年經(jīng)驗(yàn)可能和別人2年經(jīng)驗(yàn)做出來的東西差不多,自然崗位競(jìng)爭(zhēng)大、薪資也很難提升。
另外一方面,當(dāng)前現(xiàn)狀是后端開發(fā)者基本上都掌握Web前端知識(shí)(這里說的是B/S類后端開發(fā)者,而非C/S類開發(fā)者),所以Java后端的就業(yè)渠道比Web前端要好、薪資也相對(duì)于Web前端要高,這是正常現(xiàn)象。
最后,地域其實(shí)差別不大,在沈陽前端和開發(fā)是什么樣的差別,在北上廣深杭其實(shí)也一樣。
綜上,個(gè)人給的建議是考慮Java開發(fā),技術(shù)之路會(huì)走得更遠(yuǎn)。我從10年做開發(fā)做到19年,興趣也很重要,加油 ~