【互聯(lián)網(wǎng)入行指南】主流的編程語言介紹,編程語言的選擇。
時間:2023-05-25 17:09:01 | 來源:網(wǎng)站運營
時間:2023-05-25 17:09:01 來源:網(wǎng)站運營
【互聯(lián)網(wǎng)入行指南】主流的編程語言介紹,編程語言的選擇。:上篇給大家說了互聯(lián)網(wǎng)的崗位,這篇文章給大家講講主流的編程語言都是做什么的。
前言:
編程語言本身沒有優(yōu)劣之分,不同的語言適合不同的場景,文中說的建議,多是站在小白要就業(yè)的立場給出的建議。
正文
我們看這張導圖,這張圖右側(cè)是前端類的語言,左側(cè)是服務端的語言:
我們先說右側(cè)。
第一個就是JavaScript,簡稱JS。
我強調(diào)下他和JAVA是沒有關(guān)系的,只是名字類似。
他的用途是前端開發(fā),他負責網(wǎng)頁上的交互事件和交互數(shù)據(jù),比如你在界面上做了點擊滑動的操作,這都是JS負責的,你能在界面上看到文章、視頻等數(shù)據(jù),比如在本站你能看到推薦的文章(數(shù)據(jù)),這也是JS負責的(通過ajax調(diào)用后端接口獲?。?br>
建議:你要做前端,那只有這一門語言能選擇,屬于必選項,JS占了前端很大的比重,說白了做前端開發(fā)就是在搞JS。
第二個和第三個都是原生app的開發(fā)語言
我對這兩個的建議就是
不建議作為入行語言,因為app開發(fā)分原生和混合:
原生開發(fā)擁有更好的流暢度,更豐富的動畫,但是一套app要分兩個版本,要兩組不同的人來維護。
而混合開發(fā)就是前端來做的,不需要分兩組,這幾年混合開發(fā)也在進步,考慮到成本問題,中小公司或者說這個項目沒有很高的要求,那一般會采用混合開發(fā)的方案。
所以說如果你是已經(jīng)在做安卓或者ios的,可以根據(jù)情況來斟酌,但作為想入行的小白,不建議以這兩個語言入門。
我們再看這張圖左邊的語言。這邊都是后端類的語言。
Node.js
node.js,用途一般是后端開發(fā),他其實就是JS,只是node.JS多了操作文件和數(shù)據(jù)庫的語法,所以可以做后端,但是真用它做后端的公司很少很少。不適合作為第一門語言學,一般是做前端之后,把它作為了解后端的跳板。
PHP
PHP,用途也是web后端開發(fā),他還有個頭銜是——“世界上最好的語言”。
不過以現(xiàn)在來說,這個世界上最好的語言可以說大勢已去~
PHP在互聯(lián)網(wǎng)初期因為其輕量和快捷,適合中小型應用,再加上易學,所以在以前的互聯(lián)網(wǎng)很有統(tǒng)治地位,后來前后端分離了,公司也慢慢成熟,面對性能等問題其他語言有更好的解決方案,所以公司大多舍棄了php,到了現(xiàn)在就算是初創(chuàng)公司做web后端的項目適合用php,但是出于跟風或者為了拉投資畫餅,以及招人成本,也會選擇其他語言。
我認識的在一線工作的php程序員基本都轉(zhuǎn)前端、轉(zhuǎn)GO或者JAVA了,二線做Php還有在堅持的,新手不建議再從PHP入手,并不是它不好,語言沒有好壞之分,但是我們要考慮到我們要就業(yè)的事實。
Python
應該很多人在網(wǎng)上看過Python的廣告吧,比如9.9學Python,下班早等。狗頭.jpg
它的用途服務器開發(fā),數(shù)據(jù)相關(guān)工作(采集分析,機器學習)。python語法簡單易學,插件豐富,作為工具確實會方便很多人的日常工作。
如果你是以學習為目的,可以把python當成第一門語言,因為更容易上手,能做的事兒也多,會體會到編程的趣味性,從而更積極的學習編程。
如果你是小白,以找工作為目的,我不建議你把python當成第一門語言。因為python的主力還是人工智能、數(shù)據(jù)處理這一塊,而這一塊對數(shù)學是有要求的。
雖然Python還能做后端啊,比如本站和豆瓣的后端就是python,但是以后端來說python的就業(yè)崗位是遜于java的。
當然也有可能你搜Python你還會說,老師這python崗位數(shù)量也不少啊。
那是因為做數(shù)據(jù)相關(guān)的、做測試時候也需要懂python,招聘網(wǎng)站會把這些統(tǒng)計到Python工程師之下,這樣來說就多了。
總得來說,你以學習為目的,以python為第一語言不會讓你自閉,因為他語法簡單,插件豐富的特點,能讓你學的輕松,并且能快速實現(xiàn)一些東西,讓你感受到編程的魅力,但是如果以工作為目的選擇第一語言,我不會把這一票投給python。
golang
新晉的寵兒——golang,說他新晉也不準確,他出來也有10年多了,只是相對其它語言比較年輕。
他的領(lǐng)域也是后端開發(fā),對GO的建議嘛 emmm...
我個人認為,小白以找工作為目的,不適合把GO當成第一門語言。
因為同樣是服務端開發(fā),GO的生態(tài)和市場占有率不如JAVA,而且go主要集中在一線大廠,并不是每個人都有資格進一線大廠,而且中小公司在技術(shù)選擇上肯定是愿意用JAVA而不是GO,
一來JAVA的生態(tài)足夠豐富,二來員工容易招。所以我不建議把GO當成入門第一語言。
當然如果你學歷好,對自己的成長有規(guī)劃,或者目前還是大學階段不著急找工作,也可以選擇GO。
如果你只是一般學歷,就要面臨就業(yè)還沒有熟悉能用來工作的語言,我認為這種情況,隨大流更好。
Java
JAVA——后端第一語言,縱然現(xiàn)在存在內(nèi)卷嚴重,但是小白以找后端工作為目的的情況下,我認為JAVA仍然是不二選擇,因為生態(tài)足夠豐富,招聘需求大!
這幾年里有人說python會超過它,有人說go會取代它,可事實證明java還是那個java,還是那個后端一哥。
所以如果你面臨就業(yè)沒有能夠開發(fā)的語言,且又想做后端,你就學JAVA。
C語言
C是底層語言,能做操作系統(tǒng)、嵌入式、網(wǎng)絡安全,但是不是學會了C你就會以上的事情,C只是一個工具,你還要搭配相應的知識與工具。比如你想做嵌入式,你還需要了解數(shù)字電路、模擬電路、linux等
建議:C語言能夠讓你更加深刻的認識內(nèi)存和編譯原理,還有程序思想,數(shù)據(jù)結(jié)構(gòu),了解程序的每一個細節(jié),夯實基本功,所以優(yōu)秀的程序員都會學習C語言。但多數(shù)程序員的開發(fā)語言不是它,因為它偏向底層,而多數(shù)程序員做的事情偏應用層。
所以你不會C語言你也能做程序員,計算機也分層,就像你開車并不需要會修車一樣,只是C語言能讓你讓你了解的足夠深,能讓你有希望在技術(shù)道路上走的更長遠。
C++
C++也是偏底層的語言,用途:桌面軟件開發(fā)、游戲開發(fā)。
建議:其實建議和C語言差不多,C++崗位不多但是精,不少大廠需要性能的業(yè)務是由C++來做,比如微軟、字節(jié)的廣告系統(tǒng)都是C++來做的。
如果你是本專業(yè)的大一,學C、C++這類偏底層的語言,是能夠打好你的基本功的;
如果你面臨就業(yè),還是選擇JAVA、或者前端更合適。
C和C++也是院校計算機專業(yè)基本都教的,雖然工作可能用不上,但是學的是程序思想和數(shù)據(jù)結(jié)構(gòu),你可以理解打好基本功。
C#
最后一個,C#,這個我了解的不多,我去招聘軟件上看了看,它的崗位主要分布在游戲開發(fā)、后臺、工具開發(fā)等方面。
建議:C#在國內(nèi)就業(yè)市場確實行情不佳,在unity 3D上比較有發(fā)展前景,其他領(lǐng)域前景不明。
C#還經(jīng)常和.net連在一起,不過.net不是編程語言,嚴格來說.net是一個平臺,支持很多語言,C#是支持的最好的,所以在大多數(shù)語境下,.net工程師等于C#工程師。
總結(jié):
如果你是零基礎(chǔ)要就業(yè)的情況下,前端方向肯定是JS(唯一的選擇),后端方向最建議JAVA。
如果你在學校以學習為目的,把學校教的基本功打好,然后從Python、JS、java選擇一個來學習,在我看來從Python或者JAVA選擇了一個,然后JS基本也不會繞過去,因為你做了個工具,你肯定還想展示出來嘛,展示的事兒就是前端就需要用到JS了。
其實我也很建議大家大學時候就開始自學,時間多,做出小工具后的成就感能讓你繼續(xù)學下去,很有可能你大學幾年能把前端后端(其中一門語言)都學會,再搭配良好的計科基礎(chǔ)知識,很有希望進大廠,就算進不去大廠,那這個時候的你也不會為找不到工作發(fā)愁。
相反,如果你大學沒有自學,那你就算是計算機專業(yè),你畢業(yè)也基本找不到工作,別提什么實習,實習也是要的能干活的,大多數(shù)計算機專業(yè)的同學自己到底幾斤幾兩能不能干活心里都應該有數(shù)吧。(狗頭保命)
到時候只能參加培訓,進入大廠的機會減少(因為失去了校招),而且還要交錢學習,不過你如果真的錯過了大學自學,到了畢業(yè)才開始學,那培訓反而成了性價比高的選擇了。
下篇文章會說下自學還是培訓,如果你想入行互聯(lián)網(wǎng)的人,歡迎關(guān)注我哦~。